package schema import ( "entgo.io/ent" "entgo.io/ent/schema/edge" "entgo.io/ent/schema/field" "time" ) // Mailbox holds the schema definition for the Mailbox entity. type Mailbox struct { ent.Schema } // Fields of the Mailbox. func (Mailbox) Fields() []ent.Field { return []ent.Field{ field.Int64("id"), field.Bool("active"), field.Time("created").Default(time.Now).Immutable(), field.Time("modified").Default(time.Now).UpdateDefault(time.Now).Nillable().Optional(), field.Int64("domain_id").Optional(), field.String("username"), field.Bytes("password"), field.String("name").Nillable().Optional(), field.Int64("quota"), field.String("local_part"), field.String("homedir").Nillable().Optional(), field.String("maildir").Nillable().Optional(), field.Int32("uid").Nillable().Optional(), field.Int32("gid").Nillable().Optional(), } } // Edges of the Mailbox. func (Mailbox) Edges() []ent.Edge { return []ent.Edge{ edge.From("domain", Domain.Type).Ref("mailboxes").Field("domain_id").Unique(), } }