MCPcopy
hub / github.com/crowdsecurity/crowdsec / sqlSave

Method sqlSave

pkg/database/ent/event_update.go:290–361  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

288}
289
290func (_u *EventUpdateOne) sqlSave(ctx context.Context) (_node *Event, err error) {
291 _spec := sqlgraph.NewUpdateSpec(event.Table, event.Columns, sqlgraph.NewFieldSpec(event.FieldID, field.TypeInt))
292 id, ok := _u.mutation.ID()
293 if !ok {
294 return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "Event.id" for update`)}
295 }
296 _spec.Node.ID.Value = id
297 if fields := _u.fields; len(fields) > 0 {
298 _spec.Node.Columns = make([]string, 0, len(fields))
299 _spec.Node.Columns = append(_spec.Node.Columns, event.FieldID)
300 for _, f := range fields {
301 if !event.ValidColumn(f) {
302 return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
303 }
304 if f != event.FieldID {
305 _spec.Node.Columns = append(_spec.Node.Columns, f)
306 }
307 }
308 }
309 if ps := _u.mutation.predicates; len(ps) > 0 {
310 _spec.Predicate = func(selector *sql.Selector) {
311 for i := range ps {
312 ps[i](selector)
313 }
314 }
315 }
316 if value, ok := _u.mutation.UpdatedAt(); ok {
317 _spec.SetField(event.FieldUpdatedAt, field.TypeTime, value)
318 }
319 if _u.mutation.OwnerCleared() {
320 edge := &sqlgraph.EdgeSpec{
321 Rel: sqlgraph.M2O,
322 Inverse: true,
323 Table: event.OwnerTable,
324 Columns: []string{event.OwnerColumn},
325 Bidi: false,
326 Target: &sqlgraph.EdgeTarget{
327 IDSpec: sqlgraph.NewFieldSpec(alert.FieldID, field.TypeInt),
328 },
329 }
330 _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
331 }
332 if nodes := _u.mutation.OwnerIDs(); len(nodes) > 0 {
333 edge := &sqlgraph.EdgeSpec{
334 Rel: sqlgraph.M2O,
335 Inverse: true,
336 Table: event.OwnerTable,
337 Columns: []string{event.OwnerColumn},
338 Bidi: false,
339 Target: &sqlgraph.EdgeTarget{
340 IDSpec: sqlgraph.NewFieldSpec(alert.FieldID, field.TypeInt),
341 },
342 }
343 for _, k := range nodes {
344 edge.Target.Nodes = append(edge.Target.Nodes, k)
345 }
346 _spec.Edges.Add = append(_spec.Edges.Add, edge)
347 }

Callers

nothing calls this directly

Calls 7

ValidColumnFunction · 0.92
ErrorMethod · 0.65
IDMethod · 0.45
UpdatedAtMethod · 0.45
SetFieldMethod · 0.45
OwnerClearedMethod · 0.45
OwnerIDsMethod · 0.45

Tested by

no test coverage detected