manager/ent/domain.go

285 lines
9.6 KiB
Go
Raw Normal View History

2022-04-08 21:26:25 +02:00
// Code generated by entc, DO NOT EDIT.
package ent
import (
"fmt"
"strings"
"time"
"code.icod.de/postfix/manager/ent/domain"
"entgo.io/ent/dialect/sql"
)
// Domain is the model entity for the Domain schema.
type Domain struct {
config `json:"-"`
// ID of the ent.
ID int64 `json:"id,omitempty"`
// Created holds the value of the "created" field.
Created time.Time `json:"created,omitempty"`
// Modified holds the value of the "modified" field.
Modified *time.Time `json:"modified,omitempty"`
// Domain holds the value of the "domain" field.
Domain string `json:"domain,omitempty"`
// Description holds the value of the "description" field.
Description *string `json:"description,omitempty"`
// MaxAliases holds the value of the "max_aliases" field.
MaxAliases int64 `json:"max_aliases,omitempty"`
// MaxMailboxes holds the value of the "max_mailboxes" field.
MaxMailboxes int64 `json:"max_mailboxes,omitempty"`
// MaxQuota holds the value of the "max_quota" field.
MaxQuota int64 `json:"max_quota,omitempty"`
// Quota holds the value of the "quota" field.
Quota int64 `json:"quota,omitempty"`
// Transport holds the value of the "transport" field.
Transport string `json:"transport,omitempty"`
// BackupMx holds the value of the "backup_mx" field.
BackupMx bool `json:"backup_mx,omitempty"`
// Active holds the value of the "active" field.
Active bool `json:"active,omitempty"`
// Edges holds the relations/edges for other nodes in the graph.
// The values are being populated by the DomainQuery when eager-loading is set.
Edges DomainEdges `json:"edges"`
}
// DomainEdges holds the relations/edges for other nodes in the graph.
type DomainEdges struct {
// Mailboxes holds the value of the mailboxes edge.
Mailboxes []*Mailbox `json:"mailboxes,omitempty"`
// Aliases holds the value of the aliases edge.
Aliases []*Alias `json:"aliases,omitempty"`
// Logs holds the value of the logs edge.
Logs []*Logentry `json:"logs,omitempty"`
// Accounts holds the value of the accounts edge.
Accounts []*Account `json:"accounts,omitempty"`
// loadedTypes holds the information for reporting if a
// type was loaded (or requested) in eager-loading or not.
loadedTypes [4]bool
}
// MailboxesOrErr returns the Mailboxes value or an error if the edge
// was not loaded in eager-loading.
func (e DomainEdges) MailboxesOrErr() ([]*Mailbox, error) {
if e.loadedTypes[0] {
return e.Mailboxes, nil
}
return nil, &NotLoadedError{edge: "mailboxes"}
}
// AliasesOrErr returns the Aliases value or an error if the edge
// was not loaded in eager-loading.
func (e DomainEdges) AliasesOrErr() ([]*Alias, error) {
if e.loadedTypes[1] {
return e.Aliases, nil
}
return nil, &NotLoadedError{edge: "aliases"}
}
// LogsOrErr returns the Logs value or an error if the edge
// was not loaded in eager-loading.
func (e DomainEdges) LogsOrErr() ([]*Logentry, error) {
if e.loadedTypes[2] {
return e.Logs, nil
}
return nil, &NotLoadedError{edge: "logs"}
}
// AccountsOrErr returns the Accounts value or an error if the edge
// was not loaded in eager-loading.
func (e DomainEdges) AccountsOrErr() ([]*Account, error) {
if e.loadedTypes[3] {
return e.Accounts, nil
}
return nil, &NotLoadedError{edge: "accounts"}
}
// scanValues returns the types for scanning values from sql.Rows.
func (*Domain) scanValues(columns []string) ([]interface{}, error) {
values := make([]interface{}, len(columns))
for i := range columns {
switch columns[i] {
case domain.FieldBackupMx, domain.FieldActive:
values[i] = new(sql.NullBool)
case domain.FieldID, domain.FieldMaxAliases, domain.FieldMaxMailboxes, domain.FieldMaxQuota, domain.FieldQuota:
values[i] = new(sql.NullInt64)
case domain.FieldDomain, domain.FieldDescription, domain.FieldTransport:
values[i] = new(sql.NullString)
case domain.FieldCreated, domain.FieldModified:
values[i] = new(sql.NullTime)
default:
return nil, fmt.Errorf("unexpected column %q for type Domain", columns[i])
}
}
return values, nil
}
// assignValues assigns the values that were returned from sql.Rows (after scanning)
// to the Domain fields.
func (d *Domain) assignValues(columns []string, values []interface{}) error {
if m, n := len(values), len(columns); m < n {
return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
}
for i := range columns {
switch columns[i] {
case domain.FieldID:
value, ok := values[i].(*sql.NullInt64)
if !ok {
return fmt.Errorf("unexpected type %T for field id", value)
}
d.ID = int64(value.Int64)
case domain.FieldCreated:
if value, ok := values[i].(*sql.NullTime); !ok {
return fmt.Errorf("unexpected type %T for field created", values[i])
} else if value.Valid {
d.Created = value.Time
}
case domain.FieldModified:
if value, ok := values[i].(*sql.NullTime); !ok {
return fmt.Errorf("unexpected type %T for field modified", values[i])
} else if value.Valid {
d.Modified = new(time.Time)
*d.Modified = value.Time
}
case domain.FieldDomain:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field domain", values[i])
} else if value.Valid {
d.Domain = value.String
}
case domain.FieldDescription:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field description", values[i])
} else if value.Valid {
d.Description = new(string)
*d.Description = value.String
}
case domain.FieldMaxAliases:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field max_aliases", values[i])
} else if value.Valid {
d.MaxAliases = value.Int64
}
case domain.FieldMaxMailboxes:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field max_mailboxes", values[i])
} else if value.Valid {
d.MaxMailboxes = value.Int64
}
case domain.FieldMaxQuota:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field max_quota", values[i])
} else if value.Valid {
d.MaxQuota = value.Int64
}
case domain.FieldQuota:
if value, ok := values[i].(*sql.NullInt64); !ok {
return fmt.Errorf("unexpected type %T for field quota", values[i])
} else if value.Valid {
d.Quota = value.Int64
}
case domain.FieldTransport:
if value, ok := values[i].(*sql.NullString); !ok {
return fmt.Errorf("unexpected type %T for field transport", values[i])
} else if value.Valid {
d.Transport = value.String
}
case domain.FieldBackupMx:
if value, ok := values[i].(*sql.NullBool); !ok {
return fmt.Errorf("unexpected type %T for field backup_mx", values[i])
} else if value.Valid {
d.BackupMx = value.Bool
}
case domain.FieldActive:
if value, ok := values[i].(*sql.NullBool); !ok {
return fmt.Errorf("unexpected type %T for field active", values[i])
} else if value.Valid {
d.Active = value.Bool
}
}
}
return nil
}
// QueryMailboxes queries the "mailboxes" edge of the Domain entity.
func (d *Domain) QueryMailboxes() *MailboxQuery {
return (&DomainClient{config: d.config}).QueryMailboxes(d)
}
// QueryAliases queries the "aliases" edge of the Domain entity.
func (d *Domain) QueryAliases() *AliasQuery {
return (&DomainClient{config: d.config}).QueryAliases(d)
}
// QueryLogs queries the "logs" edge of the Domain entity.
func (d *Domain) QueryLogs() *LogentryQuery {
return (&DomainClient{config: d.config}).QueryLogs(d)
}
// QueryAccounts queries the "accounts" edge of the Domain entity.
func (d *Domain) QueryAccounts() *AccountQuery {
return (&DomainClient{config: d.config}).QueryAccounts(d)
}
// Update returns a builder for updating this Domain.
// Note that you need to call Domain.Unwrap() before calling this method if this Domain
// was returned from a transaction, and the transaction was committed or rolled back.
func (d *Domain) Update() *DomainUpdateOne {
return (&DomainClient{config: d.config}).UpdateOne(d)
}
// Unwrap unwraps the Domain entity that was returned from a transaction after it was closed,
// so that all future queries will be executed through the driver which created the transaction.
func (d *Domain) Unwrap() *Domain {
tx, ok := d.config.driver.(*txDriver)
if !ok {
panic("ent: Domain is not a transactional entity")
}
d.config.driver = tx.drv
return d
}
// String implements the fmt.Stringer.
func (d *Domain) String() string {
var builder strings.Builder
builder.WriteString("Domain(")
builder.WriteString(fmt.Sprintf("id=%v", d.ID))
builder.WriteString(", created=")
builder.WriteString(d.Created.Format(time.ANSIC))
if v := d.Modified; v != nil {
builder.WriteString(", modified=")
builder.WriteString(v.Format(time.ANSIC))
}
builder.WriteString(", domain=")
builder.WriteString(d.Domain)
if v := d.Description; v != nil {
builder.WriteString(", description=")
builder.WriteString(*v)
}
builder.WriteString(", max_aliases=")
builder.WriteString(fmt.Sprintf("%v", d.MaxAliases))
builder.WriteString(", max_mailboxes=")
builder.WriteString(fmt.Sprintf("%v", d.MaxMailboxes))
builder.WriteString(", max_quota=")
builder.WriteString(fmt.Sprintf("%v", d.MaxQuota))
builder.WriteString(", quota=")
builder.WriteString(fmt.Sprintf("%v", d.Quota))
builder.WriteString(", transport=")
builder.WriteString(d.Transport)
builder.WriteString(", backup_mx=")
builder.WriteString(fmt.Sprintf("%v", d.BackupMx))
builder.WriteString(", active=")
builder.WriteString(fmt.Sprintf("%v", d.Active))
builder.WriteByte(')')
return builder.String()
}
// Domains is a parsable slice of Domain.
type Domains []*Domain
func (d Domains) config(cfg config) {
for _i := range d {
d[_i].config = cfg
}
}