diff --git a/db/migrations/00008_firmware_validation_facts.sql b/db/migrations/00008_firmware_validation_facts.sql index b116561..1ab5d7d 100644 --- a/db/migrations/00008_firmware_validation_facts.sql +++ b/db/migrations/00008_firmware_validation_facts.sql @@ -2,8 +2,8 @@ -- +goose StatementBegin CREATE TABLE public.firmware_set_validation_facts( id UUID NOT NULL DEFAULT gen_random_uuid() PRIMARY KEY, - firmware_set_id UUID NOT NULL REFERENCES public.component_firmware_set(id), - target_server_id UUID NOT NULL REFERENCES public.servers(id), + firmware_set_id UUID NOT NULL REFERENCES public.component_firmware_set(id) ON DELETE CASCADE, + target_server_id UUID NOT NULL, performed_on TIMESTAMPTZ NOT NULL ) -- +goose StatementEnd diff --git a/internal/models/boil_suites_test.go b/internal/models/boil_suites_test.go index e06eecf..6795b83 100644 --- a/internal/models/boil_suites_test.go +++ b/internal/models/boil_suites_test.go @@ -319,7 +319,6 @@ func TestToOne(t *testing.T) { t.Run("ComponentFirmwareSetMapToComponentFirmwareSetUsingFirmwareSet", testComponentFirmwareSetMapToOneComponentFirmwareSetUsingFirmwareSet) t.Run("ComponentFirmwareSetMapToComponentFirmwareVersionUsingFirmware", testComponentFirmwareSetMapToOneComponentFirmwareVersionUsingFirmware) t.Run("EventHistoryToServerUsingTargetServerServer", testEventHistoryToOneServerUsingTargetServerServer) - t.Run("FirmwareSetValidationFactToServerUsingTargetServer", testFirmwareSetValidationFactToOneServerUsingTargetServer) t.Run("FirmwareSetValidationFactToComponentFirmwareSetUsingFirmwareSet", testFirmwareSetValidationFactToOneComponentFirmwareSetUsingFirmwareSet) t.Run("ServerComponentToServerUsingServer", testServerComponentToOneServerUsingServer) t.Run("ServerComponentToServerComponentTypeUsingServerComponentType", testServerComponentToOneServerComponentTypeUsingServerComponentType) @@ -350,7 +349,6 @@ func TestToMany(t *testing.T) { t.Run("ServerCredentialTypeToServerCredentials", testServerCredentialTypeToManyServerCredentials) t.Run("ServerToAttributes", testServerToManyAttributes) t.Run("ServerToTargetServerEventHistories", testServerToManyTargetServerEventHistories) - t.Run("ServerToTargetServerFirmwareSetValidationFacts", testServerToManyTargetServerFirmwareSetValidationFacts) t.Run("ServerToServerComponents", testServerToManyServerComponents) t.Run("ServerToServerCredentials", testServerToManyServerCredentials) t.Run("ServerToVersionedAttributes", testServerToManyVersionedAttributes) @@ -369,7 +367,6 @@ func TestToOneSet(t *testing.T) { t.Run("ComponentFirmwareSetMapToComponentFirmwareSetUsingFirmwareSetComponentFirmwareSetMaps", testComponentFirmwareSetMapToOneSetOpComponentFirmwareSetUsingFirmwareSet) t.Run("ComponentFirmwareSetMapToComponentFirmwareVersionUsingFirmwareComponentFirmwareSetMaps", testComponentFirmwareSetMapToOneSetOpComponentFirmwareVersionUsingFirmware) t.Run("EventHistoryToServerUsingTargetServerEventHistories", testEventHistoryToOneSetOpServerUsingTargetServerServer) - t.Run("FirmwareSetValidationFactToServerUsingTargetServerFirmwareSetValidationFacts", testFirmwareSetValidationFactToOneSetOpServerUsingTargetServer) t.Run("FirmwareSetValidationFactToComponentFirmwareSetUsingFirmwareSetFirmwareSetValidationFacts", testFirmwareSetValidationFactToOneSetOpComponentFirmwareSetUsingFirmwareSet) t.Run("ServerComponentToServerUsingServerComponents", testServerComponentToOneSetOpServerUsingServer) t.Run("ServerComponentToServerComponentTypeUsingServerComponents", testServerComponentToOneSetOpServerComponentTypeUsingServerComponentType) @@ -414,7 +411,6 @@ func TestToManyAdd(t *testing.T) { t.Run("ServerCredentialTypeToServerCredentials", testServerCredentialTypeToManyAddOpServerCredentials) t.Run("ServerToAttributes", testServerToManyAddOpAttributes) t.Run("ServerToTargetServerEventHistories", testServerToManyAddOpTargetServerEventHistories) - t.Run("ServerToTargetServerFirmwareSetValidationFacts", testServerToManyAddOpTargetServerFirmwareSetValidationFacts) t.Run("ServerToServerComponents", testServerToManyAddOpServerComponents) t.Run("ServerToServerCredentials", testServerToManyAddOpServerCredentials) t.Run("ServerToVersionedAttributes", testServerToManyAddOpVersionedAttributes) diff --git a/internal/models/firmware_set_validation_facts.go b/internal/models/firmware_set_validation_facts.go index 0cd6d4e..5f8ec8f 100644 --- a/internal/models/firmware_set_validation_facts.go +++ b/internal/models/firmware_set_validation_facts.go @@ -72,17 +72,14 @@ var FirmwareSetValidationFactWhere = struct { // FirmwareSetValidationFactRels is where relationship names are stored. var FirmwareSetValidationFactRels = struct { - TargetServer string - FirmwareSet string + FirmwareSet string }{ - TargetServer: "TargetServer", - FirmwareSet: "FirmwareSet", + FirmwareSet: "FirmwareSet", } // firmwareSetValidationFactR is where relationships are stored. type firmwareSetValidationFactR struct { - TargetServer *Server `boil:"TargetServer" json:"TargetServer" toml:"TargetServer" yaml:"TargetServer"` - FirmwareSet *ComponentFirmwareSet `boil:"FirmwareSet" json:"FirmwareSet" toml:"FirmwareSet" yaml:"FirmwareSet"` + FirmwareSet *ComponentFirmwareSet `boil:"FirmwareSet" json:"FirmwareSet" toml:"FirmwareSet" yaml:"FirmwareSet"` } // NewStruct creates a new relationship struct @@ -90,13 +87,6 @@ func (*firmwareSetValidationFactR) NewStruct() *firmwareSetValidationFactR { return &firmwareSetValidationFactR{} } -func (r *firmwareSetValidationFactR) GetTargetServer() *Server { - if r == nil { - return nil - } - return r.TargetServer -} - func (r *firmwareSetValidationFactR) GetFirmwareSet() *ComponentFirmwareSet { if r == nil { return nil @@ -393,17 +383,6 @@ func (q firmwareSetValidationFactQuery) Exists(ctx context.Context, exec boil.Co return count > 0, nil } -// TargetServer pointed to by the foreign key. -func (o *FirmwareSetValidationFact) TargetServer(mods ...qm.QueryMod) serverQuery { - queryMods := []qm.QueryMod{ - qm.Where("\"id\" = ?", o.TargetServerID), - } - - queryMods = append(queryMods, mods...) - - return Servers(queryMods...) -} - // FirmwareSet pointed to by the foreign key. func (o *FirmwareSetValidationFact) FirmwareSet(mods ...qm.QueryMod) componentFirmwareSetQuery { queryMods := []qm.QueryMod{ @@ -415,127 +394,6 @@ func (o *FirmwareSetValidationFact) FirmwareSet(mods ...qm.QueryMod) componentFi return ComponentFirmwareSets(queryMods...) } -// LoadTargetServer allows an eager lookup of values, cached into the -// loaded structs of the objects. This is for an N-1 relationship. -func (firmwareSetValidationFactL) LoadTargetServer(ctx context.Context, e boil.ContextExecutor, singular bool, maybeFirmwareSetValidationFact interface{}, mods queries.Applicator) error { - var slice []*FirmwareSetValidationFact - var object *FirmwareSetValidationFact - - if singular { - var ok bool - object, ok = maybeFirmwareSetValidationFact.(*FirmwareSetValidationFact) - if !ok { - object = new(FirmwareSetValidationFact) - ok = queries.SetFromEmbeddedStruct(&object, &maybeFirmwareSetValidationFact) - if !ok { - return errors.New(fmt.Sprintf("failed to set %T from embedded struct %T", object, maybeFirmwareSetValidationFact)) - } - } - } else { - s, ok := maybeFirmwareSetValidationFact.(*[]*FirmwareSetValidationFact) - if ok { - slice = *s - } else { - ok = queries.SetFromEmbeddedStruct(&slice, maybeFirmwareSetValidationFact) - if !ok { - return errors.New(fmt.Sprintf("failed to set %T from embedded struct %T", slice, maybeFirmwareSetValidationFact)) - } - } - } - - args := make([]interface{}, 0, 1) - if singular { - if object.R == nil { - object.R = &firmwareSetValidationFactR{} - } - args = append(args, object.TargetServerID) - - } else { - Outer: - for _, obj := range slice { - if obj.R == nil { - obj.R = &firmwareSetValidationFactR{} - } - - for _, a := range args { - if a == obj.TargetServerID { - continue Outer - } - } - - args = append(args, obj.TargetServerID) - - } - } - - if len(args) == 0 { - return nil - } - - query := NewQuery( - qm.From(`servers`), - qm.WhereIn(`servers.id in ?`, args...), - qmhelper.WhereIsNull(`servers.deleted_at`), - ) - if mods != nil { - mods.Apply(query) - } - - results, err := query.QueryContext(ctx, e) - if err != nil { - return errors.Wrap(err, "failed to eager load Server") - } - - var resultSlice []*Server - if err = queries.Bind(results, &resultSlice); err != nil { - return errors.Wrap(err, "failed to bind eager loaded slice Server") - } - - if err = results.Close(); err != nil { - return errors.Wrap(err, "failed to close results of eager load for servers") - } - if err = results.Err(); err != nil { - return errors.Wrap(err, "error occurred during iteration of eager loaded relations for servers") - } - - if len(serverAfterSelectHooks) != 0 { - for _, obj := range resultSlice { - if err := obj.doAfterSelectHooks(ctx, e); err != nil { - return err - } - } - } - - if len(resultSlice) == 0 { - return nil - } - - if singular { - foreign := resultSlice[0] - object.R.TargetServer = foreign - if foreign.R == nil { - foreign.R = &serverR{} - } - foreign.R.TargetServerFirmwareSetValidationFacts = append(foreign.R.TargetServerFirmwareSetValidationFacts, object) - return nil - } - - for _, local := range slice { - for _, foreign := range resultSlice { - if local.TargetServerID == foreign.ID { - local.R.TargetServer = foreign - if foreign.R == nil { - foreign.R = &serverR{} - } - foreign.R.TargetServerFirmwareSetValidationFacts = append(foreign.R.TargetServerFirmwareSetValidationFacts, local) - break - } - } - } - - return nil -} - // LoadFirmwareSet allows an eager lookup of values, cached into the // loaded structs of the objects. This is for an N-1 relationship. func (firmwareSetValidationFactL) LoadFirmwareSet(ctx context.Context, e boil.ContextExecutor, singular bool, maybeFirmwareSetValidationFact interface{}, mods queries.Applicator) error { @@ -656,53 +514,6 @@ func (firmwareSetValidationFactL) LoadFirmwareSet(ctx context.Context, e boil.Co return nil } -// SetTargetServer of the firmwareSetValidationFact to the related item. -// Sets o.R.TargetServer to related. -// Adds o to related.R.TargetServerFirmwareSetValidationFacts. -func (o *FirmwareSetValidationFact) SetTargetServer(ctx context.Context, exec boil.ContextExecutor, insert bool, related *Server) error { - var err error - if insert { - if err = related.Insert(ctx, exec, boil.Infer()); err != nil { - return errors.Wrap(err, "failed to insert into foreign table") - } - } - - updateQuery := fmt.Sprintf( - "UPDATE \"firmware_set_validation_facts\" SET %s WHERE %s", - strmangle.SetParamNames("\"", "\"", 1, []string{"target_server_id"}), - strmangle.WhereClause("\"", "\"", 2, firmwareSetValidationFactPrimaryKeyColumns), - ) - values := []interface{}{related.ID, o.ID} - - if boil.IsDebug(ctx) { - writer := boil.DebugWriterFrom(ctx) - fmt.Fprintln(writer, updateQuery) - fmt.Fprintln(writer, values) - } - if _, err = exec.ExecContext(ctx, updateQuery, values...); err != nil { - return errors.Wrap(err, "failed to update local table") - } - - o.TargetServerID = related.ID - if o.R == nil { - o.R = &firmwareSetValidationFactR{ - TargetServer: related, - } - } else { - o.R.TargetServer = related - } - - if related.R == nil { - related.R = &serverR{ - TargetServerFirmwareSetValidationFacts: FirmwareSetValidationFactSlice{o}, - } - } else { - related.R.TargetServerFirmwareSetValidationFacts = append(related.R.TargetServerFirmwareSetValidationFacts, o) - } - - return nil -} - // SetFirmwareSet of the firmwareSetValidationFact to the related item. // Sets o.R.FirmwareSet to related. // Adds o to related.R.FirmwareSetFirmwareSetValidationFacts. diff --git a/internal/models/firmware_set_validation_facts_test.go b/internal/models/firmware_set_validation_facts_test.go index 849c920..8b0cf8e 100644 --- a/internal/models/firmware_set_validation_facts_test.go +++ b/internal/models/firmware_set_validation_facts_test.go @@ -542,67 +542,6 @@ func testFirmwareSetValidationFactsInsertWhitelist(t *testing.T) { } } -func testFirmwareSetValidationFactToOneServerUsingTargetServer(t *testing.T) { - ctx := context.Background() - tx := MustTx(boil.BeginTx(ctx, nil)) - defer func() { _ = tx.Rollback() }() - - var local FirmwareSetValidationFact - var foreign Server - - seed := randomize.NewSeed() - if err := randomize.Struct(seed, &local, firmwareSetValidationFactDBTypes, false, firmwareSetValidationFactColumnsWithDefault...); err != nil { - t.Errorf("Unable to randomize FirmwareSetValidationFact struct: %s", err) - } - if err := randomize.Struct(seed, &foreign, serverDBTypes, false, serverColumnsWithDefault...); err != nil { - t.Errorf("Unable to randomize Server struct: %s", err) - } - - if err := foreign.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - - local.TargetServerID = foreign.ID - if err := local.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - - check, err := local.TargetServer().One(ctx, tx) - if err != nil { - t.Fatal(err) - } - - if check.ID != foreign.ID { - t.Errorf("want: %v, got %v", foreign.ID, check.ID) - } - - ranAfterSelectHook := false - AddServerHook(boil.AfterSelectHook, func(ctx context.Context, e boil.ContextExecutor, o *Server) error { - ranAfterSelectHook = true - return nil - }) - - slice := FirmwareSetValidationFactSlice{&local} - if err = local.L.LoadTargetServer(ctx, tx, false, (*[]*FirmwareSetValidationFact)(&slice), nil); err != nil { - t.Fatal(err) - } - if local.R.TargetServer == nil { - t.Error("struct should have been eager loaded") - } - - local.R.TargetServer = nil - if err = local.L.LoadTargetServer(ctx, tx, true, &local, nil); err != nil { - t.Fatal(err) - } - if local.R.TargetServer == nil { - t.Error("struct should have been eager loaded") - } - - if !ranAfterSelectHook { - t.Error("failed to run AfterSelect hook for relationship") - } -} - func testFirmwareSetValidationFactToOneComponentFirmwareSetUsingFirmwareSet(t *testing.T) { ctx := context.Background() tx := MustTx(boil.BeginTx(ctx, nil)) @@ -664,63 +603,6 @@ func testFirmwareSetValidationFactToOneComponentFirmwareSetUsingFirmwareSet(t *t } } -func testFirmwareSetValidationFactToOneSetOpServerUsingTargetServer(t *testing.T) { - var err error - - ctx := context.Background() - tx := MustTx(boil.BeginTx(ctx, nil)) - defer func() { _ = tx.Rollback() }() - - var a FirmwareSetValidationFact - var b, c Server - - seed := randomize.NewSeed() - if err = randomize.Struct(seed, &a, firmwareSetValidationFactDBTypes, false, strmangle.SetComplement(firmwareSetValidationFactPrimaryKeyColumns, firmwareSetValidationFactColumnsWithoutDefault)...); err != nil { - t.Fatal(err) - } - if err = randomize.Struct(seed, &b, serverDBTypes, false, strmangle.SetComplement(serverPrimaryKeyColumns, serverColumnsWithoutDefault)...); err != nil { - t.Fatal(err) - } - if err = randomize.Struct(seed, &c, serverDBTypes, false, strmangle.SetComplement(serverPrimaryKeyColumns, serverColumnsWithoutDefault)...); err != nil { - t.Fatal(err) - } - - if err := a.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - if err = b.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - - for i, x := range []*Server{&b, &c} { - err = a.SetTargetServer(ctx, tx, i != 0, x) - if err != nil { - t.Fatal(err) - } - - if a.R.TargetServer != x { - t.Error("relationship struct not set to correct value") - } - - if x.R.TargetServerFirmwareSetValidationFacts[0] != &a { - t.Error("failed to append to foreign relationship struct") - } - if a.TargetServerID != x.ID { - t.Error("foreign key was wrong value", a.TargetServerID) - } - - zero := reflect.Zero(reflect.TypeOf(a.TargetServerID)) - reflect.Indirect(reflect.ValueOf(&a.TargetServerID)).Set(zero) - - if err = a.Reload(ctx, tx); err != nil { - t.Fatal("failed to reload", err) - } - - if a.TargetServerID != x.ID { - t.Error("foreign key was wrong value", a.TargetServerID, x.ID) - } - } -} func testFirmwareSetValidationFactToOneSetOpComponentFirmwareSetUsingFirmwareSet(t *testing.T) { var err error diff --git a/internal/models/servers.go b/internal/models/servers.go index 4deb0cc..16738bd 100644 --- a/internal/models/servers.go +++ b/internal/models/servers.go @@ -87,29 +87,26 @@ var ServerWhere = struct { // ServerRels is where relationship names are stored. var ServerRels = struct { - Attributes string - TargetServerEventHistories string - TargetServerFirmwareSetValidationFacts string - ServerComponents string - ServerCredentials string - VersionedAttributes string + Attributes string + TargetServerEventHistories string + ServerComponents string + ServerCredentials string + VersionedAttributes string }{ - Attributes: "Attributes", - TargetServerEventHistories: "TargetServerEventHistories", - TargetServerFirmwareSetValidationFacts: "TargetServerFirmwareSetValidationFacts", - ServerComponents: "ServerComponents", - ServerCredentials: "ServerCredentials", - VersionedAttributes: "VersionedAttributes", + Attributes: "Attributes", + TargetServerEventHistories: "TargetServerEventHistories", + ServerComponents: "ServerComponents", + ServerCredentials: "ServerCredentials", + VersionedAttributes: "VersionedAttributes", } // serverR is where relationships are stored. type serverR struct { - Attributes AttributeSlice `boil:"Attributes" json:"Attributes" toml:"Attributes" yaml:"Attributes"` - TargetServerEventHistories EventHistorySlice `boil:"TargetServerEventHistories" json:"TargetServerEventHistories" toml:"TargetServerEventHistories" yaml:"TargetServerEventHistories"` - TargetServerFirmwareSetValidationFacts FirmwareSetValidationFactSlice `boil:"TargetServerFirmwareSetValidationFacts" json:"TargetServerFirmwareSetValidationFacts" toml:"TargetServerFirmwareSetValidationFacts" yaml:"TargetServerFirmwareSetValidationFacts"` - ServerComponents ServerComponentSlice `boil:"ServerComponents" json:"ServerComponents" toml:"ServerComponents" yaml:"ServerComponents"` - ServerCredentials ServerCredentialSlice `boil:"ServerCredentials" json:"ServerCredentials" toml:"ServerCredentials" yaml:"ServerCredentials"` - VersionedAttributes VersionedAttributeSlice `boil:"VersionedAttributes" json:"VersionedAttributes" toml:"VersionedAttributes" yaml:"VersionedAttributes"` + Attributes AttributeSlice `boil:"Attributes" json:"Attributes" toml:"Attributes" yaml:"Attributes"` + TargetServerEventHistories EventHistorySlice `boil:"TargetServerEventHistories" json:"TargetServerEventHistories" toml:"TargetServerEventHistories" yaml:"TargetServerEventHistories"` + ServerComponents ServerComponentSlice `boil:"ServerComponents" json:"ServerComponents" toml:"ServerComponents" yaml:"ServerComponents"` + ServerCredentials ServerCredentialSlice `boil:"ServerCredentials" json:"ServerCredentials" toml:"ServerCredentials" yaml:"ServerCredentials"` + VersionedAttributes VersionedAttributeSlice `boil:"VersionedAttributes" json:"VersionedAttributes" toml:"VersionedAttributes" yaml:"VersionedAttributes"` } // NewStruct creates a new relationship struct @@ -131,13 +128,6 @@ func (r *serverR) GetTargetServerEventHistories() EventHistorySlice { return r.TargetServerEventHistories } -func (r *serverR) GetTargetServerFirmwareSetValidationFacts() FirmwareSetValidationFactSlice { - if r == nil { - return nil - } - return r.TargetServerFirmwareSetValidationFacts -} - func (r *serverR) GetServerComponents() ServerComponentSlice { if r == nil { return nil @@ -476,20 +466,6 @@ func (o *Server) TargetServerEventHistories(mods ...qm.QueryMod) eventHistoryQue return EventHistories(queryMods...) } -// TargetServerFirmwareSetValidationFacts retrieves all the firmware_set_validation_fact's FirmwareSetValidationFacts with an executor via target_server_id column. -func (o *Server) TargetServerFirmwareSetValidationFacts(mods ...qm.QueryMod) firmwareSetValidationFactQuery { - var queryMods []qm.QueryMod - if len(mods) != 0 { - queryMods = append(queryMods, mods...) - } - - queryMods = append(queryMods, - qm.Where("\"firmware_set_validation_facts\".\"target_server_id\"=?", o.ID), - ) - - return FirmwareSetValidationFacts(queryMods...) -} - // ServerComponents retrieves all the server_component's ServerComponents with an executor. func (o *Server) ServerComponents(mods ...qm.QueryMod) serverComponentQuery { var queryMods []qm.QueryMod @@ -760,120 +736,6 @@ func (serverL) LoadTargetServerEventHistories(ctx context.Context, e boil.Contex return nil } -// LoadTargetServerFirmwareSetValidationFacts allows an eager lookup of values, cached into the -// loaded structs of the objects. This is for a 1-M or N-M relationship. -func (serverL) LoadTargetServerFirmwareSetValidationFacts(ctx context.Context, e boil.ContextExecutor, singular bool, maybeServer interface{}, mods queries.Applicator) error { - var slice []*Server - var object *Server - - if singular { - var ok bool - object, ok = maybeServer.(*Server) - if !ok { - object = new(Server) - ok = queries.SetFromEmbeddedStruct(&object, &maybeServer) - if !ok { - return errors.New(fmt.Sprintf("failed to set %T from embedded struct %T", object, maybeServer)) - } - } - } else { - s, ok := maybeServer.(*[]*Server) - if ok { - slice = *s - } else { - ok = queries.SetFromEmbeddedStruct(&slice, maybeServer) - if !ok { - return errors.New(fmt.Sprintf("failed to set %T from embedded struct %T", slice, maybeServer)) - } - } - } - - args := make([]interface{}, 0, 1) - if singular { - if object.R == nil { - object.R = &serverR{} - } - args = append(args, object.ID) - } else { - Outer: - for _, obj := range slice { - if obj.R == nil { - obj.R = &serverR{} - } - - for _, a := range args { - if a == obj.ID { - continue Outer - } - } - - args = append(args, obj.ID) - } - } - - if len(args) == 0 { - return nil - } - - query := NewQuery( - qm.From(`firmware_set_validation_facts`), - qm.WhereIn(`firmware_set_validation_facts.target_server_id in ?`, args...), - ) - if mods != nil { - mods.Apply(query) - } - - results, err := query.QueryContext(ctx, e) - if err != nil { - return errors.Wrap(err, "failed to eager load firmware_set_validation_facts") - } - - var resultSlice []*FirmwareSetValidationFact - if err = queries.Bind(results, &resultSlice); err != nil { - return errors.Wrap(err, "failed to bind eager loaded slice firmware_set_validation_facts") - } - - if err = results.Close(); err != nil { - return errors.Wrap(err, "failed to close results in eager load on firmware_set_validation_facts") - } - if err = results.Err(); err != nil { - return errors.Wrap(err, "error occurred during iteration of eager loaded relations for firmware_set_validation_facts") - } - - if len(firmwareSetValidationFactAfterSelectHooks) != 0 { - for _, obj := range resultSlice { - if err := obj.doAfterSelectHooks(ctx, e); err != nil { - return err - } - } - } - if singular { - object.R.TargetServerFirmwareSetValidationFacts = resultSlice - for _, foreign := range resultSlice { - if foreign.R == nil { - foreign.R = &firmwareSetValidationFactR{} - } - foreign.R.TargetServer = object - } - return nil - } - - for _, foreign := range resultSlice { - for _, local := range slice { - if local.ID == foreign.TargetServerID { - local.R.TargetServerFirmwareSetValidationFacts = append(local.R.TargetServerFirmwareSetValidationFacts, foreign) - if foreign.R == nil { - foreign.R = &firmwareSetValidationFactR{} - } - foreign.R.TargetServer = local - break - } - } - } - - return nil -} - // LoadServerComponents allows an eager lookup of values, cached into the // loaded structs of the objects. This is for a 1-M or N-M relationship. func (serverL) LoadServerComponents(ctx context.Context, e boil.ContextExecutor, singular bool, maybeServer interface{}, mods queries.Applicator) error { @@ -1396,59 +1258,6 @@ func (o *Server) AddTargetServerEventHistories(ctx context.Context, exec boil.Co return nil } -// AddTargetServerFirmwareSetValidationFacts adds the given related objects to the existing relationships -// of the server, optionally inserting them as new records. -// Appends related to o.R.TargetServerFirmwareSetValidationFacts. -// Sets related.R.TargetServer appropriately. -func (o *Server) AddTargetServerFirmwareSetValidationFacts(ctx context.Context, exec boil.ContextExecutor, insert bool, related ...*FirmwareSetValidationFact) error { - var err error - for _, rel := range related { - if insert { - rel.TargetServerID = o.ID - if err = rel.Insert(ctx, exec, boil.Infer()); err != nil { - return errors.Wrap(err, "failed to insert into foreign table") - } - } else { - updateQuery := fmt.Sprintf( - "UPDATE \"firmware_set_validation_facts\" SET %s WHERE %s", - strmangle.SetParamNames("\"", "\"", 1, []string{"target_server_id"}), - strmangle.WhereClause("\"", "\"", 2, firmwareSetValidationFactPrimaryKeyColumns), - ) - values := []interface{}{o.ID, rel.ID} - - if boil.IsDebug(ctx) { - writer := boil.DebugWriterFrom(ctx) - fmt.Fprintln(writer, updateQuery) - fmt.Fprintln(writer, values) - } - if _, err = exec.ExecContext(ctx, updateQuery, values...); err != nil { - return errors.Wrap(err, "failed to update foreign table") - } - - rel.TargetServerID = o.ID - } - } - - if o.R == nil { - o.R = &serverR{ - TargetServerFirmwareSetValidationFacts: related, - } - } else { - o.R.TargetServerFirmwareSetValidationFacts = append(o.R.TargetServerFirmwareSetValidationFacts, related...) - } - - for _, rel := range related { - if rel.R == nil { - rel.R = &firmwareSetValidationFactR{ - TargetServer: o, - } - } else { - rel.R.TargetServer = o - } - } - return nil -} - // AddServerComponents adds the given related objects to the existing relationships // of the server, optionally inserting them as new records. // Appends related to o.R.ServerComponents. diff --git a/internal/models/servers_test.go b/internal/models/servers_test.go index 1014407..4e33ca4 100644 --- a/internal/models/servers_test.go +++ b/internal/models/servers_test.go @@ -798,84 +798,6 @@ func testServerToManyTargetServerEventHistories(t *testing.T) { } } -func testServerToManyTargetServerFirmwareSetValidationFacts(t *testing.T) { - var err error - ctx := context.Background() - tx := MustTx(boil.BeginTx(ctx, nil)) - defer func() { _ = tx.Rollback() }() - - var a Server - var b, c FirmwareSetValidationFact - - seed := randomize.NewSeed() - if err = randomize.Struct(seed, &a, serverDBTypes, true, serverColumnsWithDefault...); err != nil { - t.Errorf("Unable to randomize Server struct: %s", err) - } - - if err := a.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - - if err = randomize.Struct(seed, &b, firmwareSetValidationFactDBTypes, false, firmwareSetValidationFactColumnsWithDefault...); err != nil { - t.Fatal(err) - } - if err = randomize.Struct(seed, &c, firmwareSetValidationFactDBTypes, false, firmwareSetValidationFactColumnsWithDefault...); err != nil { - t.Fatal(err) - } - - b.TargetServerID = a.ID - c.TargetServerID = a.ID - - if err = b.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - if err = c.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - - check, err := a.TargetServerFirmwareSetValidationFacts().All(ctx, tx) - if err != nil { - t.Fatal(err) - } - - bFound, cFound := false, false - for _, v := range check { - if v.TargetServerID == b.TargetServerID { - bFound = true - } - if v.TargetServerID == c.TargetServerID { - cFound = true - } - } - - if !bFound { - t.Error("expected to find b") - } - if !cFound { - t.Error("expected to find c") - } - - slice := ServerSlice{&a} - if err = a.L.LoadTargetServerFirmwareSetValidationFacts(ctx, tx, false, (*[]*Server)(&slice), nil); err != nil { - t.Fatal(err) - } - if got := len(a.R.TargetServerFirmwareSetValidationFacts); got != 2 { - t.Error("number of eager loaded records wrong, got:", got) - } - - a.R.TargetServerFirmwareSetValidationFacts = nil - if err = a.L.LoadTargetServerFirmwareSetValidationFacts(ctx, tx, true, &a, nil); err != nil { - t.Fatal(err) - } - if got := len(a.R.TargetServerFirmwareSetValidationFacts); got != 2 { - t.Error("number of eager loaded records wrong, got:", got) - } - - if t.Failed() { - t.Logf("%#v", check) - } -} - func testServerToManyServerComponents(t *testing.T) { var err error ctx := context.Background() @@ -1435,81 +1357,6 @@ func testServerToManyAddOpTargetServerEventHistories(t *testing.T) { } } } -func testServerToManyAddOpTargetServerFirmwareSetValidationFacts(t *testing.T) { - var err error - - ctx := context.Background() - tx := MustTx(boil.BeginTx(ctx, nil)) - defer func() { _ = tx.Rollback() }() - - var a Server - var b, c, d, e FirmwareSetValidationFact - - seed := randomize.NewSeed() - if err = randomize.Struct(seed, &a, serverDBTypes, false, strmangle.SetComplement(serverPrimaryKeyColumns, serverColumnsWithoutDefault)...); err != nil { - t.Fatal(err) - } - foreigners := []*FirmwareSetValidationFact{&b, &c, &d, &e} - for _, x := range foreigners { - if err = randomize.Struct(seed, x, firmwareSetValidationFactDBTypes, false, strmangle.SetComplement(firmwareSetValidationFactPrimaryKeyColumns, firmwareSetValidationFactColumnsWithoutDefault)...); err != nil { - t.Fatal(err) - } - } - - if err := a.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - if err = b.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - if err = c.Insert(ctx, tx, boil.Infer()); err != nil { - t.Fatal(err) - } - - foreignersSplitByInsertion := [][]*FirmwareSetValidationFact{ - {&b, &c}, - {&d, &e}, - } - - for i, x := range foreignersSplitByInsertion { - err = a.AddTargetServerFirmwareSetValidationFacts(ctx, tx, i != 0, x...) - if err != nil { - t.Fatal(err) - } - - first := x[0] - second := x[1] - - if a.ID != first.TargetServerID { - t.Error("foreign key was wrong value", a.ID, first.TargetServerID) - } - if a.ID != second.TargetServerID { - t.Error("foreign key was wrong value", a.ID, second.TargetServerID) - } - - if first.R.TargetServer != &a { - t.Error("relationship was not added properly to the foreign slice") - } - if second.R.TargetServer != &a { - t.Error("relationship was not added properly to the foreign slice") - } - - if a.R.TargetServerFirmwareSetValidationFacts[i*2] != first { - t.Error("relationship struct slice not set to correct value") - } - if a.R.TargetServerFirmwareSetValidationFacts[i*2+1] != second { - t.Error("relationship struct slice not set to correct value") - } - - count, err := a.TargetServerFirmwareSetValidationFacts().Count(ctx, tx) - if err != nil { - t.Fatal(err) - } - if want := int64((i + 1) * 2); count != want { - t.Error("want", want, "got", count) - } - } -} func testServerToManyAddOpServerComponents(t *testing.T) { var err error