Files
matosbox/backend/internal/data/ent/objet_update.go

1315 lines
40 KiB
Go

// 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/schema/field"
"gitea.maison43.duckdns.org/gilles/matosbox/internal/data/ent/champpersonnalise"
"gitea.maison43.duckdns.org/gilles/matosbox/internal/data/ent/lienobjetemplacement"
"gitea.maison43.duckdns.org/gilles/matosbox/internal/data/ent/objet"
"gitea.maison43.duckdns.org/gilles/matosbox/internal/data/ent/piecejointe"
"gitea.maison43.duckdns.org/gilles/matosbox/internal/data/ent/predicate"
"github.com/google/uuid"
)
// ObjetUpdate is the builder for updating Objet entities.
type ObjetUpdate struct {
config
hooks []Hook
mutation *ObjetMutation
}
// Where appends a list predicates to the ObjetUpdate builder.
func (_u *ObjetUpdate) Where(ps ...predicate.Objet) *ObjetUpdate {
_u.mutation.Where(ps...)
return _u
}
// SetNom sets the "nom" field.
func (_u *ObjetUpdate) SetNom(v string) *ObjetUpdate {
_u.mutation.SetNom(v)
return _u
}
// SetNillableNom sets the "nom" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableNom(v *string) *ObjetUpdate {
if v != nil {
_u.SetNom(*v)
}
return _u
}
// SetDescription sets the "description" field.
func (_u *ObjetUpdate) SetDescription(v string) *ObjetUpdate {
_u.mutation.SetDescription(v)
return _u
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableDescription(v *string) *ObjetUpdate {
if v != nil {
_u.SetDescription(*v)
}
return _u
}
// ClearDescription clears the value of the "description" field.
func (_u *ObjetUpdate) ClearDescription() *ObjetUpdate {
_u.mutation.ClearDescription()
return _u
}
// SetQuantite sets the "quantite" field.
func (_u *ObjetUpdate) SetQuantite(v int) *ObjetUpdate {
_u.mutation.ResetQuantite()
_u.mutation.SetQuantite(v)
return _u
}
// SetNillableQuantite sets the "quantite" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableQuantite(v *int) *ObjetUpdate {
if v != nil {
_u.SetQuantite(*v)
}
return _u
}
// AddQuantite adds value to the "quantite" field.
func (_u *ObjetUpdate) AddQuantite(v int) *ObjetUpdate {
_u.mutation.AddQuantite(v)
return _u
}
// SetPrixAchat sets the "prix_achat" field.
func (_u *ObjetUpdate) SetPrixAchat(v float64) *ObjetUpdate {
_u.mutation.ResetPrixAchat()
_u.mutation.SetPrixAchat(v)
return _u
}
// SetNillablePrixAchat sets the "prix_achat" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillablePrixAchat(v *float64) *ObjetUpdate {
if v != nil {
_u.SetPrixAchat(*v)
}
return _u
}
// AddPrixAchat adds value to the "prix_achat" field.
func (_u *ObjetUpdate) AddPrixAchat(v float64) *ObjetUpdate {
_u.mutation.AddPrixAchat(v)
return _u
}
// ClearPrixAchat clears the value of the "prix_achat" field.
func (_u *ObjetUpdate) ClearPrixAchat() *ObjetUpdate {
_u.mutation.ClearPrixAchat()
return _u
}
// SetDateAchat sets the "date_achat" field.
func (_u *ObjetUpdate) SetDateAchat(v time.Time) *ObjetUpdate {
_u.mutation.SetDateAchat(v)
return _u
}
// SetNillableDateAchat sets the "date_achat" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableDateAchat(v *time.Time) *ObjetUpdate {
if v != nil {
_u.SetDateAchat(*v)
}
return _u
}
// ClearDateAchat clears the value of the "date_achat" field.
func (_u *ObjetUpdate) ClearDateAchat() *ObjetUpdate {
_u.mutation.ClearDateAchat()
return _u
}
// SetBoutique sets the "boutique" field.
func (_u *ObjetUpdate) SetBoutique(v string) *ObjetUpdate {
_u.mutation.SetBoutique(v)
return _u
}
// SetNillableBoutique sets the "boutique" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableBoutique(v *string) *ObjetUpdate {
if v != nil {
_u.SetBoutique(*v)
}
return _u
}
// ClearBoutique clears the value of the "boutique" field.
func (_u *ObjetUpdate) ClearBoutique() *ObjetUpdate {
_u.mutation.ClearBoutique()
return _u
}
// SetNumeroSerie sets the "numero_serie" field.
func (_u *ObjetUpdate) SetNumeroSerie(v string) *ObjetUpdate {
_u.mutation.SetNumeroSerie(v)
return _u
}
// SetNillableNumeroSerie sets the "numero_serie" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableNumeroSerie(v *string) *ObjetUpdate {
if v != nil {
_u.SetNumeroSerie(*v)
}
return _u
}
// ClearNumeroSerie clears the value of the "numero_serie" field.
func (_u *ObjetUpdate) ClearNumeroSerie() *ObjetUpdate {
_u.mutation.ClearNumeroSerie()
return _u
}
// SetNumeroModele sets the "numero_modele" field.
func (_u *ObjetUpdate) SetNumeroModele(v string) *ObjetUpdate {
_u.mutation.SetNumeroModele(v)
return _u
}
// SetNillableNumeroModele sets the "numero_modele" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableNumeroModele(v *string) *ObjetUpdate {
if v != nil {
_u.SetNumeroModele(*v)
}
return _u
}
// ClearNumeroModele clears the value of the "numero_modele" field.
func (_u *ObjetUpdate) ClearNumeroModele() *ObjetUpdate {
_u.mutation.ClearNumeroModele()
return _u
}
// SetFabricant sets the "fabricant" field.
func (_u *ObjetUpdate) SetFabricant(v string) *ObjetUpdate {
_u.mutation.SetFabricant(v)
return _u
}
// SetNillableFabricant sets the "fabricant" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableFabricant(v *string) *ObjetUpdate {
if v != nil {
_u.SetFabricant(*v)
}
return _u
}
// ClearFabricant clears the value of the "fabricant" field.
func (_u *ObjetUpdate) ClearFabricant() *ObjetUpdate {
_u.mutation.ClearFabricant()
return _u
}
// SetStatut sets the "statut" field.
func (_u *ObjetUpdate) SetStatut(v objet.Statut) *ObjetUpdate {
_u.mutation.SetStatut(v)
return _u
}
// SetNillableStatut sets the "statut" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableStatut(v *objet.Statut) *ObjetUpdate {
if v != nil {
_u.SetStatut(*v)
}
return _u
}
// SetCaracteristiques sets the "caracteristiques" field.
func (_u *ObjetUpdate) SetCaracteristiques(v map[string]interface{}) *ObjetUpdate {
_u.mutation.SetCaracteristiques(v)
return _u
}
// ClearCaracteristiques clears the value of the "caracteristiques" field.
func (_u *ObjetUpdate) ClearCaracteristiques() *ObjetUpdate {
_u.mutation.ClearCaracteristiques()
return _u
}
// SetCreatedAt sets the "created_at" field.
func (_u *ObjetUpdate) SetCreatedAt(v time.Time) *ObjetUpdate {
_u.mutation.SetCreatedAt(v)
return _u
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func (_u *ObjetUpdate) SetNillableCreatedAt(v *time.Time) *ObjetUpdate {
if v != nil {
_u.SetCreatedAt(*v)
}
return _u
}
// SetUpdatedAt sets the "updated_at" field.
func (_u *ObjetUpdate) SetUpdatedAt(v time.Time) *ObjetUpdate {
_u.mutation.SetUpdatedAt(v)
return _u
}
// AddLiensEmplacementIDs adds the "liens_emplacements" edge to the LienObjetEmplacement entity by IDs.
func (_u *ObjetUpdate) AddLiensEmplacementIDs(ids ...uuid.UUID) *ObjetUpdate {
_u.mutation.AddLiensEmplacementIDs(ids...)
return _u
}
// AddLiensEmplacements adds the "liens_emplacements" edges to the LienObjetEmplacement entity.
func (_u *ObjetUpdate) AddLiensEmplacements(v ...*LienObjetEmplacement) *ObjetUpdate {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddLiensEmplacementIDs(ids...)
}
// AddChampsPersonnaliseIDs adds the "champs_personnalises" edge to the ChampPersonnalise entity by IDs.
func (_u *ObjetUpdate) AddChampsPersonnaliseIDs(ids ...uuid.UUID) *ObjetUpdate {
_u.mutation.AddChampsPersonnaliseIDs(ids...)
return _u
}
// AddChampsPersonnalises adds the "champs_personnalises" edges to the ChampPersonnalise entity.
func (_u *ObjetUpdate) AddChampsPersonnalises(v ...*ChampPersonnalise) *ObjetUpdate {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddChampsPersonnaliseIDs(ids...)
}
// AddPiecesJointeIDs adds the "pieces_jointes" edge to the PieceJointe entity by IDs.
func (_u *ObjetUpdate) AddPiecesJointeIDs(ids ...uuid.UUID) *ObjetUpdate {
_u.mutation.AddPiecesJointeIDs(ids...)
return _u
}
// AddPiecesJointes adds the "pieces_jointes" edges to the PieceJointe entity.
func (_u *ObjetUpdate) AddPiecesJointes(v ...*PieceJointe) *ObjetUpdate {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddPiecesJointeIDs(ids...)
}
// Mutation returns the ObjetMutation object of the builder.
func (_u *ObjetUpdate) Mutation() *ObjetMutation {
return _u.mutation
}
// ClearLiensEmplacements clears all "liens_emplacements" edges to the LienObjetEmplacement entity.
func (_u *ObjetUpdate) ClearLiensEmplacements() *ObjetUpdate {
_u.mutation.ClearLiensEmplacements()
return _u
}
// RemoveLiensEmplacementIDs removes the "liens_emplacements" edge to LienObjetEmplacement entities by IDs.
func (_u *ObjetUpdate) RemoveLiensEmplacementIDs(ids ...uuid.UUID) *ObjetUpdate {
_u.mutation.RemoveLiensEmplacementIDs(ids...)
return _u
}
// RemoveLiensEmplacements removes "liens_emplacements" edges to LienObjetEmplacement entities.
func (_u *ObjetUpdate) RemoveLiensEmplacements(v ...*LienObjetEmplacement) *ObjetUpdate {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveLiensEmplacementIDs(ids...)
}
// ClearChampsPersonnalises clears all "champs_personnalises" edges to the ChampPersonnalise entity.
func (_u *ObjetUpdate) ClearChampsPersonnalises() *ObjetUpdate {
_u.mutation.ClearChampsPersonnalises()
return _u
}
// RemoveChampsPersonnaliseIDs removes the "champs_personnalises" edge to ChampPersonnalise entities by IDs.
func (_u *ObjetUpdate) RemoveChampsPersonnaliseIDs(ids ...uuid.UUID) *ObjetUpdate {
_u.mutation.RemoveChampsPersonnaliseIDs(ids...)
return _u
}
// RemoveChampsPersonnalises removes "champs_personnalises" edges to ChampPersonnalise entities.
func (_u *ObjetUpdate) RemoveChampsPersonnalises(v ...*ChampPersonnalise) *ObjetUpdate {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveChampsPersonnaliseIDs(ids...)
}
// ClearPiecesJointes clears all "pieces_jointes" edges to the PieceJointe entity.
func (_u *ObjetUpdate) ClearPiecesJointes() *ObjetUpdate {
_u.mutation.ClearPiecesJointes()
return _u
}
// RemovePiecesJointeIDs removes the "pieces_jointes" edge to PieceJointe entities by IDs.
func (_u *ObjetUpdate) RemovePiecesJointeIDs(ids ...uuid.UUID) *ObjetUpdate {
_u.mutation.RemovePiecesJointeIDs(ids...)
return _u
}
// RemovePiecesJointes removes "pieces_jointes" edges to PieceJointe entities.
func (_u *ObjetUpdate) RemovePiecesJointes(v ...*PieceJointe) *ObjetUpdate {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemovePiecesJointeIDs(ids...)
}
// Save executes the query and returns the number of nodes affected by the update operation.
func (_u *ObjetUpdate) 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 *ObjetUpdate) SaveX(ctx context.Context) int {
affected, err := _u.Save(ctx)
if err != nil {
panic(err)
}
return affected
}
// Exec executes the query.
func (_u *ObjetUpdate) Exec(ctx context.Context) error {
_, err := _u.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (_u *ObjetUpdate) 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 *ObjetUpdate) defaults() {
if _, ok := _u.mutation.UpdatedAt(); !ok {
v := objet.UpdateDefaultUpdatedAt()
_u.mutation.SetUpdatedAt(v)
}
}
// check runs all checks and user-defined validators on the builder.
func (_u *ObjetUpdate) check() error {
if v, ok := _u.mutation.Nom(); ok {
if err := objet.NomValidator(v); err != nil {
return &ValidationError{Name: "nom", err: fmt.Errorf(`ent: validator failed for field "Objet.nom": %w`, err)}
}
}
if v, ok := _u.mutation.Statut(); ok {
if err := objet.StatutValidator(v); err != nil {
return &ValidationError{Name: "statut", err: fmt.Errorf(`ent: validator failed for field "Objet.statut": %w`, err)}
}
}
return nil
}
func (_u *ObjetUpdate) sqlSave(ctx context.Context) (_node int, err error) {
if err := _u.check(); err != nil {
return _node, err
}
_spec := sqlgraph.NewUpdateSpec(objet.Table, objet.Columns, sqlgraph.NewFieldSpec(objet.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.Nom(); ok {
_spec.SetField(objet.FieldNom, field.TypeString, value)
}
if value, ok := _u.mutation.Description(); ok {
_spec.SetField(objet.FieldDescription, field.TypeString, value)
}
if _u.mutation.DescriptionCleared() {
_spec.ClearField(objet.FieldDescription, field.TypeString)
}
if value, ok := _u.mutation.Quantite(); ok {
_spec.SetField(objet.FieldQuantite, field.TypeInt, value)
}
if value, ok := _u.mutation.AddedQuantite(); ok {
_spec.AddField(objet.FieldQuantite, field.TypeInt, value)
}
if value, ok := _u.mutation.PrixAchat(); ok {
_spec.SetField(objet.FieldPrixAchat, field.TypeFloat64, value)
}
if value, ok := _u.mutation.AddedPrixAchat(); ok {
_spec.AddField(objet.FieldPrixAchat, field.TypeFloat64, value)
}
if _u.mutation.PrixAchatCleared() {
_spec.ClearField(objet.FieldPrixAchat, field.TypeFloat64)
}
if value, ok := _u.mutation.DateAchat(); ok {
_spec.SetField(objet.FieldDateAchat, field.TypeTime, value)
}
if _u.mutation.DateAchatCleared() {
_spec.ClearField(objet.FieldDateAchat, field.TypeTime)
}
if value, ok := _u.mutation.Boutique(); ok {
_spec.SetField(objet.FieldBoutique, field.TypeString, value)
}
if _u.mutation.BoutiqueCleared() {
_spec.ClearField(objet.FieldBoutique, field.TypeString)
}
if value, ok := _u.mutation.NumeroSerie(); ok {
_spec.SetField(objet.FieldNumeroSerie, field.TypeString, value)
}
if _u.mutation.NumeroSerieCleared() {
_spec.ClearField(objet.FieldNumeroSerie, field.TypeString)
}
if value, ok := _u.mutation.NumeroModele(); ok {
_spec.SetField(objet.FieldNumeroModele, field.TypeString, value)
}
if _u.mutation.NumeroModeleCleared() {
_spec.ClearField(objet.FieldNumeroModele, field.TypeString)
}
if value, ok := _u.mutation.Fabricant(); ok {
_spec.SetField(objet.FieldFabricant, field.TypeString, value)
}
if _u.mutation.FabricantCleared() {
_spec.ClearField(objet.FieldFabricant, field.TypeString)
}
if value, ok := _u.mutation.Statut(); ok {
_spec.SetField(objet.FieldStatut, field.TypeEnum, value)
}
if value, ok := _u.mutation.Caracteristiques(); ok {
_spec.SetField(objet.FieldCaracteristiques, field.TypeJSON, value)
}
if _u.mutation.CaracteristiquesCleared() {
_spec.ClearField(objet.FieldCaracteristiques, field.TypeJSON)
}
if value, ok := _u.mutation.CreatedAt(); ok {
_spec.SetField(objet.FieldCreatedAt, field.TypeTime, value)
}
if value, ok := _u.mutation.UpdatedAt(); ok {
_spec.SetField(objet.FieldUpdatedAt, field.TypeTime, value)
}
if _u.mutation.LiensEmplacementsCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.LiensEmplacementsTable,
Columns: []string{objet.LiensEmplacementsColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(lienobjetemplacement.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedLiensEmplacementsIDs(); len(nodes) > 0 && !_u.mutation.LiensEmplacementsCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.LiensEmplacementsTable,
Columns: []string{objet.LiensEmplacementsColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(lienobjetemplacement.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.LiensEmplacementsIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.LiensEmplacementsTable,
Columns: []string{objet.LiensEmplacementsColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(lienobjetemplacement.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.ChampsPersonnalisesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.ChampsPersonnalisesTable,
Columns: []string{objet.ChampsPersonnalisesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(champpersonnalise.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedChampsPersonnalisesIDs(); len(nodes) > 0 && !_u.mutation.ChampsPersonnalisesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.ChampsPersonnalisesTable,
Columns: []string{objet.ChampsPersonnalisesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(champpersonnalise.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.ChampsPersonnalisesIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.ChampsPersonnalisesTable,
Columns: []string{objet.ChampsPersonnalisesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(champpersonnalise.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.PiecesJointesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.PiecesJointesTable,
Columns: []string{objet.PiecesJointesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(piecejointe.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedPiecesJointesIDs(); len(nodes) > 0 && !_u.mutation.PiecesJointesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.PiecesJointesTable,
Columns: []string{objet.PiecesJointesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(piecejointe.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.PiecesJointesIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.PiecesJointesTable,
Columns: []string{objet.PiecesJointesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(piecejointe.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{objet.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return 0, err
}
_u.mutation.done = true
return _node, nil
}
// ObjetUpdateOne is the builder for updating a single Objet entity.
type ObjetUpdateOne struct {
config
fields []string
hooks []Hook
mutation *ObjetMutation
}
// SetNom sets the "nom" field.
func (_u *ObjetUpdateOne) SetNom(v string) *ObjetUpdateOne {
_u.mutation.SetNom(v)
return _u
}
// SetNillableNom sets the "nom" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableNom(v *string) *ObjetUpdateOne {
if v != nil {
_u.SetNom(*v)
}
return _u
}
// SetDescription sets the "description" field.
func (_u *ObjetUpdateOne) SetDescription(v string) *ObjetUpdateOne {
_u.mutation.SetDescription(v)
return _u
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableDescription(v *string) *ObjetUpdateOne {
if v != nil {
_u.SetDescription(*v)
}
return _u
}
// ClearDescription clears the value of the "description" field.
func (_u *ObjetUpdateOne) ClearDescription() *ObjetUpdateOne {
_u.mutation.ClearDescription()
return _u
}
// SetQuantite sets the "quantite" field.
func (_u *ObjetUpdateOne) SetQuantite(v int) *ObjetUpdateOne {
_u.mutation.ResetQuantite()
_u.mutation.SetQuantite(v)
return _u
}
// SetNillableQuantite sets the "quantite" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableQuantite(v *int) *ObjetUpdateOne {
if v != nil {
_u.SetQuantite(*v)
}
return _u
}
// AddQuantite adds value to the "quantite" field.
func (_u *ObjetUpdateOne) AddQuantite(v int) *ObjetUpdateOne {
_u.mutation.AddQuantite(v)
return _u
}
// SetPrixAchat sets the "prix_achat" field.
func (_u *ObjetUpdateOne) SetPrixAchat(v float64) *ObjetUpdateOne {
_u.mutation.ResetPrixAchat()
_u.mutation.SetPrixAchat(v)
return _u
}
// SetNillablePrixAchat sets the "prix_achat" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillablePrixAchat(v *float64) *ObjetUpdateOne {
if v != nil {
_u.SetPrixAchat(*v)
}
return _u
}
// AddPrixAchat adds value to the "prix_achat" field.
func (_u *ObjetUpdateOne) AddPrixAchat(v float64) *ObjetUpdateOne {
_u.mutation.AddPrixAchat(v)
return _u
}
// ClearPrixAchat clears the value of the "prix_achat" field.
func (_u *ObjetUpdateOne) ClearPrixAchat() *ObjetUpdateOne {
_u.mutation.ClearPrixAchat()
return _u
}
// SetDateAchat sets the "date_achat" field.
func (_u *ObjetUpdateOne) SetDateAchat(v time.Time) *ObjetUpdateOne {
_u.mutation.SetDateAchat(v)
return _u
}
// SetNillableDateAchat sets the "date_achat" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableDateAchat(v *time.Time) *ObjetUpdateOne {
if v != nil {
_u.SetDateAchat(*v)
}
return _u
}
// ClearDateAchat clears the value of the "date_achat" field.
func (_u *ObjetUpdateOne) ClearDateAchat() *ObjetUpdateOne {
_u.mutation.ClearDateAchat()
return _u
}
// SetBoutique sets the "boutique" field.
func (_u *ObjetUpdateOne) SetBoutique(v string) *ObjetUpdateOne {
_u.mutation.SetBoutique(v)
return _u
}
// SetNillableBoutique sets the "boutique" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableBoutique(v *string) *ObjetUpdateOne {
if v != nil {
_u.SetBoutique(*v)
}
return _u
}
// ClearBoutique clears the value of the "boutique" field.
func (_u *ObjetUpdateOne) ClearBoutique() *ObjetUpdateOne {
_u.mutation.ClearBoutique()
return _u
}
// SetNumeroSerie sets the "numero_serie" field.
func (_u *ObjetUpdateOne) SetNumeroSerie(v string) *ObjetUpdateOne {
_u.mutation.SetNumeroSerie(v)
return _u
}
// SetNillableNumeroSerie sets the "numero_serie" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableNumeroSerie(v *string) *ObjetUpdateOne {
if v != nil {
_u.SetNumeroSerie(*v)
}
return _u
}
// ClearNumeroSerie clears the value of the "numero_serie" field.
func (_u *ObjetUpdateOne) ClearNumeroSerie() *ObjetUpdateOne {
_u.mutation.ClearNumeroSerie()
return _u
}
// SetNumeroModele sets the "numero_modele" field.
func (_u *ObjetUpdateOne) SetNumeroModele(v string) *ObjetUpdateOne {
_u.mutation.SetNumeroModele(v)
return _u
}
// SetNillableNumeroModele sets the "numero_modele" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableNumeroModele(v *string) *ObjetUpdateOne {
if v != nil {
_u.SetNumeroModele(*v)
}
return _u
}
// ClearNumeroModele clears the value of the "numero_modele" field.
func (_u *ObjetUpdateOne) ClearNumeroModele() *ObjetUpdateOne {
_u.mutation.ClearNumeroModele()
return _u
}
// SetFabricant sets the "fabricant" field.
func (_u *ObjetUpdateOne) SetFabricant(v string) *ObjetUpdateOne {
_u.mutation.SetFabricant(v)
return _u
}
// SetNillableFabricant sets the "fabricant" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableFabricant(v *string) *ObjetUpdateOne {
if v != nil {
_u.SetFabricant(*v)
}
return _u
}
// ClearFabricant clears the value of the "fabricant" field.
func (_u *ObjetUpdateOne) ClearFabricant() *ObjetUpdateOne {
_u.mutation.ClearFabricant()
return _u
}
// SetStatut sets the "statut" field.
func (_u *ObjetUpdateOne) SetStatut(v objet.Statut) *ObjetUpdateOne {
_u.mutation.SetStatut(v)
return _u
}
// SetNillableStatut sets the "statut" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableStatut(v *objet.Statut) *ObjetUpdateOne {
if v != nil {
_u.SetStatut(*v)
}
return _u
}
// SetCaracteristiques sets the "caracteristiques" field.
func (_u *ObjetUpdateOne) SetCaracteristiques(v map[string]interface{}) *ObjetUpdateOne {
_u.mutation.SetCaracteristiques(v)
return _u
}
// ClearCaracteristiques clears the value of the "caracteristiques" field.
func (_u *ObjetUpdateOne) ClearCaracteristiques() *ObjetUpdateOne {
_u.mutation.ClearCaracteristiques()
return _u
}
// SetCreatedAt sets the "created_at" field.
func (_u *ObjetUpdateOne) SetCreatedAt(v time.Time) *ObjetUpdateOne {
_u.mutation.SetCreatedAt(v)
return _u
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func (_u *ObjetUpdateOne) SetNillableCreatedAt(v *time.Time) *ObjetUpdateOne {
if v != nil {
_u.SetCreatedAt(*v)
}
return _u
}
// SetUpdatedAt sets the "updated_at" field.
func (_u *ObjetUpdateOne) SetUpdatedAt(v time.Time) *ObjetUpdateOne {
_u.mutation.SetUpdatedAt(v)
return _u
}
// AddLiensEmplacementIDs adds the "liens_emplacements" edge to the LienObjetEmplacement entity by IDs.
func (_u *ObjetUpdateOne) AddLiensEmplacementIDs(ids ...uuid.UUID) *ObjetUpdateOne {
_u.mutation.AddLiensEmplacementIDs(ids...)
return _u
}
// AddLiensEmplacements adds the "liens_emplacements" edges to the LienObjetEmplacement entity.
func (_u *ObjetUpdateOne) AddLiensEmplacements(v ...*LienObjetEmplacement) *ObjetUpdateOne {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddLiensEmplacementIDs(ids...)
}
// AddChampsPersonnaliseIDs adds the "champs_personnalises" edge to the ChampPersonnalise entity by IDs.
func (_u *ObjetUpdateOne) AddChampsPersonnaliseIDs(ids ...uuid.UUID) *ObjetUpdateOne {
_u.mutation.AddChampsPersonnaliseIDs(ids...)
return _u
}
// AddChampsPersonnalises adds the "champs_personnalises" edges to the ChampPersonnalise entity.
func (_u *ObjetUpdateOne) AddChampsPersonnalises(v ...*ChampPersonnalise) *ObjetUpdateOne {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddChampsPersonnaliseIDs(ids...)
}
// AddPiecesJointeIDs adds the "pieces_jointes" edge to the PieceJointe entity by IDs.
func (_u *ObjetUpdateOne) AddPiecesJointeIDs(ids ...uuid.UUID) *ObjetUpdateOne {
_u.mutation.AddPiecesJointeIDs(ids...)
return _u
}
// AddPiecesJointes adds the "pieces_jointes" edges to the PieceJointe entity.
func (_u *ObjetUpdateOne) AddPiecesJointes(v ...*PieceJointe) *ObjetUpdateOne {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.AddPiecesJointeIDs(ids...)
}
// Mutation returns the ObjetMutation object of the builder.
func (_u *ObjetUpdateOne) Mutation() *ObjetMutation {
return _u.mutation
}
// ClearLiensEmplacements clears all "liens_emplacements" edges to the LienObjetEmplacement entity.
func (_u *ObjetUpdateOne) ClearLiensEmplacements() *ObjetUpdateOne {
_u.mutation.ClearLiensEmplacements()
return _u
}
// RemoveLiensEmplacementIDs removes the "liens_emplacements" edge to LienObjetEmplacement entities by IDs.
func (_u *ObjetUpdateOne) RemoveLiensEmplacementIDs(ids ...uuid.UUID) *ObjetUpdateOne {
_u.mutation.RemoveLiensEmplacementIDs(ids...)
return _u
}
// RemoveLiensEmplacements removes "liens_emplacements" edges to LienObjetEmplacement entities.
func (_u *ObjetUpdateOne) RemoveLiensEmplacements(v ...*LienObjetEmplacement) *ObjetUpdateOne {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveLiensEmplacementIDs(ids...)
}
// ClearChampsPersonnalises clears all "champs_personnalises" edges to the ChampPersonnalise entity.
func (_u *ObjetUpdateOne) ClearChampsPersonnalises() *ObjetUpdateOne {
_u.mutation.ClearChampsPersonnalises()
return _u
}
// RemoveChampsPersonnaliseIDs removes the "champs_personnalises" edge to ChampPersonnalise entities by IDs.
func (_u *ObjetUpdateOne) RemoveChampsPersonnaliseIDs(ids ...uuid.UUID) *ObjetUpdateOne {
_u.mutation.RemoveChampsPersonnaliseIDs(ids...)
return _u
}
// RemoveChampsPersonnalises removes "champs_personnalises" edges to ChampPersonnalise entities.
func (_u *ObjetUpdateOne) RemoveChampsPersonnalises(v ...*ChampPersonnalise) *ObjetUpdateOne {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemoveChampsPersonnaliseIDs(ids...)
}
// ClearPiecesJointes clears all "pieces_jointes" edges to the PieceJointe entity.
func (_u *ObjetUpdateOne) ClearPiecesJointes() *ObjetUpdateOne {
_u.mutation.ClearPiecesJointes()
return _u
}
// RemovePiecesJointeIDs removes the "pieces_jointes" edge to PieceJointe entities by IDs.
func (_u *ObjetUpdateOne) RemovePiecesJointeIDs(ids ...uuid.UUID) *ObjetUpdateOne {
_u.mutation.RemovePiecesJointeIDs(ids...)
return _u
}
// RemovePiecesJointes removes "pieces_jointes" edges to PieceJointe entities.
func (_u *ObjetUpdateOne) RemovePiecesJointes(v ...*PieceJointe) *ObjetUpdateOne {
ids := make([]uuid.UUID, len(v))
for i := range v {
ids[i] = v[i].ID
}
return _u.RemovePiecesJointeIDs(ids...)
}
// Where appends a list predicates to the ObjetUpdate builder.
func (_u *ObjetUpdateOne) Where(ps ...predicate.Objet) *ObjetUpdateOne {
_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 *ObjetUpdateOne) Select(field string, fields ...string) *ObjetUpdateOne {
_u.fields = append([]string{field}, fields...)
return _u
}
// Save executes the query and returns the updated Objet entity.
func (_u *ObjetUpdateOne) Save(ctx context.Context) (*Objet, error) {
_u.defaults()
return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (_u *ObjetUpdateOne) SaveX(ctx context.Context) *Objet {
node, err := _u.Save(ctx)
if err != nil {
panic(err)
}
return node
}
// Exec executes the query on the entity.
func (_u *ObjetUpdateOne) Exec(ctx context.Context) error {
_, err := _u.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (_u *ObjetUpdateOne) 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 *ObjetUpdateOne) defaults() {
if _, ok := _u.mutation.UpdatedAt(); !ok {
v := objet.UpdateDefaultUpdatedAt()
_u.mutation.SetUpdatedAt(v)
}
}
// check runs all checks and user-defined validators on the builder.
func (_u *ObjetUpdateOne) check() error {
if v, ok := _u.mutation.Nom(); ok {
if err := objet.NomValidator(v); err != nil {
return &ValidationError{Name: "nom", err: fmt.Errorf(`ent: validator failed for field "Objet.nom": %w`, err)}
}
}
if v, ok := _u.mutation.Statut(); ok {
if err := objet.StatutValidator(v); err != nil {
return &ValidationError{Name: "statut", err: fmt.Errorf(`ent: validator failed for field "Objet.statut": %w`, err)}
}
}
return nil
}
func (_u *ObjetUpdateOne) sqlSave(ctx context.Context) (_node *Objet, err error) {
if err := _u.check(); err != nil {
return _node, err
}
_spec := sqlgraph.NewUpdateSpec(objet.Table, objet.Columns, sqlgraph.NewFieldSpec(objet.FieldID, field.TypeUUID))
id, ok := _u.mutation.ID()
if !ok {
return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "Objet.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, objet.FieldID)
for _, f := range fields {
if !objet.ValidColumn(f) {
return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
}
if f != objet.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.Nom(); ok {
_spec.SetField(objet.FieldNom, field.TypeString, value)
}
if value, ok := _u.mutation.Description(); ok {
_spec.SetField(objet.FieldDescription, field.TypeString, value)
}
if _u.mutation.DescriptionCleared() {
_spec.ClearField(objet.FieldDescription, field.TypeString)
}
if value, ok := _u.mutation.Quantite(); ok {
_spec.SetField(objet.FieldQuantite, field.TypeInt, value)
}
if value, ok := _u.mutation.AddedQuantite(); ok {
_spec.AddField(objet.FieldQuantite, field.TypeInt, value)
}
if value, ok := _u.mutation.PrixAchat(); ok {
_spec.SetField(objet.FieldPrixAchat, field.TypeFloat64, value)
}
if value, ok := _u.mutation.AddedPrixAchat(); ok {
_spec.AddField(objet.FieldPrixAchat, field.TypeFloat64, value)
}
if _u.mutation.PrixAchatCleared() {
_spec.ClearField(objet.FieldPrixAchat, field.TypeFloat64)
}
if value, ok := _u.mutation.DateAchat(); ok {
_spec.SetField(objet.FieldDateAchat, field.TypeTime, value)
}
if _u.mutation.DateAchatCleared() {
_spec.ClearField(objet.FieldDateAchat, field.TypeTime)
}
if value, ok := _u.mutation.Boutique(); ok {
_spec.SetField(objet.FieldBoutique, field.TypeString, value)
}
if _u.mutation.BoutiqueCleared() {
_spec.ClearField(objet.FieldBoutique, field.TypeString)
}
if value, ok := _u.mutation.NumeroSerie(); ok {
_spec.SetField(objet.FieldNumeroSerie, field.TypeString, value)
}
if _u.mutation.NumeroSerieCleared() {
_spec.ClearField(objet.FieldNumeroSerie, field.TypeString)
}
if value, ok := _u.mutation.NumeroModele(); ok {
_spec.SetField(objet.FieldNumeroModele, field.TypeString, value)
}
if _u.mutation.NumeroModeleCleared() {
_spec.ClearField(objet.FieldNumeroModele, field.TypeString)
}
if value, ok := _u.mutation.Fabricant(); ok {
_spec.SetField(objet.FieldFabricant, field.TypeString, value)
}
if _u.mutation.FabricantCleared() {
_spec.ClearField(objet.FieldFabricant, field.TypeString)
}
if value, ok := _u.mutation.Statut(); ok {
_spec.SetField(objet.FieldStatut, field.TypeEnum, value)
}
if value, ok := _u.mutation.Caracteristiques(); ok {
_spec.SetField(objet.FieldCaracteristiques, field.TypeJSON, value)
}
if _u.mutation.CaracteristiquesCleared() {
_spec.ClearField(objet.FieldCaracteristiques, field.TypeJSON)
}
if value, ok := _u.mutation.CreatedAt(); ok {
_spec.SetField(objet.FieldCreatedAt, field.TypeTime, value)
}
if value, ok := _u.mutation.UpdatedAt(); ok {
_spec.SetField(objet.FieldUpdatedAt, field.TypeTime, value)
}
if _u.mutation.LiensEmplacementsCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.LiensEmplacementsTable,
Columns: []string{objet.LiensEmplacementsColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(lienobjetemplacement.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedLiensEmplacementsIDs(); len(nodes) > 0 && !_u.mutation.LiensEmplacementsCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.LiensEmplacementsTable,
Columns: []string{objet.LiensEmplacementsColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(lienobjetemplacement.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.LiensEmplacementsIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.LiensEmplacementsTable,
Columns: []string{objet.LiensEmplacementsColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(lienobjetemplacement.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.ChampsPersonnalisesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.ChampsPersonnalisesTable,
Columns: []string{objet.ChampsPersonnalisesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(champpersonnalise.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedChampsPersonnalisesIDs(); len(nodes) > 0 && !_u.mutation.ChampsPersonnalisesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.ChampsPersonnalisesTable,
Columns: []string{objet.ChampsPersonnalisesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(champpersonnalise.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.ChampsPersonnalisesIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.ChampsPersonnalisesTable,
Columns: []string{objet.ChampsPersonnalisesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(champpersonnalise.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.PiecesJointesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.PiecesJointesTable,
Columns: []string{objet.PiecesJointesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(piecejointe.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := _u.mutation.RemovedPiecesJointesIDs(); len(nodes) > 0 && !_u.mutation.PiecesJointesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.PiecesJointesTable,
Columns: []string{objet.PiecesJointesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(piecejointe.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.PiecesJointesIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: objet.PiecesJointesTable,
Columns: []string{objet.PiecesJointesColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(piecejointe.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
_node = &Objet{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{objet.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return nil, err
}
_u.mutation.done = true
return _node, nil
}