MCPcopy Index your code
hub / github.com/cloudreve/cloudreve / sqlSave

Method sqlSave

ent/entity_update.go:830–1017  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

828}
829
830func (euo *EntityUpdateOne) sqlSave(ctx context.Context) (_node *Entity, err error) {
831 if err := euo.check(); err != nil {
832 return _node, err
833 }
834 _spec := sqlgraph.NewUpdateSpec(entity.Table, entity.Columns, sqlgraph.NewFieldSpec(entity.FieldID, field.TypeInt))
835 id, ok := euo.mutation.ID()
836 if !ok {
837 return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "Entity.id" for update`)}
838 }
839 _spec.Node.ID.Value = id
840 if fields := euo.fields; len(fields) > 0 {
841 _spec.Node.Columns = make([]string, 0, len(fields))
842 _spec.Node.Columns = append(_spec.Node.Columns, entity.FieldID)
843 for _, f := range fields {
844 if !entity.ValidColumn(f) {
845 return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
846 }
847 if f != entity.FieldID {
848 _spec.Node.Columns = append(_spec.Node.Columns, f)
849 }
850 }
851 }
852 if ps := euo.mutation.predicates; len(ps) > 0 {
853 _spec.Predicate = func(selector *sql.Selector) {
854 for i := range ps {
855 ps[i](selector)
856 }
857 }
858 }
859 if value, ok := euo.mutation.UpdatedAt(); ok {
860 _spec.SetField(entity.FieldUpdatedAt, field.TypeTime, value)
861 }
862 if value, ok := euo.mutation.DeletedAt(); ok {
863 _spec.SetField(entity.FieldDeletedAt, field.TypeTime, value)
864 }
865 if euo.mutation.DeletedAtCleared() {
866 _spec.ClearField(entity.FieldDeletedAt, field.TypeTime)
867 }
868 if value, ok := euo.mutation.GetType(); ok {
869 _spec.SetField(entity.FieldType, field.TypeInt, value)
870 }
871 if value, ok := euo.mutation.AddedType(); ok {
872 _spec.AddField(entity.FieldType, field.TypeInt, value)
873 }
874 if value, ok := euo.mutation.Source(); ok {
875 _spec.SetField(entity.FieldSource, field.TypeString, value)
876 }
877 if value, ok := euo.mutation.Size(); ok {
878 _spec.SetField(entity.FieldSize, field.TypeInt64, value)
879 }
880 if value, ok := euo.mutation.AddedSize(); ok {
881 _spec.AddField(entity.FieldSize, field.TypeInt64, value)
882 }
883 if value, ok := euo.mutation.ReferenceCount(); ok {
884 _spec.SetField(entity.FieldReferenceCount, field.TypeInt, value)
885 }
886 if value, ok := euo.mutation.AddedReferenceCount(); ok {
887 _spec.AddField(entity.FieldReferenceCount, field.TypeInt, value)

Callers

nothing calls this directly

Calls 15

checkMethod · 0.95
ValidColumnFunction · 0.92
AddedReferenceCountMethod · 0.80
RemovedFileIDsMethod · 0.80
IDMethod · 0.65
NewMethod · 0.65
UpdatedAtMethod · 0.65
SourceMethod · 0.65
SizeMethod · 0.65
ReferenceCountMethod · 0.65
UploadSessionIDMethod · 0.65

Tested by

no test coverage detected