MCPcopy
hub / github.com/cloudreve/cloudreve / sqlSave

Method sqlSave

ent/metadata_update.go:420–509  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

418}
419
420func (muo *MetadataUpdateOne) sqlSave(ctx context.Context) (_node *Metadata, err error) {
421 if err := muo.check(); err != nil {
422 return _node, err
423 }
424 _spec := sqlgraph.NewUpdateSpec(metadata.Table, metadata.Columns, sqlgraph.NewFieldSpec(metadata.FieldID, field.TypeInt))
425 id, ok := muo.mutation.ID()
426 if !ok {
427 return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "Metadata.id" for update`)}
428 }
429 _spec.Node.ID.Value = id
430 if fields := muo.fields; len(fields) > 0 {
431 _spec.Node.Columns = make([]string, 0, len(fields))
432 _spec.Node.Columns = append(_spec.Node.Columns, metadata.FieldID)
433 for _, f := range fields {
434 if !metadata.ValidColumn(f) {
435 return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
436 }
437 if f != metadata.FieldID {
438 _spec.Node.Columns = append(_spec.Node.Columns, f)
439 }
440 }
441 }
442 if ps := muo.mutation.predicates; len(ps) > 0 {
443 _spec.Predicate = func(selector *sql.Selector) {
444 for i := range ps {
445 ps[i](selector)
446 }
447 }
448 }
449 if value, ok := muo.mutation.UpdatedAt(); ok {
450 _spec.SetField(metadata.FieldUpdatedAt, field.TypeTime, value)
451 }
452 if value, ok := muo.mutation.DeletedAt(); ok {
453 _spec.SetField(metadata.FieldDeletedAt, field.TypeTime, value)
454 }
455 if muo.mutation.DeletedAtCleared() {
456 _spec.ClearField(metadata.FieldDeletedAt, field.TypeTime)
457 }
458 if value, ok := muo.mutation.Name(); ok {
459 _spec.SetField(metadata.FieldName, field.TypeString, value)
460 }
461 if value, ok := muo.mutation.Value(); ok {
462 _spec.SetField(metadata.FieldValue, field.TypeString, value)
463 }
464 if value, ok := muo.mutation.IsPublic(); ok {
465 _spec.SetField(metadata.FieldIsPublic, field.TypeBool, value)
466 }
467 if muo.mutation.FileCleared() {
468 edge := &sqlgraph.EdgeSpec{
469 Rel: sqlgraph.M2O,
470 Inverse: true,
471 Table: metadata.FileTable,
472 Columns: []string{metadata.FileColumn},
473 Bidi: false,
474 Target: &sqlgraph.EdgeTarget{
475 IDSpec: sqlgraph.NewFieldSpec(file.FieldID, field.TypeInt),
476 },
477 }

Callers

nothing calls this directly

Calls 15

checkMethod · 0.95
ValidColumnFunction · 0.92
IsPublicMethod · 0.80
IDMethod · 0.65
NewMethod · 0.65
UpdatedAtMethod · 0.65
NameMethod · 0.65
ErrorMethod · 0.65
SetFieldMethod · 0.45
DeletedAtMethod · 0.45
DeletedAtClearedMethod · 0.45
ClearFieldMethod · 0.45

Tested by

no test coverage detected