// Code generated by ent, DO NOT EDIT. package ent import ( "context" "errors" "fmt" "time" "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "entgo.io/ent/dialect/sql/sqljson" "entgo.io/ent/schema/field" "github.com/google/uuid" "github.com/sysadminsmedia/homebox/backend/internal/data/ent/group" "github.com/sysadminsmedia/homebox/backend/internal/data/ent/itemtemplate" "github.com/sysadminsmedia/homebox/backend/internal/data/ent/location" "github.com/sysadminsmedia/homebox/backend/internal/data/ent/predicate" "github.com/sysadminsmedia/homebox/backend/internal/data/ent/templatefield" ) // ItemTemplateUpdate is the builder for updating ItemTemplate entities. type ItemTemplateUpdate struct { config hooks []Hook mutation *ItemTemplateMutation } // Where appends a list predicates to the ItemTemplateUpdate builder. func (_u *ItemTemplateUpdate) Where(ps ...predicate.ItemTemplate) *ItemTemplateUpdate { _u.mutation.Where(ps...) return _u } // SetUpdatedAt sets the "updated_at" field. func (_u *ItemTemplateUpdate) SetUpdatedAt(v time.Time) *ItemTemplateUpdate { _u.mutation.SetUpdatedAt(v) return _u } // SetName sets the "name" field. func (_u *ItemTemplateUpdate) SetName(v string) *ItemTemplateUpdate { _u.mutation.SetName(v) return _u } // SetNillableName sets the "name" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableName(v *string) *ItemTemplateUpdate { if v != nil { _u.SetName(*v) } return _u } // SetDescription sets the "description" field. func (_u *ItemTemplateUpdate) SetDescription(v string) *ItemTemplateUpdate { _u.mutation.SetDescription(v) return _u } // SetNillableDescription sets the "description" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDescription(v *string) *ItemTemplateUpdate { if v != nil { _u.SetDescription(*v) } return _u } // ClearDescription clears the value of the "description" field. func (_u *ItemTemplateUpdate) ClearDescription() *ItemTemplateUpdate { _u.mutation.ClearDescription() return _u } // SetNotes sets the "notes" field. func (_u *ItemTemplateUpdate) SetNotes(v string) *ItemTemplateUpdate { _u.mutation.SetNotes(v) return _u } // SetNillableNotes sets the "notes" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableNotes(v *string) *ItemTemplateUpdate { if v != nil { _u.SetNotes(*v) } return _u } // ClearNotes clears the value of the "notes" field. func (_u *ItemTemplateUpdate) ClearNotes() *ItemTemplateUpdate { _u.mutation.ClearNotes() return _u } // SetDefaultQuantity sets the "default_quantity" field. func (_u *ItemTemplateUpdate) SetDefaultQuantity(v int) *ItemTemplateUpdate { _u.mutation.ResetDefaultQuantity() _u.mutation.SetDefaultQuantity(v) return _u } // SetNillableDefaultQuantity sets the "default_quantity" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultQuantity(v *int) *ItemTemplateUpdate { if v != nil { _u.SetDefaultQuantity(*v) } return _u } // AddDefaultQuantity adds value to the "default_quantity" field. func (_u *ItemTemplateUpdate) AddDefaultQuantity(v int) *ItemTemplateUpdate { _u.mutation.AddDefaultQuantity(v) return _u } // SetDefaultInsured sets the "default_insured" field. func (_u *ItemTemplateUpdate) SetDefaultInsured(v bool) *ItemTemplateUpdate { _u.mutation.SetDefaultInsured(v) return _u } // SetNillableDefaultInsured sets the "default_insured" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultInsured(v *bool) *ItemTemplateUpdate { if v != nil { _u.SetDefaultInsured(*v) } return _u } // SetDefaultName sets the "default_name" field. func (_u *ItemTemplateUpdate) SetDefaultName(v string) *ItemTemplateUpdate { _u.mutation.SetDefaultName(v) return _u } // SetNillableDefaultName sets the "default_name" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultName(v *string) *ItemTemplateUpdate { if v != nil { _u.SetDefaultName(*v) } return _u } // ClearDefaultName clears the value of the "default_name" field. func (_u *ItemTemplateUpdate) ClearDefaultName() *ItemTemplateUpdate { _u.mutation.ClearDefaultName() return _u } // SetDefaultDescription sets the "default_description" field. func (_u *ItemTemplateUpdate) SetDefaultDescription(v string) *ItemTemplateUpdate { _u.mutation.SetDefaultDescription(v) return _u } // SetNillableDefaultDescription sets the "default_description" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultDescription(v *string) *ItemTemplateUpdate { if v != nil { _u.SetDefaultDescription(*v) } return _u } // ClearDefaultDescription clears the value of the "default_description" field. func (_u *ItemTemplateUpdate) ClearDefaultDescription() *ItemTemplateUpdate { _u.mutation.ClearDefaultDescription() return _u } // SetDefaultManufacturer sets the "default_manufacturer" field. func (_u *ItemTemplateUpdate) SetDefaultManufacturer(v string) *ItemTemplateUpdate { _u.mutation.SetDefaultManufacturer(v) return _u } // SetNillableDefaultManufacturer sets the "default_manufacturer" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultManufacturer(v *string) *ItemTemplateUpdate { if v != nil { _u.SetDefaultManufacturer(*v) } return _u } // ClearDefaultManufacturer clears the value of the "default_manufacturer" field. func (_u *ItemTemplateUpdate) ClearDefaultManufacturer() *ItemTemplateUpdate { _u.mutation.ClearDefaultManufacturer() return _u } // SetDefaultModelNumber sets the "default_model_number" field. func (_u *ItemTemplateUpdate) SetDefaultModelNumber(v string) *ItemTemplateUpdate { _u.mutation.SetDefaultModelNumber(v) return _u } // SetNillableDefaultModelNumber sets the "default_model_number" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultModelNumber(v *string) *ItemTemplateUpdate { if v != nil { _u.SetDefaultModelNumber(*v) } return _u } // ClearDefaultModelNumber clears the value of the "default_model_number" field. func (_u *ItemTemplateUpdate) ClearDefaultModelNumber() *ItemTemplateUpdate { _u.mutation.ClearDefaultModelNumber() return _u } // SetDefaultLifetimeWarranty sets the "default_lifetime_warranty" field. func (_u *ItemTemplateUpdate) SetDefaultLifetimeWarranty(v bool) *ItemTemplateUpdate { _u.mutation.SetDefaultLifetimeWarranty(v) return _u } // SetNillableDefaultLifetimeWarranty sets the "default_lifetime_warranty" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultLifetimeWarranty(v *bool) *ItemTemplateUpdate { if v != nil { _u.SetDefaultLifetimeWarranty(*v) } return _u } // SetDefaultWarrantyDetails sets the "default_warranty_details" field. func (_u *ItemTemplateUpdate) SetDefaultWarrantyDetails(v string) *ItemTemplateUpdate { _u.mutation.SetDefaultWarrantyDetails(v) return _u } // SetNillableDefaultWarrantyDetails sets the "default_warranty_details" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableDefaultWarrantyDetails(v *string) *ItemTemplateUpdate { if v != nil { _u.SetDefaultWarrantyDetails(*v) } return _u } // ClearDefaultWarrantyDetails clears the value of the "default_warranty_details" field. func (_u *ItemTemplateUpdate) ClearDefaultWarrantyDetails() *ItemTemplateUpdate { _u.mutation.ClearDefaultWarrantyDetails() return _u } // SetIncludeWarrantyFields sets the "include_warranty_fields" field. func (_u *ItemTemplateUpdate) SetIncludeWarrantyFields(v bool) *ItemTemplateUpdate { _u.mutation.SetIncludeWarrantyFields(v) return _u } // SetNillableIncludeWarrantyFields sets the "include_warranty_fields" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableIncludeWarrantyFields(v *bool) *ItemTemplateUpdate { if v != nil { _u.SetIncludeWarrantyFields(*v) } return _u } // SetIncludePurchaseFields sets the "include_purchase_fields" field. func (_u *ItemTemplateUpdate) SetIncludePurchaseFields(v bool) *ItemTemplateUpdate { _u.mutation.SetIncludePurchaseFields(v) return _u } // SetNillableIncludePurchaseFields sets the "include_purchase_fields" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableIncludePurchaseFields(v *bool) *ItemTemplateUpdate { if v != nil { _u.SetIncludePurchaseFields(*v) } return _u } // SetIncludeSoldFields sets the "include_sold_fields" field. func (_u *ItemTemplateUpdate) SetIncludeSoldFields(v bool) *ItemTemplateUpdate { _u.mutation.SetIncludeSoldFields(v) return _u } // SetNillableIncludeSoldFields sets the "include_sold_fields" field if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableIncludeSoldFields(v *bool) *ItemTemplateUpdate { if v != nil { _u.SetIncludeSoldFields(*v) } return _u } // SetDefaultLabelIds sets the "default_label_ids" field. func (_u *ItemTemplateUpdate) SetDefaultLabelIds(v []uuid.UUID) *ItemTemplateUpdate { _u.mutation.SetDefaultLabelIds(v) return _u } // AppendDefaultLabelIds appends value to the "default_label_ids" field. func (_u *ItemTemplateUpdate) AppendDefaultLabelIds(v []uuid.UUID) *ItemTemplateUpdate { _u.mutation.AppendDefaultLabelIds(v) return _u } // ClearDefaultLabelIds clears the value of the "default_label_ids" field. func (_u *ItemTemplateUpdate) ClearDefaultLabelIds() *ItemTemplateUpdate { _u.mutation.ClearDefaultLabelIds() return _u } // SetGroupID sets the "group" edge to the Group entity by ID. func (_u *ItemTemplateUpdate) SetGroupID(id uuid.UUID) *ItemTemplateUpdate { _u.mutation.SetGroupID(id) return _u } // SetGroup sets the "group" edge to the Group entity. func (_u *ItemTemplateUpdate) SetGroup(v *Group) *ItemTemplateUpdate { return _u.SetGroupID(v.ID) } // AddFieldIDs adds the "fields" edge to the TemplateField entity by IDs. func (_u *ItemTemplateUpdate) AddFieldIDs(ids ...uuid.UUID) *ItemTemplateUpdate { _u.mutation.AddFieldIDs(ids...) return _u } // AddFields adds the "fields" edges to the TemplateField entity. func (_u *ItemTemplateUpdate) AddFields(v ...*TemplateField) *ItemTemplateUpdate { ids := make([]uuid.UUID, len(v)) for i := range v { ids[i] = v[i].ID } return _u.AddFieldIDs(ids...) } // SetLocationID sets the "location" edge to the Location entity by ID. func (_u *ItemTemplateUpdate) SetLocationID(id uuid.UUID) *ItemTemplateUpdate { _u.mutation.SetLocationID(id) return _u } // SetNillableLocationID sets the "location" edge to the Location entity by ID if the given value is not nil. func (_u *ItemTemplateUpdate) SetNillableLocationID(id *uuid.UUID) *ItemTemplateUpdate { if id != nil { _u = _u.SetLocationID(*id) } return _u } // SetLocation sets the "location" edge to the Location entity. func (_u *ItemTemplateUpdate) SetLocation(v *Location) *ItemTemplateUpdate { return _u.SetLocationID(v.ID) } // Mutation returns the ItemTemplateMutation object of the builder. func (_u *ItemTemplateUpdate) Mutation() *ItemTemplateMutation { return _u.mutation } // ClearGroup clears the "group" edge to the Group entity. func (_u *ItemTemplateUpdate) ClearGroup() *ItemTemplateUpdate { _u.mutation.ClearGroup() return _u } // ClearFields clears all "fields" edges to the TemplateField entity. func (_u *ItemTemplateUpdate) ClearFields() *ItemTemplateUpdate { _u.mutation.ClearFields() return _u } // RemoveFieldIDs removes the "fields" edge to TemplateField entities by IDs. func (_u *ItemTemplateUpdate) RemoveFieldIDs(ids ...uuid.UUID) *ItemTemplateUpdate { _u.mutation.RemoveFieldIDs(ids...) return _u } // RemoveFields removes "fields" edges to TemplateField entities. func (_u *ItemTemplateUpdate) RemoveFields(v ...*TemplateField) *ItemTemplateUpdate { ids := make([]uuid.UUID, len(v)) for i := range v { ids[i] = v[i].ID } return _u.RemoveFieldIDs(ids...) } // ClearLocation clears the "location" edge to the Location entity. func (_u *ItemTemplateUpdate) ClearLocation() *ItemTemplateUpdate { _u.mutation.ClearLocation() return _u } // Save executes the query and returns the number of nodes affected by the update operation. func (_u *ItemTemplateUpdate) Save(ctx context.Context) (int, error) { _u.defaults() return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks) } // SaveX is like Save, but panics if an error occurs. func (_u *ItemTemplateUpdate) SaveX(ctx context.Context) int { affected, err := _u.Save(ctx) if err != nil { panic(err) } return affected } // Exec executes the query. func (_u *ItemTemplateUpdate) Exec(ctx context.Context) error { _, err := _u.Save(ctx) return err } // ExecX is like Exec, but panics if an error occurs. func (_u *ItemTemplateUpdate) ExecX(ctx context.Context) { if err := _u.Exec(ctx); err != nil { panic(err) } } // defaults sets the default values of the builder before save. func (_u *ItemTemplateUpdate) defaults() { if _, ok := _u.mutation.UpdatedAt(); !ok { v := itemtemplate.UpdateDefaultUpdatedAt() _u.mutation.SetUpdatedAt(v) } } // check runs all checks and user-defined validators on the builder. func (_u *ItemTemplateUpdate) check() error { if v, ok := _u.mutation.Name(); ok { if err := itemtemplate.NameValidator(v); err != nil { return &ValidationError{Name: "name", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.name": %w`, err)} } } if v, ok := _u.mutation.Description(); ok { if err := itemtemplate.DescriptionValidator(v); err != nil { return &ValidationError{Name: "description", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.description": %w`, err)} } } if v, ok := _u.mutation.Notes(); ok { if err := itemtemplate.NotesValidator(v); err != nil { return &ValidationError{Name: "notes", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.notes": %w`, err)} } } if v, ok := _u.mutation.DefaultName(); ok { if err := itemtemplate.DefaultNameValidator(v); err != nil { return &ValidationError{Name: "default_name", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_name": %w`, err)} } } if v, ok := _u.mutation.DefaultDescription(); ok { if err := itemtemplate.DefaultDescriptionValidator(v); err != nil { return &ValidationError{Name: "default_description", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_description": %w`, err)} } } if v, ok := _u.mutation.DefaultManufacturer(); ok { if err := itemtemplate.DefaultManufacturerValidator(v); err != nil { return &ValidationError{Name: "default_manufacturer", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_manufacturer": %w`, err)} } } if v, ok := _u.mutation.DefaultModelNumber(); ok { if err := itemtemplate.DefaultModelNumberValidator(v); err != nil { return &ValidationError{Name: "default_model_number", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_model_number": %w`, err)} } } if v, ok := _u.mutation.DefaultWarrantyDetails(); ok { if err := itemtemplate.DefaultWarrantyDetailsValidator(v); err != nil { return &ValidationError{Name: "default_warranty_details", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_warranty_details": %w`, err)} } } if _u.mutation.GroupCleared() && len(_u.mutation.GroupIDs()) > 0 { return errors.New(`ent: clearing a required unique edge "ItemTemplate.group"`) } return nil } func (_u *ItemTemplateUpdate) sqlSave(ctx context.Context) (_node int, err error) { if err := _u.check(); err != nil { return _node, err } _spec := sqlgraph.NewUpdateSpec(itemtemplate.Table, itemtemplate.Columns, sqlgraph.NewFieldSpec(itemtemplate.FieldID, field.TypeUUID)) if ps := _u.mutation.predicates; len(ps) > 0 { _spec.Predicate = func(selector *sql.Selector) { for i := range ps { ps[i](selector) } } } if value, ok := _u.mutation.UpdatedAt(); ok { _spec.SetField(itemtemplate.FieldUpdatedAt, field.TypeTime, value) } if value, ok := _u.mutation.Name(); ok { _spec.SetField(itemtemplate.FieldName, field.TypeString, value) } if value, ok := _u.mutation.Description(); ok { _spec.SetField(itemtemplate.FieldDescription, field.TypeString, value) } if _u.mutation.DescriptionCleared() { _spec.ClearField(itemtemplate.FieldDescription, field.TypeString) } if value, ok := _u.mutation.Notes(); ok { _spec.SetField(itemtemplate.FieldNotes, field.TypeString, value) } if _u.mutation.NotesCleared() { _spec.ClearField(itemtemplate.FieldNotes, field.TypeString) } if value, ok := _u.mutation.DefaultQuantity(); ok { _spec.SetField(itemtemplate.FieldDefaultQuantity, field.TypeInt, value) } if value, ok := _u.mutation.AddedDefaultQuantity(); ok { _spec.AddField(itemtemplate.FieldDefaultQuantity, field.TypeInt, value) } if value, ok := _u.mutation.DefaultInsured(); ok { _spec.SetField(itemtemplate.FieldDefaultInsured, field.TypeBool, value) } if value, ok := _u.mutation.DefaultName(); ok { _spec.SetField(itemtemplate.FieldDefaultName, field.TypeString, value) } if _u.mutation.DefaultNameCleared() { _spec.ClearField(itemtemplate.FieldDefaultName, field.TypeString) } if value, ok := _u.mutation.DefaultDescription(); ok { _spec.SetField(itemtemplate.FieldDefaultDescription, field.TypeString, value) } if _u.mutation.DefaultDescriptionCleared() { _spec.ClearField(itemtemplate.FieldDefaultDescription, field.TypeString) } if value, ok := _u.mutation.DefaultManufacturer(); ok { _spec.SetField(itemtemplate.FieldDefaultManufacturer, field.TypeString, value) } if _u.mutation.DefaultManufacturerCleared() { _spec.ClearField(itemtemplate.FieldDefaultManufacturer, field.TypeString) } if value, ok := _u.mutation.DefaultModelNumber(); ok { _spec.SetField(itemtemplate.FieldDefaultModelNumber, field.TypeString, value) } if _u.mutation.DefaultModelNumberCleared() { _spec.ClearField(itemtemplate.FieldDefaultModelNumber, field.TypeString) } if value, ok := _u.mutation.DefaultLifetimeWarranty(); ok { _spec.SetField(itemtemplate.FieldDefaultLifetimeWarranty, field.TypeBool, value) } if value, ok := _u.mutation.DefaultWarrantyDetails(); ok { _spec.SetField(itemtemplate.FieldDefaultWarrantyDetails, field.TypeString, value) } if _u.mutation.DefaultWarrantyDetailsCleared() { _spec.ClearField(itemtemplate.FieldDefaultWarrantyDetails, field.TypeString) } if value, ok := _u.mutation.IncludeWarrantyFields(); ok { _spec.SetField(itemtemplate.FieldIncludeWarrantyFields, field.TypeBool, value) } if value, ok := _u.mutation.IncludePurchaseFields(); ok { _spec.SetField(itemtemplate.FieldIncludePurchaseFields, field.TypeBool, value) } if value, ok := _u.mutation.IncludeSoldFields(); ok { _spec.SetField(itemtemplate.FieldIncludeSoldFields, field.TypeBool, value) } if value, ok := _u.mutation.DefaultLabelIds(); ok { _spec.SetField(itemtemplate.FieldDefaultLabelIds, field.TypeJSON, value) } if value, ok := _u.mutation.AppendedDefaultLabelIds(); ok { _spec.AddModifier(func(u *sql.UpdateBuilder) { sqljson.Append(u, itemtemplate.FieldDefaultLabelIds, value) }) } if _u.mutation.DefaultLabelIdsCleared() { _spec.ClearField(itemtemplate.FieldDefaultLabelIds, field.TypeJSON) } if _u.mutation.GroupCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: true, Table: itemtemplate.GroupTable, Columns: []string{itemtemplate.GroupColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.GroupIDs(); len(nodes) > 0 { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: true, Table: itemtemplate.GroupTable, Columns: []string{itemtemplate.GroupColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Add = append(_spec.Edges.Add, edge) } if _u.mutation.FieldsCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.O2M, Inverse: false, Table: itemtemplate.FieldsTable, Columns: []string{itemtemplate.FieldsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(templatefield.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.RemovedFieldsIDs(); len(nodes) > 0 && !_u.mutation.FieldsCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.O2M, Inverse: false, Table: itemtemplate.FieldsTable, Columns: []string{itemtemplate.FieldsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(templatefield.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.FieldsIDs(); len(nodes) > 0 { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.O2M, Inverse: false, Table: itemtemplate.FieldsTable, Columns: []string{itemtemplate.FieldsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(templatefield.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Add = append(_spec.Edges.Add, edge) } if _u.mutation.LocationCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: false, Table: itemtemplate.LocationTable, Columns: []string{itemtemplate.LocationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(location.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.LocationIDs(); len(nodes) > 0 { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: false, Table: itemtemplate.LocationTable, Columns: []string{itemtemplate.LocationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(location.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Add = append(_spec.Edges.Add, edge) } if _node, err = sqlgraph.UpdateNodes(ctx, _u.driver, _spec); err != nil { if _, ok := err.(*sqlgraph.NotFoundError); ok { err = &NotFoundError{itemtemplate.Label} } else if sqlgraph.IsConstraintError(err) { err = &ConstraintError{msg: err.Error(), wrap: err} } return 0, err } _u.mutation.done = true return _node, nil } // ItemTemplateUpdateOne is the builder for updating a single ItemTemplate entity. type ItemTemplateUpdateOne struct { config fields []string hooks []Hook mutation *ItemTemplateMutation } // SetUpdatedAt sets the "updated_at" field. func (_u *ItemTemplateUpdateOne) SetUpdatedAt(v time.Time) *ItemTemplateUpdateOne { _u.mutation.SetUpdatedAt(v) return _u } // SetName sets the "name" field. func (_u *ItemTemplateUpdateOne) SetName(v string) *ItemTemplateUpdateOne { _u.mutation.SetName(v) return _u } // SetNillableName sets the "name" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableName(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetName(*v) } return _u } // SetDescription sets the "description" field. func (_u *ItemTemplateUpdateOne) SetDescription(v string) *ItemTemplateUpdateOne { _u.mutation.SetDescription(v) return _u } // SetNillableDescription sets the "description" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDescription(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetDescription(*v) } return _u } // ClearDescription clears the value of the "description" field. func (_u *ItemTemplateUpdateOne) ClearDescription() *ItemTemplateUpdateOne { _u.mutation.ClearDescription() return _u } // SetNotes sets the "notes" field. func (_u *ItemTemplateUpdateOne) SetNotes(v string) *ItemTemplateUpdateOne { _u.mutation.SetNotes(v) return _u } // SetNillableNotes sets the "notes" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableNotes(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetNotes(*v) } return _u } // ClearNotes clears the value of the "notes" field. func (_u *ItemTemplateUpdateOne) ClearNotes() *ItemTemplateUpdateOne { _u.mutation.ClearNotes() return _u } // SetDefaultQuantity sets the "default_quantity" field. func (_u *ItemTemplateUpdateOne) SetDefaultQuantity(v int) *ItemTemplateUpdateOne { _u.mutation.ResetDefaultQuantity() _u.mutation.SetDefaultQuantity(v) return _u } // SetNillableDefaultQuantity sets the "default_quantity" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultQuantity(v *int) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultQuantity(*v) } return _u } // AddDefaultQuantity adds value to the "default_quantity" field. func (_u *ItemTemplateUpdateOne) AddDefaultQuantity(v int) *ItemTemplateUpdateOne { _u.mutation.AddDefaultQuantity(v) return _u } // SetDefaultInsured sets the "default_insured" field. func (_u *ItemTemplateUpdateOne) SetDefaultInsured(v bool) *ItemTemplateUpdateOne { _u.mutation.SetDefaultInsured(v) return _u } // SetNillableDefaultInsured sets the "default_insured" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultInsured(v *bool) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultInsured(*v) } return _u } // SetDefaultName sets the "default_name" field. func (_u *ItemTemplateUpdateOne) SetDefaultName(v string) *ItemTemplateUpdateOne { _u.mutation.SetDefaultName(v) return _u } // SetNillableDefaultName sets the "default_name" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultName(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultName(*v) } return _u } // ClearDefaultName clears the value of the "default_name" field. func (_u *ItemTemplateUpdateOne) ClearDefaultName() *ItemTemplateUpdateOne { _u.mutation.ClearDefaultName() return _u } // SetDefaultDescription sets the "default_description" field. func (_u *ItemTemplateUpdateOne) SetDefaultDescription(v string) *ItemTemplateUpdateOne { _u.mutation.SetDefaultDescription(v) return _u } // SetNillableDefaultDescription sets the "default_description" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultDescription(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultDescription(*v) } return _u } // ClearDefaultDescription clears the value of the "default_description" field. func (_u *ItemTemplateUpdateOne) ClearDefaultDescription() *ItemTemplateUpdateOne { _u.mutation.ClearDefaultDescription() return _u } // SetDefaultManufacturer sets the "default_manufacturer" field. func (_u *ItemTemplateUpdateOne) SetDefaultManufacturer(v string) *ItemTemplateUpdateOne { _u.mutation.SetDefaultManufacturer(v) return _u } // SetNillableDefaultManufacturer sets the "default_manufacturer" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultManufacturer(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultManufacturer(*v) } return _u } // ClearDefaultManufacturer clears the value of the "default_manufacturer" field. func (_u *ItemTemplateUpdateOne) ClearDefaultManufacturer() *ItemTemplateUpdateOne { _u.mutation.ClearDefaultManufacturer() return _u } // SetDefaultModelNumber sets the "default_model_number" field. func (_u *ItemTemplateUpdateOne) SetDefaultModelNumber(v string) *ItemTemplateUpdateOne { _u.mutation.SetDefaultModelNumber(v) return _u } // SetNillableDefaultModelNumber sets the "default_model_number" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultModelNumber(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultModelNumber(*v) } return _u } // ClearDefaultModelNumber clears the value of the "default_model_number" field. func (_u *ItemTemplateUpdateOne) ClearDefaultModelNumber() *ItemTemplateUpdateOne { _u.mutation.ClearDefaultModelNumber() return _u } // SetDefaultLifetimeWarranty sets the "default_lifetime_warranty" field. func (_u *ItemTemplateUpdateOne) SetDefaultLifetimeWarranty(v bool) *ItemTemplateUpdateOne { _u.mutation.SetDefaultLifetimeWarranty(v) return _u } // SetNillableDefaultLifetimeWarranty sets the "default_lifetime_warranty" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultLifetimeWarranty(v *bool) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultLifetimeWarranty(*v) } return _u } // SetDefaultWarrantyDetails sets the "default_warranty_details" field. func (_u *ItemTemplateUpdateOne) SetDefaultWarrantyDetails(v string) *ItemTemplateUpdateOne { _u.mutation.SetDefaultWarrantyDetails(v) return _u } // SetNillableDefaultWarrantyDetails sets the "default_warranty_details" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableDefaultWarrantyDetails(v *string) *ItemTemplateUpdateOne { if v != nil { _u.SetDefaultWarrantyDetails(*v) } return _u } // ClearDefaultWarrantyDetails clears the value of the "default_warranty_details" field. func (_u *ItemTemplateUpdateOne) ClearDefaultWarrantyDetails() *ItemTemplateUpdateOne { _u.mutation.ClearDefaultWarrantyDetails() return _u } // SetIncludeWarrantyFields sets the "include_warranty_fields" field. func (_u *ItemTemplateUpdateOne) SetIncludeWarrantyFields(v bool) *ItemTemplateUpdateOne { _u.mutation.SetIncludeWarrantyFields(v) return _u } // SetNillableIncludeWarrantyFields sets the "include_warranty_fields" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableIncludeWarrantyFields(v *bool) *ItemTemplateUpdateOne { if v != nil { _u.SetIncludeWarrantyFields(*v) } return _u } // SetIncludePurchaseFields sets the "include_purchase_fields" field. func (_u *ItemTemplateUpdateOne) SetIncludePurchaseFields(v bool) *ItemTemplateUpdateOne { _u.mutation.SetIncludePurchaseFields(v) return _u } // SetNillableIncludePurchaseFields sets the "include_purchase_fields" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableIncludePurchaseFields(v *bool) *ItemTemplateUpdateOne { if v != nil { _u.SetIncludePurchaseFields(*v) } return _u } // SetIncludeSoldFields sets the "include_sold_fields" field. func (_u *ItemTemplateUpdateOne) SetIncludeSoldFields(v bool) *ItemTemplateUpdateOne { _u.mutation.SetIncludeSoldFields(v) return _u } // SetNillableIncludeSoldFields sets the "include_sold_fields" field if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableIncludeSoldFields(v *bool) *ItemTemplateUpdateOne { if v != nil { _u.SetIncludeSoldFields(*v) } return _u } // SetDefaultLabelIds sets the "default_label_ids" field. func (_u *ItemTemplateUpdateOne) SetDefaultLabelIds(v []uuid.UUID) *ItemTemplateUpdateOne { _u.mutation.SetDefaultLabelIds(v) return _u } // AppendDefaultLabelIds appends value to the "default_label_ids" field. func (_u *ItemTemplateUpdateOne) AppendDefaultLabelIds(v []uuid.UUID) *ItemTemplateUpdateOne { _u.mutation.AppendDefaultLabelIds(v) return _u } // ClearDefaultLabelIds clears the value of the "default_label_ids" field. func (_u *ItemTemplateUpdateOne) ClearDefaultLabelIds() *ItemTemplateUpdateOne { _u.mutation.ClearDefaultLabelIds() return _u } // SetGroupID sets the "group" edge to the Group entity by ID. func (_u *ItemTemplateUpdateOne) SetGroupID(id uuid.UUID) *ItemTemplateUpdateOne { _u.mutation.SetGroupID(id) return _u } // SetGroup sets the "group" edge to the Group entity. func (_u *ItemTemplateUpdateOne) SetGroup(v *Group) *ItemTemplateUpdateOne { return _u.SetGroupID(v.ID) } // AddFieldIDs adds the "fields" edge to the TemplateField entity by IDs. func (_u *ItemTemplateUpdateOne) AddFieldIDs(ids ...uuid.UUID) *ItemTemplateUpdateOne { _u.mutation.AddFieldIDs(ids...) return _u } // AddFields adds the "fields" edges to the TemplateField entity. func (_u *ItemTemplateUpdateOne) AddFields(v ...*TemplateField) *ItemTemplateUpdateOne { ids := make([]uuid.UUID, len(v)) for i := range v { ids[i] = v[i].ID } return _u.AddFieldIDs(ids...) } // SetLocationID sets the "location" edge to the Location entity by ID. func (_u *ItemTemplateUpdateOne) SetLocationID(id uuid.UUID) *ItemTemplateUpdateOne { _u.mutation.SetLocationID(id) return _u } // SetNillableLocationID sets the "location" edge to the Location entity by ID if the given value is not nil. func (_u *ItemTemplateUpdateOne) SetNillableLocationID(id *uuid.UUID) *ItemTemplateUpdateOne { if id != nil { _u = _u.SetLocationID(*id) } return _u } // SetLocation sets the "location" edge to the Location entity. func (_u *ItemTemplateUpdateOne) SetLocation(v *Location) *ItemTemplateUpdateOne { return _u.SetLocationID(v.ID) } // Mutation returns the ItemTemplateMutation object of the builder. func (_u *ItemTemplateUpdateOne) Mutation() *ItemTemplateMutation { return _u.mutation } // ClearGroup clears the "group" edge to the Group entity. func (_u *ItemTemplateUpdateOne) ClearGroup() *ItemTemplateUpdateOne { _u.mutation.ClearGroup() return _u } // ClearFields clears all "fields" edges to the TemplateField entity. func (_u *ItemTemplateUpdateOne) ClearFields() *ItemTemplateUpdateOne { _u.mutation.ClearFields() return _u } // RemoveFieldIDs removes the "fields" edge to TemplateField entities by IDs. func (_u *ItemTemplateUpdateOne) RemoveFieldIDs(ids ...uuid.UUID) *ItemTemplateUpdateOne { _u.mutation.RemoveFieldIDs(ids...) return _u } // RemoveFields removes "fields" edges to TemplateField entities. func (_u *ItemTemplateUpdateOne) RemoveFields(v ...*TemplateField) *ItemTemplateUpdateOne { ids := make([]uuid.UUID, len(v)) for i := range v { ids[i] = v[i].ID } return _u.RemoveFieldIDs(ids...) } // ClearLocation clears the "location" edge to the Location entity. func (_u *ItemTemplateUpdateOne) ClearLocation() *ItemTemplateUpdateOne { _u.mutation.ClearLocation() return _u } // Where appends a list predicates to the ItemTemplateUpdate builder. func (_u *ItemTemplateUpdateOne) Where(ps ...predicate.ItemTemplate) *ItemTemplateUpdateOne { _u.mutation.Where(ps...) return _u } // Select allows selecting one or more fields (columns) of the returned entity. // The default is selecting all fields defined in the entity schema. func (_u *ItemTemplateUpdateOne) Select(field string, fields ...string) *ItemTemplateUpdateOne { _u.fields = append([]string{field}, fields...) return _u } // Save executes the query and returns the updated ItemTemplate entity. func (_u *ItemTemplateUpdateOne) Save(ctx context.Context) (*ItemTemplate, error) { _u.defaults() return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks) } // SaveX is like Save, but panics if an error occurs. func (_u *ItemTemplateUpdateOne) SaveX(ctx context.Context) *ItemTemplate { node, err := _u.Save(ctx) if err != nil { panic(err) } return node } // Exec executes the query on the entity. func (_u *ItemTemplateUpdateOne) Exec(ctx context.Context) error { _, err := _u.Save(ctx) return err } // ExecX is like Exec, but panics if an error occurs. func (_u *ItemTemplateUpdateOne) ExecX(ctx context.Context) { if err := _u.Exec(ctx); err != nil { panic(err) } } // defaults sets the default values of the builder before save. func (_u *ItemTemplateUpdateOne) defaults() { if _, ok := _u.mutation.UpdatedAt(); !ok { v := itemtemplate.UpdateDefaultUpdatedAt() _u.mutation.SetUpdatedAt(v) } } // check runs all checks and user-defined validators on the builder. func (_u *ItemTemplateUpdateOne) check() error { if v, ok := _u.mutation.Name(); ok { if err := itemtemplate.NameValidator(v); err != nil { return &ValidationError{Name: "name", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.name": %w`, err)} } } if v, ok := _u.mutation.Description(); ok { if err := itemtemplate.DescriptionValidator(v); err != nil { return &ValidationError{Name: "description", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.description": %w`, err)} } } if v, ok := _u.mutation.Notes(); ok { if err := itemtemplate.NotesValidator(v); err != nil { return &ValidationError{Name: "notes", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.notes": %w`, err)} } } if v, ok := _u.mutation.DefaultName(); ok { if err := itemtemplate.DefaultNameValidator(v); err != nil { return &ValidationError{Name: "default_name", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_name": %w`, err)} } } if v, ok := _u.mutation.DefaultDescription(); ok { if err := itemtemplate.DefaultDescriptionValidator(v); err != nil { return &ValidationError{Name: "default_description", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_description": %w`, err)} } } if v, ok := _u.mutation.DefaultManufacturer(); ok { if err := itemtemplate.DefaultManufacturerValidator(v); err != nil { return &ValidationError{Name: "default_manufacturer", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_manufacturer": %w`, err)} } } if v, ok := _u.mutation.DefaultModelNumber(); ok { if err := itemtemplate.DefaultModelNumberValidator(v); err != nil { return &ValidationError{Name: "default_model_number", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_model_number": %w`, err)} } } if v, ok := _u.mutation.DefaultWarrantyDetails(); ok { if err := itemtemplate.DefaultWarrantyDetailsValidator(v); err != nil { return &ValidationError{Name: "default_warranty_details", err: fmt.Errorf(`ent: validator failed for field "ItemTemplate.default_warranty_details": %w`, err)} } } if _u.mutation.GroupCleared() && len(_u.mutation.GroupIDs()) > 0 { return errors.New(`ent: clearing a required unique edge "ItemTemplate.group"`) } return nil } func (_u *ItemTemplateUpdateOne) sqlSave(ctx context.Context) (_node *ItemTemplate, err error) { if err := _u.check(); err != nil { return _node, err } _spec := sqlgraph.NewUpdateSpec(itemtemplate.Table, itemtemplate.Columns, sqlgraph.NewFieldSpec(itemtemplate.FieldID, field.TypeUUID)) id, ok := _u.mutation.ID() if !ok { return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "ItemTemplate.id" for update`)} } _spec.Node.ID.Value = id if fields := _u.fields; len(fields) > 0 { _spec.Node.Columns = make([]string, 0, len(fields)) _spec.Node.Columns = append(_spec.Node.Columns, itemtemplate.FieldID) for _, f := range fields { if !itemtemplate.ValidColumn(f) { return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)} } if f != itemtemplate.FieldID { _spec.Node.Columns = append(_spec.Node.Columns, f) } } } if ps := _u.mutation.predicates; len(ps) > 0 { _spec.Predicate = func(selector *sql.Selector) { for i := range ps { ps[i](selector) } } } if value, ok := _u.mutation.UpdatedAt(); ok { _spec.SetField(itemtemplate.FieldUpdatedAt, field.TypeTime, value) } if value, ok := _u.mutation.Name(); ok { _spec.SetField(itemtemplate.FieldName, field.TypeString, value) } if value, ok := _u.mutation.Description(); ok { _spec.SetField(itemtemplate.FieldDescription, field.TypeString, value) } if _u.mutation.DescriptionCleared() { _spec.ClearField(itemtemplate.FieldDescription, field.TypeString) } if value, ok := _u.mutation.Notes(); ok { _spec.SetField(itemtemplate.FieldNotes, field.TypeString, value) } if _u.mutation.NotesCleared() { _spec.ClearField(itemtemplate.FieldNotes, field.TypeString) } if value, ok := _u.mutation.DefaultQuantity(); ok { _spec.SetField(itemtemplate.FieldDefaultQuantity, field.TypeInt, value) } if value, ok := _u.mutation.AddedDefaultQuantity(); ok { _spec.AddField(itemtemplate.FieldDefaultQuantity, field.TypeInt, value) } if value, ok := _u.mutation.DefaultInsured(); ok { _spec.SetField(itemtemplate.FieldDefaultInsured, field.TypeBool, value) } if value, ok := _u.mutation.DefaultName(); ok { _spec.SetField(itemtemplate.FieldDefaultName, field.TypeString, value) } if _u.mutation.DefaultNameCleared() { _spec.ClearField(itemtemplate.FieldDefaultName, field.TypeString) } if value, ok := _u.mutation.DefaultDescription(); ok { _spec.SetField(itemtemplate.FieldDefaultDescription, field.TypeString, value) } if _u.mutation.DefaultDescriptionCleared() { _spec.ClearField(itemtemplate.FieldDefaultDescription, field.TypeString) } if value, ok := _u.mutation.DefaultManufacturer(); ok { _spec.SetField(itemtemplate.FieldDefaultManufacturer, field.TypeString, value) } if _u.mutation.DefaultManufacturerCleared() { _spec.ClearField(itemtemplate.FieldDefaultManufacturer, field.TypeString) } if value, ok := _u.mutation.DefaultModelNumber(); ok { _spec.SetField(itemtemplate.FieldDefaultModelNumber, field.TypeString, value) } if _u.mutation.DefaultModelNumberCleared() { _spec.ClearField(itemtemplate.FieldDefaultModelNumber, field.TypeString) } if value, ok := _u.mutation.DefaultLifetimeWarranty(); ok { _spec.SetField(itemtemplate.FieldDefaultLifetimeWarranty, field.TypeBool, value) } if value, ok := _u.mutation.DefaultWarrantyDetails(); ok { _spec.SetField(itemtemplate.FieldDefaultWarrantyDetails, field.TypeString, value) } if _u.mutation.DefaultWarrantyDetailsCleared() { _spec.ClearField(itemtemplate.FieldDefaultWarrantyDetails, field.TypeString) } if value, ok := _u.mutation.IncludeWarrantyFields(); ok { _spec.SetField(itemtemplate.FieldIncludeWarrantyFields, field.TypeBool, value) } if value, ok := _u.mutation.IncludePurchaseFields(); ok { _spec.SetField(itemtemplate.FieldIncludePurchaseFields, field.TypeBool, value) } if value, ok := _u.mutation.IncludeSoldFields(); ok { _spec.SetField(itemtemplate.FieldIncludeSoldFields, field.TypeBool, value) } if value, ok := _u.mutation.DefaultLabelIds(); ok { _spec.SetField(itemtemplate.FieldDefaultLabelIds, field.TypeJSON, value) } if value, ok := _u.mutation.AppendedDefaultLabelIds(); ok { _spec.AddModifier(func(u *sql.UpdateBuilder) { sqljson.Append(u, itemtemplate.FieldDefaultLabelIds, value) }) } if _u.mutation.DefaultLabelIdsCleared() { _spec.ClearField(itemtemplate.FieldDefaultLabelIds, field.TypeJSON) } if _u.mutation.GroupCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: true, Table: itemtemplate.GroupTable, Columns: []string{itemtemplate.GroupColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.GroupIDs(); len(nodes) > 0 { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: true, Table: itemtemplate.GroupTable, Columns: []string{itemtemplate.GroupColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Add = append(_spec.Edges.Add, edge) } if _u.mutation.FieldsCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.O2M, Inverse: false, Table: itemtemplate.FieldsTable, Columns: []string{itemtemplate.FieldsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(templatefield.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.RemovedFieldsIDs(); len(nodes) > 0 && !_u.mutation.FieldsCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.O2M, Inverse: false, Table: itemtemplate.FieldsTable, Columns: []string{itemtemplate.FieldsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(templatefield.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.FieldsIDs(); len(nodes) > 0 { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.O2M, Inverse: false, Table: itemtemplate.FieldsTable, Columns: []string{itemtemplate.FieldsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(templatefield.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Add = append(_spec.Edges.Add, edge) } if _u.mutation.LocationCleared() { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: false, Table: itemtemplate.LocationTable, Columns: []string{itemtemplate.LocationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(location.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) } if nodes := _u.mutation.LocationIDs(); len(nodes) > 0 { edge := &sqlgraph.EdgeSpec{ Rel: sqlgraph.M2O, Inverse: false, Table: itemtemplate.LocationTable, Columns: []string{itemtemplate.LocationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ IDSpec: sqlgraph.NewFieldSpec(location.FieldID, field.TypeUUID), }, } for _, k := range nodes { edge.Target.Nodes = append(edge.Target.Nodes, k) } _spec.Edges.Add = append(_spec.Edges.Add, edge) } _node = &ItemTemplate{config: _u.config} _spec.Assign = _node.assignValues _spec.ScanValues = _node.scanValues if err = sqlgraph.UpdateNode(ctx, _u.driver, _spec); err != nil { if _, ok := err.(*sqlgraph.NotFoundError); ok { err = &NotFoundError{itemtemplate.Label} } else if sqlgraph.IsConstraintError(err) { err = &ConstraintError{msg: err.Error(), wrap: err} } return nil, err } _u.mutation.done = true return _node, nil }