package schema import ( "entgo.io/ent" "entgo.io/ent/schema/edge" "entgo.io/ent/schema/field" "time" ) // Domain holds the schema definition for the Domain entity. type Domain struct { ent.Schema } // Fields of the Domain. func (Domain) Fields() []ent.Field { return []ent.Field{ field.Int64("id"), field.Time("created").Default(time.Now).Immutable(), field.Time("modified").Default(time.Now).UpdateDefault(time.Now).Nillable().Optional(), field.String("domain"), field.String("description").Nillable().Optional(), field.Int64("max_aliases"), field.Int64("max_mailboxes"), field.Int64("max_quota"), field.Int64("quota"), field.String("transport"), field.Bool("backup_mx"), field.Bool("active"), // field.String("homedir").Nillable().Optional(), // field.String("maildir").Nillable().Optional(), // field.Int32("uid").Nillable().Optional(), // field.Int32("gid").Nillable().Optional(), } } // Edges of the Domain. func (Domain) Edges() []ent.Edge { return []ent.Edge{ edge.To("mailboxes", Mailbox.Type), edge.To("aliases", Alias.Type), edge.To("logs", Logentry.Type), edge.From("accounts", Account.Type).Ref("domains"), } }