github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/entrepository/ent/setting_update.go (about) 1 // Code generated by entc, DO NOT EDIT. 2 3 package ent 4 5 import ( 6 "context" 7 "errors" 8 "fmt" 9 "time" 10 11 "entgo.io/ent/dialect/sql" 12 "entgo.io/ent/dialect/sql/sqlgraph" 13 "entgo.io/ent/schema/field" 14 "github.com/ngocphuongnb/tetua/packages/entrepository/ent/predicate" 15 "github.com/ngocphuongnb/tetua/packages/entrepository/ent/setting" 16 ) 17 18 // SettingUpdate is the builder for updating Setting entities. 19 type SettingUpdate struct { 20 config 21 hooks []Hook 22 mutation *SettingMutation 23 } 24 25 // Where appends a list predicates to the SettingUpdate builder. 26 func (su *SettingUpdate) Where(ps ...predicate.Setting) *SettingUpdate { 27 su.mutation.Where(ps...) 28 return su 29 } 30 31 // SetUpdatedAt sets the "updated_at" field. 32 func (su *SettingUpdate) SetUpdatedAt(t time.Time) *SettingUpdate { 33 su.mutation.SetUpdatedAt(t) 34 return su 35 } 36 37 // SetDeletedAt sets the "deleted_at" field. 38 func (su *SettingUpdate) SetDeletedAt(t time.Time) *SettingUpdate { 39 su.mutation.SetDeletedAt(t) 40 return su 41 } 42 43 // SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil. 44 func (su *SettingUpdate) SetNillableDeletedAt(t *time.Time) *SettingUpdate { 45 if t != nil { 46 su.SetDeletedAt(*t) 47 } 48 return su 49 } 50 51 // ClearDeletedAt clears the value of the "deleted_at" field. 52 func (su *SettingUpdate) ClearDeletedAt() *SettingUpdate { 53 su.mutation.ClearDeletedAt() 54 return su 55 } 56 57 // SetName sets the "name" field. 58 func (su *SettingUpdate) SetName(s string) *SettingUpdate { 59 su.mutation.SetName(s) 60 return su 61 } 62 63 // SetValue sets the "value" field. 64 func (su *SettingUpdate) SetValue(s string) *SettingUpdate { 65 su.mutation.SetValue(s) 66 return su 67 } 68 69 // SetNillableValue sets the "value" field if the given value is not nil. 70 func (su *SettingUpdate) SetNillableValue(s *string) *SettingUpdate { 71 if s != nil { 72 su.SetValue(*s) 73 } 74 return su 75 } 76 77 // ClearValue clears the value of the "value" field. 78 func (su *SettingUpdate) ClearValue() *SettingUpdate { 79 su.mutation.ClearValue() 80 return su 81 } 82 83 // SetType sets the "type" field. 84 func (su *SettingUpdate) SetType(s string) *SettingUpdate { 85 su.mutation.SetType(s) 86 return su 87 } 88 89 // SetNillableType sets the "type" field if the given value is not nil. 90 func (su *SettingUpdate) SetNillableType(s *string) *SettingUpdate { 91 if s != nil { 92 su.SetType(*s) 93 } 94 return su 95 } 96 97 // ClearType clears the value of the "type" field. 98 func (su *SettingUpdate) ClearType() *SettingUpdate { 99 su.mutation.ClearType() 100 return su 101 } 102 103 // Mutation returns the SettingMutation object of the builder. 104 func (su *SettingUpdate) Mutation() *SettingMutation { 105 return su.mutation 106 } 107 108 // Save executes the query and returns the number of nodes affected by the update operation. 109 func (su *SettingUpdate) Save(ctx context.Context) (int, error) { 110 var ( 111 err error 112 affected int 113 ) 114 su.defaults() 115 if len(su.hooks) == 0 { 116 affected, err = su.sqlSave(ctx) 117 } else { 118 var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { 119 mutation, ok := m.(*SettingMutation) 120 if !ok { 121 return nil, fmt.Errorf("unexpected mutation type %T", m) 122 } 123 su.mutation = mutation 124 affected, err = su.sqlSave(ctx) 125 mutation.done = true 126 return affected, err 127 }) 128 for i := len(su.hooks) - 1; i >= 0; i-- { 129 if su.hooks[i] == nil { 130 return 0, fmt.Errorf("ent: uninitialized hook (forgotten import ent/runtime?)") 131 } 132 mut = su.hooks[i](mut) 133 } 134 if _, err := mut.Mutate(ctx, su.mutation); err != nil { 135 return 0, err 136 } 137 } 138 return affected, err 139 } 140 141 // SaveX is like Save, but panics if an error occurs. 142 func (su *SettingUpdate) SaveX(ctx context.Context) int { 143 affected, err := su.Save(ctx) 144 if err != nil { 145 panic(err) 146 } 147 return affected 148 } 149 150 // Exec executes the query. 151 func (su *SettingUpdate) Exec(ctx context.Context) error { 152 _, err := su.Save(ctx) 153 return err 154 } 155 156 // ExecX is like Exec, but panics if an error occurs. 157 func (su *SettingUpdate) ExecX(ctx context.Context) { 158 if err := su.Exec(ctx); err != nil { 159 panic(err) 160 } 161 } 162 163 // defaults sets the default values of the builder before save. 164 func (su *SettingUpdate) defaults() { 165 if _, ok := su.mutation.UpdatedAt(); !ok { 166 v := setting.UpdateDefaultUpdatedAt() 167 su.mutation.SetUpdatedAt(v) 168 } 169 } 170 171 func (su *SettingUpdate) sqlSave(ctx context.Context) (n int, err error) { 172 _spec := &sqlgraph.UpdateSpec{ 173 Node: &sqlgraph.NodeSpec{ 174 Table: setting.Table, 175 Columns: setting.Columns, 176 ID: &sqlgraph.FieldSpec{ 177 Type: field.TypeInt, 178 Column: setting.FieldID, 179 }, 180 }, 181 } 182 if ps := su.mutation.predicates; len(ps) > 0 { 183 _spec.Predicate = func(selector *sql.Selector) { 184 for i := range ps { 185 ps[i](selector) 186 } 187 } 188 } 189 if value, ok := su.mutation.UpdatedAt(); ok { 190 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 191 Type: field.TypeTime, 192 Value: value, 193 Column: setting.FieldUpdatedAt, 194 }) 195 } 196 if value, ok := su.mutation.DeletedAt(); ok { 197 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 198 Type: field.TypeTime, 199 Value: value, 200 Column: setting.FieldDeletedAt, 201 }) 202 } 203 if su.mutation.DeletedAtCleared() { 204 _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ 205 Type: field.TypeTime, 206 Column: setting.FieldDeletedAt, 207 }) 208 } 209 if value, ok := su.mutation.Name(); ok { 210 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 211 Type: field.TypeString, 212 Value: value, 213 Column: setting.FieldName, 214 }) 215 } 216 if value, ok := su.mutation.Value(); ok { 217 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 218 Type: field.TypeString, 219 Value: value, 220 Column: setting.FieldValue, 221 }) 222 } 223 if su.mutation.ValueCleared() { 224 _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ 225 Type: field.TypeString, 226 Column: setting.FieldValue, 227 }) 228 } 229 if value, ok := su.mutation.GetType(); ok { 230 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 231 Type: field.TypeString, 232 Value: value, 233 Column: setting.FieldType, 234 }) 235 } 236 if su.mutation.TypeCleared() { 237 _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ 238 Type: field.TypeString, 239 Column: setting.FieldType, 240 }) 241 } 242 if n, err = sqlgraph.UpdateNodes(ctx, su.driver, _spec); err != nil { 243 if _, ok := err.(*sqlgraph.NotFoundError); ok { 244 err = &NotFoundError{setting.Label} 245 } else if sqlgraph.IsConstraintError(err) { 246 err = &ConstraintError{err.Error(), err} 247 } 248 return 0, err 249 } 250 return n, nil 251 } 252 253 // SettingUpdateOne is the builder for updating a single Setting entity. 254 type SettingUpdateOne struct { 255 config 256 fields []string 257 hooks []Hook 258 mutation *SettingMutation 259 } 260 261 // SetUpdatedAt sets the "updated_at" field. 262 func (suo *SettingUpdateOne) SetUpdatedAt(t time.Time) *SettingUpdateOne { 263 suo.mutation.SetUpdatedAt(t) 264 return suo 265 } 266 267 // SetDeletedAt sets the "deleted_at" field. 268 func (suo *SettingUpdateOne) SetDeletedAt(t time.Time) *SettingUpdateOne { 269 suo.mutation.SetDeletedAt(t) 270 return suo 271 } 272 273 // SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil. 274 func (suo *SettingUpdateOne) SetNillableDeletedAt(t *time.Time) *SettingUpdateOne { 275 if t != nil { 276 suo.SetDeletedAt(*t) 277 } 278 return suo 279 } 280 281 // ClearDeletedAt clears the value of the "deleted_at" field. 282 func (suo *SettingUpdateOne) ClearDeletedAt() *SettingUpdateOne { 283 suo.mutation.ClearDeletedAt() 284 return suo 285 } 286 287 // SetName sets the "name" field. 288 func (suo *SettingUpdateOne) SetName(s string) *SettingUpdateOne { 289 suo.mutation.SetName(s) 290 return suo 291 } 292 293 // SetValue sets the "value" field. 294 func (suo *SettingUpdateOne) SetValue(s string) *SettingUpdateOne { 295 suo.mutation.SetValue(s) 296 return suo 297 } 298 299 // SetNillableValue sets the "value" field if the given value is not nil. 300 func (suo *SettingUpdateOne) SetNillableValue(s *string) *SettingUpdateOne { 301 if s != nil { 302 suo.SetValue(*s) 303 } 304 return suo 305 } 306 307 // ClearValue clears the value of the "value" field. 308 func (suo *SettingUpdateOne) ClearValue() *SettingUpdateOne { 309 suo.mutation.ClearValue() 310 return suo 311 } 312 313 // SetType sets the "type" field. 314 func (suo *SettingUpdateOne) SetType(s string) *SettingUpdateOne { 315 suo.mutation.SetType(s) 316 return suo 317 } 318 319 // SetNillableType sets the "type" field if the given value is not nil. 320 func (suo *SettingUpdateOne) SetNillableType(s *string) *SettingUpdateOne { 321 if s != nil { 322 suo.SetType(*s) 323 } 324 return suo 325 } 326 327 // ClearType clears the value of the "type" field. 328 func (suo *SettingUpdateOne) ClearType() *SettingUpdateOne { 329 suo.mutation.ClearType() 330 return suo 331 } 332 333 // Mutation returns the SettingMutation object of the builder. 334 func (suo *SettingUpdateOne) Mutation() *SettingMutation { 335 return suo.mutation 336 } 337 338 // Select allows selecting one or more fields (columns) of the returned entity. 339 // The default is selecting all fields defined in the entity schema. 340 func (suo *SettingUpdateOne) Select(field string, fields ...string) *SettingUpdateOne { 341 suo.fields = append([]string{field}, fields...) 342 return suo 343 } 344 345 // Save executes the query and returns the updated Setting entity. 346 func (suo *SettingUpdateOne) Save(ctx context.Context) (*Setting, error) { 347 var ( 348 err error 349 node *Setting 350 ) 351 suo.defaults() 352 if len(suo.hooks) == 0 { 353 node, err = suo.sqlSave(ctx) 354 } else { 355 var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { 356 mutation, ok := m.(*SettingMutation) 357 if !ok { 358 return nil, fmt.Errorf("unexpected mutation type %T", m) 359 } 360 suo.mutation = mutation 361 node, err = suo.sqlSave(ctx) 362 mutation.done = true 363 return node, err 364 }) 365 for i := len(suo.hooks) - 1; i >= 0; i-- { 366 if suo.hooks[i] == nil { 367 return nil, fmt.Errorf("ent: uninitialized hook (forgotten import ent/runtime?)") 368 } 369 mut = suo.hooks[i](mut) 370 } 371 if _, err := mut.Mutate(ctx, suo.mutation); err != nil { 372 return nil, err 373 } 374 } 375 return node, err 376 } 377 378 // SaveX is like Save, but panics if an error occurs. 379 func (suo *SettingUpdateOne) SaveX(ctx context.Context) *Setting { 380 node, err := suo.Save(ctx) 381 if err != nil { 382 panic(err) 383 } 384 return node 385 } 386 387 // Exec executes the query on the entity. 388 func (suo *SettingUpdateOne) Exec(ctx context.Context) error { 389 _, err := suo.Save(ctx) 390 return err 391 } 392 393 // ExecX is like Exec, but panics if an error occurs. 394 func (suo *SettingUpdateOne) ExecX(ctx context.Context) { 395 if err := suo.Exec(ctx); err != nil { 396 panic(err) 397 } 398 } 399 400 // defaults sets the default values of the builder before save. 401 func (suo *SettingUpdateOne) defaults() { 402 if _, ok := suo.mutation.UpdatedAt(); !ok { 403 v := setting.UpdateDefaultUpdatedAt() 404 suo.mutation.SetUpdatedAt(v) 405 } 406 } 407 408 func (suo *SettingUpdateOne) sqlSave(ctx context.Context) (_node *Setting, err error) { 409 _spec := &sqlgraph.UpdateSpec{ 410 Node: &sqlgraph.NodeSpec{ 411 Table: setting.Table, 412 Columns: setting.Columns, 413 ID: &sqlgraph.FieldSpec{ 414 Type: field.TypeInt, 415 Column: setting.FieldID, 416 }, 417 }, 418 } 419 id, ok := suo.mutation.ID() 420 if !ok { 421 return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "Setting.id" for update`)} 422 } 423 _spec.Node.ID.Value = id 424 if fields := suo.fields; len(fields) > 0 { 425 _spec.Node.Columns = make([]string, 0, len(fields)) 426 _spec.Node.Columns = append(_spec.Node.Columns, setting.FieldID) 427 for _, f := range fields { 428 if !setting.ValidColumn(f) { 429 return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)} 430 } 431 if f != setting.FieldID { 432 _spec.Node.Columns = append(_spec.Node.Columns, f) 433 } 434 } 435 } 436 if ps := suo.mutation.predicates; len(ps) > 0 { 437 _spec.Predicate = func(selector *sql.Selector) { 438 for i := range ps { 439 ps[i](selector) 440 } 441 } 442 } 443 if value, ok := suo.mutation.UpdatedAt(); ok { 444 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 445 Type: field.TypeTime, 446 Value: value, 447 Column: setting.FieldUpdatedAt, 448 }) 449 } 450 if value, ok := suo.mutation.DeletedAt(); ok { 451 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 452 Type: field.TypeTime, 453 Value: value, 454 Column: setting.FieldDeletedAt, 455 }) 456 } 457 if suo.mutation.DeletedAtCleared() { 458 _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ 459 Type: field.TypeTime, 460 Column: setting.FieldDeletedAt, 461 }) 462 } 463 if value, ok := suo.mutation.Name(); ok { 464 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 465 Type: field.TypeString, 466 Value: value, 467 Column: setting.FieldName, 468 }) 469 } 470 if value, ok := suo.mutation.Value(); ok { 471 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 472 Type: field.TypeString, 473 Value: value, 474 Column: setting.FieldValue, 475 }) 476 } 477 if suo.mutation.ValueCleared() { 478 _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ 479 Type: field.TypeString, 480 Column: setting.FieldValue, 481 }) 482 } 483 if value, ok := suo.mutation.GetType(); ok { 484 _spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{ 485 Type: field.TypeString, 486 Value: value, 487 Column: setting.FieldType, 488 }) 489 } 490 if suo.mutation.TypeCleared() { 491 _spec.Fields.Clear = append(_spec.Fields.Clear, &sqlgraph.FieldSpec{ 492 Type: field.TypeString, 493 Column: setting.FieldType, 494 }) 495 } 496 _node = &Setting{config: suo.config} 497 _spec.Assign = _node.assignValues 498 _spec.ScanValues = _node.scanValues 499 if err = sqlgraph.UpdateNode(ctx, suo.driver, _spec); err != nil { 500 if _, ok := err.(*sqlgraph.NotFoundError); ok { 501 err = &NotFoundError{setting.Label} 502 } else if sqlgraph.IsConstraintError(err) { 503 err = &ConstraintError{err.Error(), err} 504 } 505 return nil, err 506 } 507 return _node, nil 508 }