MCPcopy Create free account
hub / github.com/cloudreve/cloudreve / sqlSave

Method sqlSave

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

Source from the content-addressed store, hash-verified

178}
179
180func (mu *MetadataUpdate) sqlSave(ctx context.Context) (n int, err error) {
181 if err := mu.check(); err != nil {
182 return n, err
183 }
184 _spec := sqlgraph.NewUpdateSpec(metadata.Table, metadata.Columns, sqlgraph.NewFieldSpec(metadata.FieldID, field.TypeInt))
185 if ps := mu.mutation.predicates; len(ps) > 0 {
186 _spec.Predicate = func(selector *sql.Selector) {
187 for i := range ps {
188 ps[i](selector)
189 }
190 }
191 }
192 if value, ok := mu.mutation.UpdatedAt(); ok {
193 _spec.SetField(metadata.FieldUpdatedAt, field.TypeTime, value)
194 }
195 if value, ok := mu.mutation.DeletedAt(); ok {
196 _spec.SetField(metadata.FieldDeletedAt, field.TypeTime, value)
197 }
198 if mu.mutation.DeletedAtCleared() {
199 _spec.ClearField(metadata.FieldDeletedAt, field.TypeTime)
200 }
201 if value, ok := mu.mutation.Name(); ok {
202 _spec.SetField(metadata.FieldName, field.TypeString, value)
203 }
204 if value, ok := mu.mutation.Value(); ok {
205 _spec.SetField(metadata.FieldValue, field.TypeString, value)
206 }
207 if value, ok := mu.mutation.IsPublic(); ok {
208 _spec.SetField(metadata.FieldIsPublic, field.TypeBool, value)
209 }
210 if mu.mutation.FileCleared() {
211 edge := &sqlgraph.EdgeSpec{
212 Rel: sqlgraph.M2O,
213 Inverse: true,
214 Table: metadata.FileTable,
215 Columns: []string{metadata.FileColumn},
216 Bidi: false,
217 Target: &sqlgraph.EdgeTarget{
218 IDSpec: sqlgraph.NewFieldSpec(file.FieldID, field.TypeInt),
219 },
220 }
221 _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
222 }
223 if nodes := mu.mutation.FileIDs(); len(nodes) > 0 {
224 edge := &sqlgraph.EdgeSpec{
225 Rel: sqlgraph.M2O,
226 Inverse: true,
227 Table: metadata.FileTable,
228 Columns: []string{metadata.FileColumn},
229 Bidi: false,
230 Target: &sqlgraph.EdgeTarget{
231 IDSpec: sqlgraph.NewFieldSpec(file.FieldID, field.TypeInt),
232 },
233 }
234 for _, k := range nodes {
235 edge.Target.Nodes = append(edge.Target.Nodes, k)
236 }
237 _spec.Edges.Add = append(_spec.Edges.Add, edge)

Callers

nothing calls this directly

Calls 12

checkMethod · 0.95
IsPublicMethod · 0.80
UpdatedAtMethod · 0.65
NameMethod · 0.65
ErrorMethod · 0.65
SetFieldMethod · 0.45
DeletedAtMethod · 0.45
DeletedAtClearedMethod · 0.45
ClearFieldMethod · 0.45
ValueMethod · 0.45
FileClearedMethod · 0.45
FileIDsMethod · 0.45

Tested by

no test coverage detected