github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/entrepository/ent/role.go (about) 1 // Code generated by entc, DO NOT EDIT. 2 3 package ent 4 5 import ( 6 "fmt" 7 "strings" 8 "time" 9 10 "entgo.io/ent/dialect/sql" 11 "github.com/ngocphuongnb/tetua/packages/entrepository/ent/role" 12 ) 13 14 // Role is the model entity for the Role schema. 15 type Role struct { 16 config `json:"-" validate:"-"` 17 // ID of the ent. 18 ID int `json:"id,omitempty"` 19 // CreatedAt holds the value of the "created_at" field. 20 CreatedAt time.Time `json:"omitempty"` 21 // UpdatedAt holds the value of the "updated_at" field. 22 UpdatedAt time.Time `json:"omitempty"` 23 // DeletedAt holds the value of the "deleted_at" field. 24 DeletedAt time.Time `json:"omitempty"` 25 // Name holds the value of the "name" field. 26 Name string `json:"name,omitempty" validate:"max=255"` 27 // Description holds the value of the "description" field. 28 Description string `json:"description,omitempty" validate:"max=255"` 29 // Root holds the value of the "root" field. 30 Root bool `json:"root,omitempty"` 31 // Edges holds the relations/edges for other nodes in the graph. 32 // The values are being populated by the RoleQuery when eager-loading is set. 33 Edges RoleEdges `json:"edges"` 34 } 35 36 // RoleEdges holds the relations/edges for other nodes in the graph. 37 type RoleEdges struct { 38 // Permissions holds the value of the permissions edge. 39 Permissions []*Permission `json:"permissions,omitempty"` 40 // Users holds the value of the users edge. 41 Users []*User `json:"users,omitempty"` 42 // loadedTypes holds the information for reporting if a 43 // type was loaded (or requested) in eager-loading or not. 44 loadedTypes [2]bool 45 } 46 47 // PermissionsOrErr returns the Permissions value or an error if the edge 48 // was not loaded in eager-loading. 49 func (e RoleEdges) PermissionsOrErr() ([]*Permission, error) { 50 if e.loadedTypes[0] { 51 return e.Permissions, nil 52 } 53 return nil, &NotLoadedError{edge: "permissions"} 54 } 55 56 // UsersOrErr returns the Users value or an error if the edge 57 // was not loaded in eager-loading. 58 func (e RoleEdges) UsersOrErr() ([]*User, error) { 59 if e.loadedTypes[1] { 60 return e.Users, nil 61 } 62 return nil, &NotLoadedError{edge: "users"} 63 } 64 65 // scanValues returns the types for scanning values from sql.Rows. 66 func (*Role) scanValues(columns []string) ([]interface{}, error) { 67 values := make([]interface{}, len(columns)) 68 for i := range columns { 69 switch columns[i] { 70 case role.FieldRoot: 71 values[i] = new(sql.NullBool) 72 case role.FieldID: 73 values[i] = new(sql.NullInt64) 74 case role.FieldName, role.FieldDescription: 75 values[i] = new(sql.NullString) 76 case role.FieldCreatedAt, role.FieldUpdatedAt, role.FieldDeletedAt: 77 values[i] = new(sql.NullTime) 78 default: 79 return nil, fmt.Errorf("unexpected column %q for type Role", columns[i]) 80 } 81 } 82 return values, nil 83 } 84 85 // assignValues assigns the values that were returned from sql.Rows (after scanning) 86 // to the Role fields. 87 func (r *Role) assignValues(columns []string, values []interface{}) error { 88 if m, n := len(values), len(columns); m < n { 89 return fmt.Errorf("mismatch number of scan values: %d != %d", m, n) 90 } 91 for i := range columns { 92 switch columns[i] { 93 case role.FieldID: 94 value, ok := values[i].(*sql.NullInt64) 95 if !ok { 96 return fmt.Errorf("unexpected type %T for field id", value) 97 } 98 r.ID = int(value.Int64) 99 case role.FieldCreatedAt: 100 if value, ok := values[i].(*sql.NullTime); !ok { 101 return fmt.Errorf("unexpected type %T for field created_at", values[i]) 102 } else if value.Valid { 103 r.CreatedAt = value.Time 104 } 105 case role.FieldUpdatedAt: 106 if value, ok := values[i].(*sql.NullTime); !ok { 107 return fmt.Errorf("unexpected type %T for field updated_at", values[i]) 108 } else if value.Valid { 109 r.UpdatedAt = value.Time 110 } 111 case role.FieldDeletedAt: 112 if value, ok := values[i].(*sql.NullTime); !ok { 113 return fmt.Errorf("unexpected type %T for field deleted_at", values[i]) 114 } else if value.Valid { 115 r.DeletedAt = value.Time 116 } 117 case role.FieldName: 118 if value, ok := values[i].(*sql.NullString); !ok { 119 return fmt.Errorf("unexpected type %T for field name", values[i]) 120 } else if value.Valid { 121 r.Name = value.String 122 } 123 case role.FieldDescription: 124 if value, ok := values[i].(*sql.NullString); !ok { 125 return fmt.Errorf("unexpected type %T for field description", values[i]) 126 } else if value.Valid { 127 r.Description = value.String 128 } 129 case role.FieldRoot: 130 if value, ok := values[i].(*sql.NullBool); !ok { 131 return fmt.Errorf("unexpected type %T for field root", values[i]) 132 } else if value.Valid { 133 r.Root = value.Bool 134 } 135 } 136 } 137 return nil 138 } 139 140 // QueryPermissions queries the "permissions" edge of the Role entity. 141 func (r *Role) QueryPermissions() *PermissionQuery { 142 return (&RoleClient{config: r.config}).QueryPermissions(r) 143 } 144 145 // QueryUsers queries the "users" edge of the Role entity. 146 func (r *Role) QueryUsers() *UserQuery { 147 return (&RoleClient{config: r.config}).QueryUsers(r) 148 } 149 150 // Update returns a builder for updating this Role. 151 // Note that you need to call Role.Unwrap() before calling this method if this Role 152 // was returned from a transaction, and the transaction was committed or rolled back. 153 func (r *Role) Update() *RoleUpdateOne { 154 return (&RoleClient{config: r.config}).UpdateOne(r) 155 } 156 157 // Unwrap unwraps the Role entity that was returned from a transaction after it was closed, 158 // so that all future queries will be executed through the driver which created the transaction. 159 func (r *Role) Unwrap() *Role { 160 tx, ok := r.config.driver.(*txDriver) 161 if !ok { 162 panic("ent: Role is not a transactional entity") 163 } 164 r.config.driver = tx.drv 165 return r 166 } 167 168 // String implements the fmt.Stringer. 169 func (r *Role) String() string { 170 var builder strings.Builder 171 builder.WriteString("Role(") 172 builder.WriteString(fmt.Sprintf("id=%v", r.ID)) 173 builder.WriteString(", created_at=") 174 builder.WriteString(r.CreatedAt.Format(time.ANSIC)) 175 builder.WriteString(", updated_at=") 176 builder.WriteString(r.UpdatedAt.Format(time.ANSIC)) 177 builder.WriteString(", deleted_at=") 178 builder.WriteString(r.DeletedAt.Format(time.ANSIC)) 179 builder.WriteString(", name=") 180 builder.WriteString(r.Name) 181 builder.WriteString(", description=") 182 builder.WriteString(r.Description) 183 builder.WriteString(", root=") 184 builder.WriteString(fmt.Sprintf("%v", r.Root)) 185 builder.WriteByte(')') 186 return builder.String() 187 } 188 189 // Roles is a parsable slice of Role. 190 type Roles []*Role 191 192 func (r Roles) config(cfg config) { 193 for _i := range r { 194 r[_i].config = cfg 195 } 196 }