github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/entrepository/ent/user.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/file" 12 "github.com/ngocphuongnb/tetua/packages/entrepository/ent/user" 13 ) 14 15 // User is the model entity for the User schema. 16 type User struct { 17 config `json:"-"` 18 // ID of the ent. 19 ID int `json:"id,omitempty"` 20 // CreatedAt holds the value of the "created_at" field. 21 CreatedAt time.Time `json:"omitempty"` 22 // UpdatedAt holds the value of the "updated_at" field. 23 UpdatedAt time.Time `json:"omitempty"` 24 // DeletedAt holds the value of the "deleted_at" field. 25 DeletedAt time.Time `json:"omitempty"` 26 // Username holds the value of the "username" field. 27 Username string `json:"username,omitempty"` 28 // DisplayName holds the value of the "display_name" field. 29 DisplayName string `json:"display_name,omitempty"` 30 // URL holds the value of the "url" field. 31 URL string `json:"url,omitempty"` 32 // Provider holds the value of the "provider" field. 33 Provider string `json:"provider,omitempty"` 34 // ProviderID holds the value of the "provider_id" field. 35 ProviderID string `json:"provider_id,omitempty"` 36 // ProviderUsername holds the value of the "provider_username" field. 37 ProviderUsername string `json:"provider_username,omitempty"` 38 // ProviderAvatar holds the value of the "provider_avatar" field. 39 ProviderAvatar string `json:"provider_avatar,omitempty"` 40 // Email holds the value of the "email" field. 41 Email string `json:"email,omitempty"` 42 // Password holds the value of the "password" field. 43 Password string `json:"password,omitempty"` 44 // Bio holds the value of the "bio" field. 45 Bio string `json:"bio,omitempty"` 46 // BioHTML holds the value of the "bio_html" field. 47 BioHTML string `json:"bio_html,omitempty"` 48 // Active holds the value of the "active" field. 49 Active bool `json:"active,omitempty"` 50 // AvatarImageID holds the value of the "avatar_image_id" field. 51 AvatarImageID int `json:"avatar_image_id,omitempty"` 52 // Edges holds the relations/edges for other nodes in the graph. 53 // The values are being populated by the UserQuery when eager-loading is set. 54 Edges UserEdges `json:"edges"` 55 } 56 57 // UserEdges holds the relations/edges for other nodes in the graph. 58 type UserEdges struct { 59 // Posts holds the value of the posts edge. 60 Posts []*Post `json:"posts,omitempty"` 61 // Files holds the value of the files edge. 62 Files []*File `json:"files,omitempty"` 63 // Comments holds the value of the comments edge. 64 Comments []*Comment `json:"comments,omitempty"` 65 // Roles holds the value of the roles edge. 66 Roles []*Role `json:"roles,omitempty"` 67 // AvatarImage holds the value of the avatar_image edge. 68 AvatarImage *File `json:"avatar_image,omitempty"` 69 // loadedTypes holds the information for reporting if a 70 // type was loaded (or requested) in eager-loading or not. 71 loadedTypes [5]bool 72 } 73 74 // PostsOrErr returns the Posts value or an error if the edge 75 // was not loaded in eager-loading. 76 func (e UserEdges) PostsOrErr() ([]*Post, error) { 77 if e.loadedTypes[0] { 78 return e.Posts, nil 79 } 80 return nil, &NotLoadedError{edge: "posts"} 81 } 82 83 // FilesOrErr returns the Files value or an error if the edge 84 // was not loaded in eager-loading. 85 func (e UserEdges) FilesOrErr() ([]*File, error) { 86 if e.loadedTypes[1] { 87 return e.Files, nil 88 } 89 return nil, &NotLoadedError{edge: "files"} 90 } 91 92 // CommentsOrErr returns the Comments value or an error if the edge 93 // was not loaded in eager-loading. 94 func (e UserEdges) CommentsOrErr() ([]*Comment, error) { 95 if e.loadedTypes[2] { 96 return e.Comments, nil 97 } 98 return nil, &NotLoadedError{edge: "comments"} 99 } 100 101 // RolesOrErr returns the Roles value or an error if the edge 102 // was not loaded in eager-loading. 103 func (e UserEdges) RolesOrErr() ([]*Role, error) { 104 if e.loadedTypes[3] { 105 return e.Roles, nil 106 } 107 return nil, &NotLoadedError{edge: "roles"} 108 } 109 110 // AvatarImageOrErr returns the AvatarImage value or an error if the edge 111 // was not loaded in eager-loading, or loaded but was not found. 112 func (e UserEdges) AvatarImageOrErr() (*File, error) { 113 if e.loadedTypes[4] { 114 if e.AvatarImage == nil { 115 // The edge avatar_image was loaded in eager-loading, 116 // but was not found. 117 return nil, &NotFoundError{label: file.Label} 118 } 119 return e.AvatarImage, nil 120 } 121 return nil, &NotLoadedError{edge: "avatar_image"} 122 } 123 124 // scanValues returns the types for scanning values from sql.Rows. 125 func (*User) scanValues(columns []string) ([]interface{}, error) { 126 values := make([]interface{}, len(columns)) 127 for i := range columns { 128 switch columns[i] { 129 case user.FieldActive: 130 values[i] = new(sql.NullBool) 131 case user.FieldID, user.FieldAvatarImageID: 132 values[i] = new(sql.NullInt64) 133 case user.FieldUsername, user.FieldDisplayName, user.FieldURL, user.FieldProvider, user.FieldProviderID, user.FieldProviderUsername, user.FieldProviderAvatar, user.FieldEmail, user.FieldPassword, user.FieldBio, user.FieldBioHTML: 134 values[i] = new(sql.NullString) 135 case user.FieldCreatedAt, user.FieldUpdatedAt, user.FieldDeletedAt: 136 values[i] = new(sql.NullTime) 137 default: 138 return nil, fmt.Errorf("unexpected column %q for type User", columns[i]) 139 } 140 } 141 return values, nil 142 } 143 144 // assignValues assigns the values that were returned from sql.Rows (after scanning) 145 // to the User fields. 146 func (u *User) assignValues(columns []string, values []interface{}) error { 147 if m, n := len(values), len(columns); m < n { 148 return fmt.Errorf("mismatch number of scan values: %d != %d", m, n) 149 } 150 for i := range columns { 151 switch columns[i] { 152 case user.FieldID: 153 value, ok := values[i].(*sql.NullInt64) 154 if !ok { 155 return fmt.Errorf("unexpected type %T for field id", value) 156 } 157 u.ID = int(value.Int64) 158 case user.FieldCreatedAt: 159 if value, ok := values[i].(*sql.NullTime); !ok { 160 return fmt.Errorf("unexpected type %T for field created_at", values[i]) 161 } else if value.Valid { 162 u.CreatedAt = value.Time 163 } 164 case user.FieldUpdatedAt: 165 if value, ok := values[i].(*sql.NullTime); !ok { 166 return fmt.Errorf("unexpected type %T for field updated_at", values[i]) 167 } else if value.Valid { 168 u.UpdatedAt = value.Time 169 } 170 case user.FieldDeletedAt: 171 if value, ok := values[i].(*sql.NullTime); !ok { 172 return fmt.Errorf("unexpected type %T for field deleted_at", values[i]) 173 } else if value.Valid { 174 u.DeletedAt = value.Time 175 } 176 case user.FieldUsername: 177 if value, ok := values[i].(*sql.NullString); !ok { 178 return fmt.Errorf("unexpected type %T for field username", values[i]) 179 } else if value.Valid { 180 u.Username = value.String 181 } 182 case user.FieldDisplayName: 183 if value, ok := values[i].(*sql.NullString); !ok { 184 return fmt.Errorf("unexpected type %T for field display_name", values[i]) 185 } else if value.Valid { 186 u.DisplayName = value.String 187 } 188 case user.FieldURL: 189 if value, ok := values[i].(*sql.NullString); !ok { 190 return fmt.Errorf("unexpected type %T for field url", values[i]) 191 } else if value.Valid { 192 u.URL = value.String 193 } 194 case user.FieldProvider: 195 if value, ok := values[i].(*sql.NullString); !ok { 196 return fmt.Errorf("unexpected type %T for field provider", values[i]) 197 } else if value.Valid { 198 u.Provider = value.String 199 } 200 case user.FieldProviderID: 201 if value, ok := values[i].(*sql.NullString); !ok { 202 return fmt.Errorf("unexpected type %T for field provider_id", values[i]) 203 } else if value.Valid { 204 u.ProviderID = value.String 205 } 206 case user.FieldProviderUsername: 207 if value, ok := values[i].(*sql.NullString); !ok { 208 return fmt.Errorf("unexpected type %T for field provider_username", values[i]) 209 } else if value.Valid { 210 u.ProviderUsername = value.String 211 } 212 case user.FieldProviderAvatar: 213 if value, ok := values[i].(*sql.NullString); !ok { 214 return fmt.Errorf("unexpected type %T for field provider_avatar", values[i]) 215 } else if value.Valid { 216 u.ProviderAvatar = value.String 217 } 218 case user.FieldEmail: 219 if value, ok := values[i].(*sql.NullString); !ok { 220 return fmt.Errorf("unexpected type %T for field email", values[i]) 221 } else if value.Valid { 222 u.Email = value.String 223 } 224 case user.FieldPassword: 225 if value, ok := values[i].(*sql.NullString); !ok { 226 return fmt.Errorf("unexpected type %T for field password", values[i]) 227 } else if value.Valid { 228 u.Password = value.String 229 } 230 case user.FieldBio: 231 if value, ok := values[i].(*sql.NullString); !ok { 232 return fmt.Errorf("unexpected type %T for field bio", values[i]) 233 } else if value.Valid { 234 u.Bio = value.String 235 } 236 case user.FieldBioHTML: 237 if value, ok := values[i].(*sql.NullString); !ok { 238 return fmt.Errorf("unexpected type %T for field bio_html", values[i]) 239 } else if value.Valid { 240 u.BioHTML = value.String 241 } 242 case user.FieldActive: 243 if value, ok := values[i].(*sql.NullBool); !ok { 244 return fmt.Errorf("unexpected type %T for field active", values[i]) 245 } else if value.Valid { 246 u.Active = value.Bool 247 } 248 case user.FieldAvatarImageID: 249 if value, ok := values[i].(*sql.NullInt64); !ok { 250 return fmt.Errorf("unexpected type %T for field avatar_image_id", values[i]) 251 } else if value.Valid { 252 u.AvatarImageID = int(value.Int64) 253 } 254 } 255 } 256 return nil 257 } 258 259 // QueryPosts queries the "posts" edge of the User entity. 260 func (u *User) QueryPosts() *PostQuery { 261 return (&UserClient{config: u.config}).QueryPosts(u) 262 } 263 264 // QueryFiles queries the "files" edge of the User entity. 265 func (u *User) QueryFiles() *FileQuery { 266 return (&UserClient{config: u.config}).QueryFiles(u) 267 } 268 269 // QueryComments queries the "comments" edge of the User entity. 270 func (u *User) QueryComments() *CommentQuery { 271 return (&UserClient{config: u.config}).QueryComments(u) 272 } 273 274 // QueryRoles queries the "roles" edge of the User entity. 275 func (u *User) QueryRoles() *RoleQuery { 276 return (&UserClient{config: u.config}).QueryRoles(u) 277 } 278 279 // QueryAvatarImage queries the "avatar_image" edge of the User entity. 280 func (u *User) QueryAvatarImage() *FileQuery { 281 return (&UserClient{config: u.config}).QueryAvatarImage(u) 282 } 283 284 // Update returns a builder for updating this User. 285 // Note that you need to call User.Unwrap() before calling this method if this User 286 // was returned from a transaction, and the transaction was committed or rolled back. 287 func (u *User) Update() *UserUpdateOne { 288 return (&UserClient{config: u.config}).UpdateOne(u) 289 } 290 291 // Unwrap unwraps the User entity that was returned from a transaction after it was closed, 292 // so that all future queries will be executed through the driver which created the transaction. 293 func (u *User) Unwrap() *User { 294 tx, ok := u.config.driver.(*txDriver) 295 if !ok { 296 panic("ent: User is not a transactional entity") 297 } 298 u.config.driver = tx.drv 299 return u 300 } 301 302 // String implements the fmt.Stringer. 303 func (u *User) String() string { 304 var builder strings.Builder 305 builder.WriteString("User(") 306 builder.WriteString(fmt.Sprintf("id=%v", u.ID)) 307 builder.WriteString(", created_at=") 308 builder.WriteString(u.CreatedAt.Format(time.ANSIC)) 309 builder.WriteString(", updated_at=") 310 builder.WriteString(u.UpdatedAt.Format(time.ANSIC)) 311 builder.WriteString(", deleted_at=") 312 builder.WriteString(u.DeletedAt.Format(time.ANSIC)) 313 builder.WriteString(", username=") 314 builder.WriteString(u.Username) 315 builder.WriteString(", display_name=") 316 builder.WriteString(u.DisplayName) 317 builder.WriteString(", url=") 318 builder.WriteString(u.URL) 319 builder.WriteString(", provider=") 320 builder.WriteString(u.Provider) 321 builder.WriteString(", provider_id=") 322 builder.WriteString(u.ProviderID) 323 builder.WriteString(", provider_username=") 324 builder.WriteString(u.ProviderUsername) 325 builder.WriteString(", provider_avatar=") 326 builder.WriteString(u.ProviderAvatar) 327 builder.WriteString(", email=") 328 builder.WriteString(u.Email) 329 builder.WriteString(", password=") 330 builder.WriteString(u.Password) 331 builder.WriteString(", bio=") 332 builder.WriteString(u.Bio) 333 builder.WriteString(", bio_html=") 334 builder.WriteString(u.BioHTML) 335 builder.WriteString(", active=") 336 builder.WriteString(fmt.Sprintf("%v", u.Active)) 337 builder.WriteString(", avatar_image_id=") 338 builder.WriteString(fmt.Sprintf("%v", u.AvatarImageID)) 339 builder.WriteByte(')') 340 return builder.String() 341 } 342 343 // Users is a parsable slice of User. 344 type Users []*User 345 346 func (u Users) config(cfg config) { 347 for _i := range u { 348 u[_i].config = cfg 349 } 350 }