diff --git a/.gitattributes b/.gitattributes index 64fbcb9eb..517c9d824 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,6 @@ app/controlplane/api/gen/frontend/** linguist-generated=true app/controlplane/internal/data/ent/** linguist-generated=true +app/controlplane/internal/data/ent/migrate/** linguist-generated=false +app/controlplane/internal/data/ent/migrate/** linguist-detectable=true +app/controlplane/internal/data/ent/schema/* linguist-generated=false app/controlplane/internal/data/ent/schema/* linguist-detectable=true \ No newline at end of file diff --git a/.goreleaser.yml b/.goreleaser.yml index 202c88235..8836ae525 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -65,6 +65,13 @@ dockers: image_templates: - "ghcr.io/chainloop-dev/chainloop/control-plane:{{ .Tag }}" - "ghcr.io/chainloop-dev/chainloop/control-plane:latest" + - dockerfile: app/controlplane/Dockerfile.migrations + ids: + - control-plane + extra_files: + - app/controlplane/internal/data/ent/migrate/migrations + image_templates: + - "ghcr.io/chainloop-dev/chainloop/control-plane-migrations:{{ .Tag }}" - dockerfile: app/artifact-cas/Dockerfile.goreleaser ids: - artifact-cas diff --git a/Makefile b/Makefile index 55545c15e..61433d033 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ init: go install github.com/go-kratos/kratos/cmd/protoc-gen-go-http/v2@latest go install github.com/google/wire/cmd/wire@latest go install github.com/vektra/mockery/v2@v2.20.0 - go install entgo.io/ent/cmd/ent@v0.11.4 + go install ariga.io/atlas/cmd/atlas@v0.12.0 go install github.com/bufbuild/buf/cmd/buf@v1.10.0 .PHONY: api diff --git a/app/controlplane/Dockerfile.migrations b/app/controlplane/Dockerfile.migrations new file mode 100644 index 000000000..925290951 --- /dev/null +++ b/app/controlplane/Dockerfile.migrations @@ -0,0 +1,5 @@ +# Container image built by go-releaser that's used to run migrations against the database during deployment +# See https://atlasgo.io/guides/deploying/image +FROM arigaio/atlas@sha256:37b8b163719e2f9baf5c97099e8d0772bc1bd84f392e402afcc3e565d11e074f + +COPY app/controlplane/internal/data/ent/migrate/migrations /migrations diff --git a/app/controlplane/Makefile b/app/controlplane/Makefile index 4bf68d9e1..cdf0838a4 100644 --- a/app/controlplane/Makefile +++ b/app/controlplane/Makefile @@ -20,9 +20,23 @@ build: .PHONY: run # run -run: +run: migration_apply go run ./cmd/... --conf ./configs +local_migrations_dir = file://internal/data/ent/migrate/migrations +local_db = postgres://postgres:@localhost:5432/controlplane?sslmode=disable + +.PHONY: migration_apply +# run migrations against local db +migration_apply: + atlas migrate status --dir ${local_migrations_dir} --url ${local_db} + atlas migrate apply --dir ${local_migrations_dir} --url ${local_db} + +.PHONY: migration_new +# generate new migration if needed from the current ent schema +migration_new: + atlas migrate diff --dir ${local_migrations_dir} --to "ent://internal/data/ent/schema" --dev-url "docker://postgres/15/test?search_path=public" + .PHONY: test # All tests, both unit and integration test: diff --git a/app/controlplane/README.md b/app/controlplane/README.md index 6002f5450..1d758b90b 100644 --- a/app/controlplane/README.md +++ b/app/controlplane/README.md @@ -72,13 +72,18 @@ make api ### Update Application data model -We use [ent](https://entgo.io) as database Object Relational Mapping (ORM). +We use [ent](https://entgo.io) as database Object Relational Mapping (ORM) and [atlas versioned migrations](https://entgo.io/docs/versioned-migrations) to manage the database schema changes. -The way a change in the data model is as follows +The way you can make a change in the data model is +**Update the schema** - Add a new/update an existing entity via a schema update. Schemas can be found at `internal/data/ent/schema` - Generate the code changes associated with that schema change. `make generate` -- Restarting the control plane will cause the schema change to be automatically migrated. +- Generate a new versioned migration `make migration_new`. This will create a new migration file at `internal/data/ent/migrate/migrations + +**Apply the schema change in development DB** +- `make migration_apply` will apply the migration to the development database +- Restart the control plane ### Update configuration schema diff --git a/app/controlplane/internal/biz/testhelpers/database.go b/app/controlplane/internal/biz/testhelpers/database.go index 9d41de43d..bbc8e1ead 100644 --- a/app/controlplane/internal/biz/testhelpers/database.go +++ b/app/controlplane/internal/biz/testhelpers/database.go @@ -23,11 +23,12 @@ import ( "testing" "time" - // Requuired for the database waitFor strategy + // Required for the database waitFor strategy _ "github.com/lib/pq" "github.com/chainloop-dev/chainloop/app/controlplane/internal/biz" "github.com/chainloop-dev/chainloop/app/controlplane/internal/conf" + "github.com/chainloop-dev/chainloop/app/controlplane/internal/data" "github.com/chainloop-dev/chainloop/app/controlplane/plugins/sdk/v1" "github.com/chainloop-dev/chainloop/internal/credentials" creds "github.com/chainloop-dev/chainloop/internal/credentials/mocks" @@ -45,8 +46,9 @@ import ( // NOTE: It connects to a real database type TestingUseCases struct { // Misc - DB *TestDatabase - L log.Logger + DB *TestDatabase + Data *data.Data + L log.Logger // Use cases Membership *biz.MembershipUseCase @@ -101,6 +103,9 @@ func NewTestingUseCases(t *testing.T, opts ...NewTestingUCOpt) *TestingUseCases }, newArgs.integrations) assert.NoError(t, err) + // Run DB migrations for testing + require.NoError(t, testData.Data.SchemaLoad()) + return testData } diff --git a/app/controlplane/internal/biz/testhelpers/wire_gen.go b/app/controlplane/internal/biz/testhelpers/wire_gen.go index e219ebff3..9a2aeab69 100644 --- a/app/controlplane/internal/biz/testhelpers/wire_gen.go +++ b/app/controlplane/internal/biz/testhelpers/wire_gen.go @@ -70,6 +70,7 @@ func WireTestData(testDatabase *TestDatabase, t *testing.T, logger log.Logger, r robotAccountUseCase := biz.NewRootAccountUseCase(robotAccountRepo, workflowRepo, auth, logger) testingUseCases := &TestingUseCases{ DB: testDatabase, + Data: dataData, L: logger, Membership: membershipUseCase, OCIRepo: ociRepositoryUseCase, diff --git a/app/controlplane/internal/data/data.go b/app/controlplane/internal/data/data.go index b8c4fa687..1ef2a0004 100644 --- a/app/controlplane/internal/data/data.go +++ b/app/controlplane/internal/data/data.go @@ -25,7 +25,6 @@ import ( "entgo.io/ent/dialect" entsql "entgo.io/ent/dialect/sql" - "entgo.io/ent/dialect/sql/schema" "github.com/chainloop-dev/chainloop/app/controlplane/internal/conf" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent" @@ -35,7 +34,7 @@ import ( "github.com/google/wire" // Load PGX driver - _ "github.com/jackc/pgx/v4/stdlib" + _ "github.com/jackc/pgx/v5/stdlib" ) // ProviderSet is data providers. @@ -59,6 +58,13 @@ type Data struct { db *ent.Client } +// Load DB schema +// NOTE: this is different than running migrations +// this method is used to load the schema into the DB for TESTING! +func (data *Data) SchemaLoad() error { + return data.db.Schema.Create(context.Background()) +} + // NewData . func NewData(c *conf.Data, logger log.Logger) (*Data, func(), error) { if logger == nil { @@ -96,11 +102,8 @@ func initSQLDatabase(c *conf.Data_Database, log *log.Helper) (*ent.Client, error drv := entsql.OpenDB(dialect.Postgres, db) client := ent.NewClient(ent.Driver(drv)) - // Run DB migration - if err := client.Schema.Create(context.Background(), schema.WithDropColumn(true)); err != nil { - return nil, fmt.Errorf("error performing the schema change: %w", err) - } - + // NOTE: We do not run migrations automatically anymore + // Instead we leverage atlas cli to run migrations return client, nil } diff --git a/app/controlplane/internal/data/ent/ent.go b/app/controlplane/internal/data/ent/ent.go index 4b461d01a..2f277d27b 100644 --- a/app/controlplane/internal/data/ent/ent.go +++ b/app/controlplane/internal/data/ent/ent.go @@ -7,6 +7,7 @@ import ( "errors" "fmt" "reflect" + "sync" "entgo.io/ent" "entgo.io/ent/dialect/sql" @@ -70,43 +71,39 @@ func NewTxContext(parent context.Context, tx *Tx) context.Context { } // OrderFunc applies an ordering on the sql selector. +// Deprecated: Use Asc/Desc functions or the package builders instead. type OrderFunc func(*sql.Selector) -// columnChecker returns a function indicates if the column exists in the given column. -func columnChecker(table string) func(string) error { - checks := map[string]func(string) bool{ - integration.Table: integration.ValidColumn, - integrationattachment.Table: integrationattachment.ValidColumn, - membership.Table: membership.ValidColumn, - ocirepository.Table: ocirepository.ValidColumn, - organization.Table: organization.ValidColumn, - robotaccount.Table: robotaccount.ValidColumn, - user.Table: user.ValidColumn, - workflow.Table: workflow.ValidColumn, - workflowcontract.Table: workflowcontract.ValidColumn, - workflowcontractversion.Table: workflowcontractversion.ValidColumn, - workflowrun.Table: workflowrun.ValidColumn, - } - check, ok := checks[table] - if !ok { - return func(string) error { - return fmt.Errorf("unknown table %q", table) - } - } - return func(column string) error { - if !check(column) { - return fmt.Errorf("unknown column %q for table %q", column, table) - } - return nil - } +var ( + initCheck sync.Once + columnCheck sql.ColumnCheck +) + +// columnChecker checks if the column exists in the given table. +func checkColumn(table, column string) error { + initCheck.Do(func() { + columnCheck = sql.NewColumnCheck(map[string]func(string) bool{ + integration.Table: integration.ValidColumn, + integrationattachment.Table: integrationattachment.ValidColumn, + membership.Table: membership.ValidColumn, + ocirepository.Table: ocirepository.ValidColumn, + organization.Table: organization.ValidColumn, + robotaccount.Table: robotaccount.ValidColumn, + user.Table: user.ValidColumn, + workflow.Table: workflow.ValidColumn, + workflowcontract.Table: workflowcontract.ValidColumn, + workflowcontractversion.Table: workflowcontractversion.ValidColumn, + workflowrun.Table: workflowrun.ValidColumn, + }) + }) + return columnCheck(table, column) } // Asc applies the given fields in ASC order. -func Asc(fields ...string) OrderFunc { +func Asc(fields ...string) func(*sql.Selector) { return func(s *sql.Selector) { - check := columnChecker(s.TableName()) for _, f := range fields { - if err := check(f); err != nil { + if err := checkColumn(s.TableName(), f); err != nil { s.AddError(&ValidationError{Name: f, err: fmt.Errorf("ent: %w", err)}) } s.OrderBy(sql.Asc(s.C(f))) @@ -115,11 +112,10 @@ func Asc(fields ...string) OrderFunc { } // Desc applies the given fields in DESC order. -func Desc(fields ...string) OrderFunc { +func Desc(fields ...string) func(*sql.Selector) { return func(s *sql.Selector) { - check := columnChecker(s.TableName()) for _, f := range fields { - if err := check(f); err != nil { + if err := checkColumn(s.TableName(), f); err != nil { s.AddError(&ValidationError{Name: f, err: fmt.Errorf("ent: %w", err)}) } s.OrderBy(sql.Desc(s.C(f))) @@ -151,8 +147,7 @@ func Count() AggregateFunc { // Max applies the "max" aggregation function on the given field of each group. func Max(field string) AggregateFunc { return func(s *sql.Selector) string { - check := columnChecker(s.TableName()) - if err := check(field); err != nil { + if err := checkColumn(s.TableName(), field); err != nil { s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)}) return "" } @@ -163,8 +158,7 @@ func Max(field string) AggregateFunc { // Mean applies the "mean" aggregation function on the given field of each group. func Mean(field string) AggregateFunc { return func(s *sql.Selector) string { - check := columnChecker(s.TableName()) - if err := check(field); err != nil { + if err := checkColumn(s.TableName(), field); err != nil { s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)}) return "" } @@ -175,8 +169,7 @@ func Mean(field string) AggregateFunc { // Min applies the "min" aggregation function on the given field of each group. func Min(field string) AggregateFunc { return func(s *sql.Selector) string { - check := columnChecker(s.TableName()) - if err := check(field); err != nil { + if err := checkColumn(s.TableName(), field); err != nil { s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)}) return "" } @@ -187,8 +180,7 @@ func Min(field string) AggregateFunc { // Sum applies the "sum" aggregation function on the given field of each group. func Sum(field string) AggregateFunc { return func(s *sql.Selector) string { - check := columnChecker(s.TableName()) - if err := check(field); err != nil { + if err := checkColumn(s.TableName(), field); err != nil { s.AddError(&ValidationError{Name: field, err: fmt.Errorf("ent: %w", err)}) return "" } @@ -525,7 +517,7 @@ func withHooks[V Value, M any, PM interface { return exec(ctx) } var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { - mutationT, ok := m.(PM) + mutationT, ok := any(m).(PM) if !ok { return nil, fmt.Errorf("unexpected mutation type %T", m) } diff --git a/app/controlplane/internal/data/ent/entc.go b/app/controlplane/internal/data/ent/entc.go index d699a9e33..43451a8b6 100644 --- a/app/controlplane/internal/data/ent/entc.go +++ b/app/controlplane/internal/data/ent/entc.go @@ -28,7 +28,9 @@ import ( ) func main() { - err := entc.Generate("./schema", &gen.Config{}, entc.Extensions(entviz.Extension{})) + err := entc.Generate("./schema", &gen.Config{ + Features: []gen.Feature{gen.FeatureVersionedMigration}, + }, entc.Extensions(entviz.Extension{})) if err != nil { log.Fatalf("running ent codegen: %v", err) } diff --git a/app/controlplane/internal/data/ent/integration.go b/app/controlplane/internal/data/ent/integration.go index eceb1eafb..258487b5e 100644 --- a/app/controlplane/internal/data/ent/integration.go +++ b/app/controlplane/internal/data/ent/integration.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/integration" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/organization" @@ -34,6 +35,7 @@ type Integration struct { // The values are being populated by the IntegrationQuery when eager-loading is set. Edges IntegrationEdges `json:"edges"` organization_integrations *uuid.UUID + selectValues sql.SelectValues } // IntegrationEdges holds the relations/edges for other nodes in the graph. @@ -85,7 +87,7 @@ func (*Integration) scanValues(columns []string) ([]any, error) { case integration.ForeignKeys[0]: // organization_integrations values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type Integration", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -148,11 +150,19 @@ func (i *Integration) assignValues(columns []string, values []any) error { i.organization_integrations = new(uuid.UUID) *i.organization_integrations = *value.S.(*uuid.UUID) } + default: + i.selectValues.Set(columns[j], values[j]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the Integration. +// This includes values selected through modifiers, order, etc. +func (i *Integration) Value(name string) (ent.Value, error) { + return i.selectValues.Get(name) +} + // QueryAttachments queries the "attachments" edge of the Integration entity. func (i *Integration) QueryAttachments() *IntegrationAttachmentQuery { return NewIntegrationClient(i.config).QueryAttachments(i) diff --git a/app/controlplane/internal/data/ent/integration/integration.go b/app/controlplane/internal/data/ent/integration/integration.go index 34c202fea..a078452da 100644 --- a/app/controlplane/internal/data/ent/integration/integration.go +++ b/app/controlplane/internal/data/ent/integration/integration.go @@ -5,6 +5,8 @@ package integration import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -85,3 +87,71 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the Integration queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByKind orders the results by the kind field. +func ByKind(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldKind, opts...).ToFunc() +} + +// ByDescription orders the results by the description field. +func ByDescription(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldDescription, opts...).ToFunc() +} + +// BySecretName orders the results by the secret_name field. +func BySecretName(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldSecretName, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByDeletedAt orders the results by the deleted_at field. +func ByDeletedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldDeletedAt, opts...).ToFunc() +} + +// ByAttachmentsCount orders the results by attachments count. +func ByAttachmentsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newAttachmentsStep(), opts...) + } +} + +// ByAttachments orders the results by attachments terms. +func ByAttachments(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newAttachmentsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByOrganizationField orders the results by organization field. +func ByOrganizationField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newOrganizationStep(), sql.OrderByField(field, opts...)) + } +} +func newAttachmentsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(AttachmentsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, true, AttachmentsTable, AttachmentsColumn), + ) +} +func newOrganizationStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(OrganizationInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/integration/where.go b/app/controlplane/internal/data/ent/integration/where.go index 9c680a745..e5a519db6 100644 --- a/app/controlplane/internal/data/ent/integration/where.go +++ b/app/controlplane/internal/data/ent/integration/where.go @@ -445,11 +445,7 @@ func HasAttachments() predicate.Integration { // HasAttachmentsWith applies the HasEdge predicate on the "attachments" edge with a given conditions (other predicates). func HasAttachmentsWith(preds ...predicate.IntegrationAttachment) predicate.Integration { return predicate.Integration(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(AttachmentsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, true, AttachmentsTable, AttachmentsColumn), - ) + step := newAttachmentsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -472,11 +468,7 @@ func HasOrganization() predicate.Integration { // HasOrganizationWith applies the HasEdge predicate on the "organization" edge with a given conditions (other predicates). func HasOrganizationWith(preds ...predicate.Organization) predicate.Integration { return predicate.Integration(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(OrganizationInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), - ) + step := newOrganizationStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/integration_create.go b/app/controlplane/internal/data/ent/integration_create.go index d35048612..e6d582c69 100644 --- a/app/controlplane/internal/data/ent/integration_create.go +++ b/app/controlplane/internal/data/ent/integration_create.go @@ -131,7 +131,7 @@ func (ic *IntegrationCreate) Mutation() *IntegrationMutation { // Save creates the Integration in the database. func (ic *IntegrationCreate) Save(ctx context.Context) (*Integration, error) { ic.defaults() - return withHooks[*Integration, IntegrationMutation](ctx, ic.sqlSave, ic.mutation, ic.hooks) + return withHooks(ctx, ic.sqlSave, ic.mutation, ic.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -249,10 +249,7 @@ func (ic *IntegrationCreate) createSpec() (*Integration, *sqlgraph.CreateSpec) { Columns: []string{integration.AttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -268,10 +265,7 @@ func (ic *IntegrationCreate) createSpec() (*Integration, *sqlgraph.CreateSpec) { Columns: []string{integration.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -307,8 +301,8 @@ func (icb *IntegrationCreateBulk) Save(ctx context.Context) ([]*Integration, err return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, icb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/integration_delete.go b/app/controlplane/internal/data/ent/integration_delete.go index 09f7a4b5c..d9dbefe19 100644 --- a/app/controlplane/internal/data/ent/integration_delete.go +++ b/app/controlplane/internal/data/ent/integration_delete.go @@ -27,7 +27,7 @@ func (id *IntegrationDelete) Where(ps ...predicate.Integration) *IntegrationDele // Exec executes the deletion query and returns how many vertices were deleted. func (id *IntegrationDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, IntegrationMutation](ctx, id.sqlExec, id.mutation, id.hooks) + return withHooks(ctx, id.sqlExec, id.mutation, id.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/integration_query.go b/app/controlplane/internal/data/ent/integration_query.go index a1bd35738..2e15e9338 100644 --- a/app/controlplane/internal/data/ent/integration_query.go +++ b/app/controlplane/internal/data/ent/integration_query.go @@ -22,7 +22,7 @@ import ( type IntegrationQuery struct { config ctx *QueryContext - order []OrderFunc + order []integration.OrderOption inters []Interceptor predicates []predicate.Integration withAttachments *IntegrationAttachmentQuery @@ -59,7 +59,7 @@ func (iq *IntegrationQuery) Unique(unique bool) *IntegrationQuery { } // Order specifies how the records should be ordered. -func (iq *IntegrationQuery) Order(o ...OrderFunc) *IntegrationQuery { +func (iq *IntegrationQuery) Order(o ...integration.OrderOption) *IntegrationQuery { iq.order = append(iq.order, o...) return iq } @@ -297,7 +297,7 @@ func (iq *IntegrationQuery) Clone() *IntegrationQuery { return &IntegrationQuery{ config: iq.config, ctx: iq.ctx.Clone(), - order: append([]OrderFunc{}, iq.order...), + order: append([]integration.OrderOption{}, iq.order...), inters: append([]Interceptor{}, iq.inters...), predicates: append([]predicate.Integration{}, iq.predicates...), withAttachments: iq.withAttachments.Clone(), @@ -466,7 +466,7 @@ func (iq *IntegrationQuery) loadAttachments(ctx context.Context, query *Integrat } query.withFKs = true query.Where(predicate.IntegrationAttachment(func(s *sql.Selector) { - s.Where(sql.InValues(integration.AttachmentsColumn, fks...)) + s.Where(sql.InValues(s.C(integration.AttachmentsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -479,7 +479,7 @@ func (iq *IntegrationQuery) loadAttachments(ctx context.Context, query *Integrat } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "integration_attachment_integration" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "integration_attachment_integration" returned %v for node %v`, *fk, n.ID) } assign(node, n) } diff --git a/app/controlplane/internal/data/ent/integration_update.go b/app/controlplane/internal/data/ent/integration_update.go index 366202d76..f12361b91 100644 --- a/app/controlplane/internal/data/ent/integration_update.go +++ b/app/controlplane/internal/data/ent/integration_update.go @@ -143,7 +143,7 @@ func (iu *IntegrationUpdate) ClearOrganization() *IntegrationUpdate { // Save executes the query and returns the number of nodes affected by the update operation. func (iu *IntegrationUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, IntegrationMutation](ctx, iu.sqlSave, iu.mutation, iu.hooks) + return withHooks(ctx, iu.sqlSave, iu.mutation, iu.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -214,10 +214,7 @@ func (iu *IntegrationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{integration.AttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -230,10 +227,7 @@ func (iu *IntegrationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{integration.AttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -249,10 +243,7 @@ func (iu *IntegrationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{integration.AttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -268,10 +259,7 @@ func (iu *IntegrationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{integration.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -284,10 +272,7 @@ func (iu *IntegrationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{integration.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -440,7 +425,7 @@ func (iuo *IntegrationUpdateOne) Select(field string, fields ...string) *Integra // Save executes the query and returns the updated Integration entity. func (iuo *IntegrationUpdateOne) Save(ctx context.Context) (*Integration, error) { - return withHooks[*Integration, IntegrationMutation](ctx, iuo.sqlSave, iuo.mutation, iuo.hooks) + return withHooks(ctx, iuo.sqlSave, iuo.mutation, iuo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -528,10 +513,7 @@ func (iuo *IntegrationUpdateOne) sqlSave(ctx context.Context) (_node *Integratio Columns: []string{integration.AttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -544,10 +526,7 @@ func (iuo *IntegrationUpdateOne) sqlSave(ctx context.Context) (_node *Integratio Columns: []string{integration.AttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -563,10 +542,7 @@ func (iuo *IntegrationUpdateOne) sqlSave(ctx context.Context) (_node *Integratio Columns: []string{integration.AttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -582,10 +558,7 @@ func (iuo *IntegrationUpdateOne) sqlSave(ctx context.Context) (_node *Integratio Columns: []string{integration.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -598,10 +571,7 @@ func (iuo *IntegrationUpdateOne) sqlSave(ctx context.Context) (_node *Integratio Columns: []string{integration.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/integrationattachment.go b/app/controlplane/internal/data/ent/integrationattachment.go index c55af75ea..2f7febfb5 100644 --- a/app/controlplane/internal/data/ent/integrationattachment.go +++ b/app/controlplane/internal/data/ent/integrationattachment.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/integration" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/integrationattachment" @@ -30,6 +31,7 @@ type IntegrationAttachment struct { Edges IntegrationAttachmentEdges `json:"edges"` integration_attachment_integration *uuid.UUID integration_attachment_workflow *uuid.UUID + selectValues sql.SelectValues } // IntegrationAttachmentEdges holds the relations/edges for other nodes in the graph. @@ -85,7 +87,7 @@ func (*IntegrationAttachment) scanValues(columns []string) ([]any, error) { case integrationattachment.ForeignKeys[1]: // integration_attachment_workflow values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type IntegrationAttachment", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -137,11 +139,19 @@ func (ia *IntegrationAttachment) assignValues(columns []string, values []any) er ia.integration_attachment_workflow = new(uuid.UUID) *ia.integration_attachment_workflow = *value.S.(*uuid.UUID) } + default: + ia.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the IntegrationAttachment. +// This includes values selected through modifiers, order, etc. +func (ia *IntegrationAttachment) Value(name string) (ent.Value, error) { + return ia.selectValues.Get(name) +} + // QueryIntegration queries the "integration" edge of the IntegrationAttachment entity. func (ia *IntegrationAttachment) QueryIntegration() *IntegrationQuery { return NewIntegrationAttachmentClient(ia.config).QueryIntegration(ia) diff --git a/app/controlplane/internal/data/ent/integrationattachment/integrationattachment.go b/app/controlplane/internal/data/ent/integrationattachment/integrationattachment.go index 3bb3ff1ea..ce092e1f0 100644 --- a/app/controlplane/internal/data/ent/integrationattachment/integrationattachment.go +++ b/app/controlplane/internal/data/ent/integrationattachment/integrationattachment.go @@ -5,6 +5,8 @@ package integrationattachment import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -77,3 +79,49 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the IntegrationAttachment queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByDeletedAt orders the results by the deleted_at field. +func ByDeletedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldDeletedAt, opts...).ToFunc() +} + +// ByIntegrationField orders the results by integration field. +func ByIntegrationField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newIntegrationStep(), sql.OrderByField(field, opts...)) + } +} + +// ByWorkflowField orders the results by workflow field. +func ByWorkflowField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowStep(), sql.OrderByField(field, opts...)) + } +} +func newIntegrationStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(IntegrationInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, false, IntegrationTable, IntegrationColumn), + ) +} +func newWorkflowStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, false, WorkflowTable, WorkflowColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/integrationattachment/where.go b/app/controlplane/internal/data/ent/integrationattachment/where.go index f07b6ca03..c40b20b4c 100644 --- a/app/controlplane/internal/data/ent/integrationattachment/where.go +++ b/app/controlplane/internal/data/ent/integrationattachment/where.go @@ -225,11 +225,7 @@ func HasIntegration() predicate.IntegrationAttachment { // HasIntegrationWith applies the HasEdge predicate on the "integration" edge with a given conditions (other predicates). func HasIntegrationWith(preds ...predicate.Integration) predicate.IntegrationAttachment { return predicate.IntegrationAttachment(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(IntegrationInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, IntegrationTable, IntegrationColumn), - ) + step := newIntegrationStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -252,11 +248,7 @@ func HasWorkflow() predicate.IntegrationAttachment { // HasWorkflowWith applies the HasEdge predicate on the "workflow" edge with a given conditions (other predicates). func HasWorkflowWith(preds ...predicate.Workflow) predicate.IntegrationAttachment { return predicate.IntegrationAttachment(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, WorkflowTable, WorkflowColumn), - ) + step := newWorkflowStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/integrationattachment_create.go b/app/controlplane/internal/data/ent/integrationattachment_create.go index 097710d2e..b0f77c56f 100644 --- a/app/controlplane/internal/data/ent/integrationattachment_create.go +++ b/app/controlplane/internal/data/ent/integrationattachment_create.go @@ -101,7 +101,7 @@ func (iac *IntegrationAttachmentCreate) Mutation() *IntegrationAttachmentMutatio // Save creates the IntegrationAttachment in the database. func (iac *IntegrationAttachmentCreate) Save(ctx context.Context) (*IntegrationAttachment, error) { iac.defaults() - return withHooks[*IntegrationAttachment, IntegrationAttachmentMutation](ctx, iac.sqlSave, iac.mutation, iac.hooks) + return withHooks(ctx, iac.sqlSave, iac.mutation, iac.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -204,10 +204,7 @@ func (iac *IntegrationAttachmentCreate) createSpec() (*IntegrationAttachment, *s Columns: []string{integrationattachment.IntegrationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -224,10 +221,7 @@ func (iac *IntegrationAttachmentCreate) createSpec() (*IntegrationAttachment, *s Columns: []string{integrationattachment.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -263,8 +257,8 @@ func (iacb *IntegrationAttachmentCreateBulk) Save(ctx context.Context) ([]*Integ return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, iacb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/integrationattachment_delete.go b/app/controlplane/internal/data/ent/integrationattachment_delete.go index 5c865023b..78f7b212c 100644 --- a/app/controlplane/internal/data/ent/integrationattachment_delete.go +++ b/app/controlplane/internal/data/ent/integrationattachment_delete.go @@ -27,7 +27,7 @@ func (iad *IntegrationAttachmentDelete) Where(ps ...predicate.IntegrationAttachm // Exec executes the deletion query and returns how many vertices were deleted. func (iad *IntegrationAttachmentDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, IntegrationAttachmentMutation](ctx, iad.sqlExec, iad.mutation, iad.hooks) + return withHooks(ctx, iad.sqlExec, iad.mutation, iad.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/integrationattachment_query.go b/app/controlplane/internal/data/ent/integrationattachment_query.go index 840f6e532..cb33405f3 100644 --- a/app/controlplane/internal/data/ent/integrationattachment_query.go +++ b/app/controlplane/internal/data/ent/integrationattachment_query.go @@ -21,7 +21,7 @@ import ( type IntegrationAttachmentQuery struct { config ctx *QueryContext - order []OrderFunc + order []integrationattachment.OrderOption inters []Interceptor predicates []predicate.IntegrationAttachment withIntegration *IntegrationQuery @@ -58,7 +58,7 @@ func (iaq *IntegrationAttachmentQuery) Unique(unique bool) *IntegrationAttachmen } // Order specifies how the records should be ordered. -func (iaq *IntegrationAttachmentQuery) Order(o ...OrderFunc) *IntegrationAttachmentQuery { +func (iaq *IntegrationAttachmentQuery) Order(o ...integrationattachment.OrderOption) *IntegrationAttachmentQuery { iaq.order = append(iaq.order, o...) return iaq } @@ -296,7 +296,7 @@ func (iaq *IntegrationAttachmentQuery) Clone() *IntegrationAttachmentQuery { return &IntegrationAttachmentQuery{ config: iaq.config, ctx: iaq.ctx.Clone(), - order: append([]OrderFunc{}, iaq.order...), + order: append([]integrationattachment.OrderOption{}, iaq.order...), inters: append([]Interceptor{}, iaq.inters...), predicates: append([]predicate.IntegrationAttachment{}, iaq.predicates...), withIntegration: iaq.withIntegration.Clone(), diff --git a/app/controlplane/internal/data/ent/integrationattachment_update.go b/app/controlplane/internal/data/ent/integrationattachment_update.go index d1019f57d..4239c103f 100644 --- a/app/controlplane/internal/data/ent/integrationattachment_update.go +++ b/app/controlplane/internal/data/ent/integrationattachment_update.go @@ -104,7 +104,7 @@ func (iau *IntegrationAttachmentUpdate) ClearWorkflow() *IntegrationAttachmentUp // Save executes the query and returns the number of nodes affected by the update operation. func (iau *IntegrationAttachmentUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, IntegrationAttachmentMutation](ctx, iau.sqlSave, iau.mutation, iau.hooks) + return withHooks(ctx, iau.sqlSave, iau.mutation, iau.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -172,10 +172,7 @@ func (iau *IntegrationAttachmentUpdate) sqlSave(ctx context.Context) (n int, err Columns: []string{integrationattachment.IntegrationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -188,10 +185,7 @@ func (iau *IntegrationAttachmentUpdate) sqlSave(ctx context.Context) (n int, err Columns: []string{integrationattachment.IntegrationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -207,10 +201,7 @@ func (iau *IntegrationAttachmentUpdate) sqlSave(ctx context.Context) (n int, err Columns: []string{integrationattachment.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -223,10 +214,7 @@ func (iau *IntegrationAttachmentUpdate) sqlSave(ctx context.Context) (n int, err Columns: []string{integrationattachment.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -340,7 +328,7 @@ func (iauo *IntegrationAttachmentUpdateOne) Select(field string, fields ...strin // Save executes the query and returns the updated IntegrationAttachment entity. func (iauo *IntegrationAttachmentUpdateOne) Save(ctx context.Context) (*IntegrationAttachment, error) { - return withHooks[*IntegrationAttachment, IntegrationAttachmentMutation](ctx, iauo.sqlSave, iauo.mutation, iauo.hooks) + return withHooks(ctx, iauo.sqlSave, iauo.mutation, iauo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -425,10 +413,7 @@ func (iauo *IntegrationAttachmentUpdateOne) sqlSave(ctx context.Context) (_node Columns: []string{integrationattachment.IntegrationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -441,10 +426,7 @@ func (iauo *IntegrationAttachmentUpdateOne) sqlSave(ctx context.Context) (_node Columns: []string{integrationattachment.IntegrationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -460,10 +442,7 @@ func (iauo *IntegrationAttachmentUpdateOne) sqlSave(ctx context.Context) (_node Columns: []string{integrationattachment.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -476,10 +455,7 @@ func (iauo *IntegrationAttachmentUpdateOne) sqlSave(ctx context.Context) (_node Columns: []string{integrationattachment.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/membership.go b/app/controlplane/internal/data/ent/membership.go index d20dcbd47..6ed0b4594 100644 --- a/app/controlplane/internal/data/ent/membership.go +++ b/app/controlplane/internal/data/ent/membership.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/membership" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/organization" @@ -30,6 +31,7 @@ type Membership struct { Edges MembershipEdges `json:"edges"` organization_memberships *uuid.UUID user_memberships *uuid.UUID + selectValues sql.SelectValues } // MembershipEdges holds the relations/edges for other nodes in the graph. @@ -85,7 +87,7 @@ func (*Membership) scanValues(columns []string) ([]any, error) { case membership.ForeignKeys[1]: // user_memberships values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type Membership", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -137,11 +139,19 @@ func (m *Membership) assignValues(columns []string, values []any) error { m.user_memberships = new(uuid.UUID) *m.user_memberships = *value.S.(*uuid.UUID) } + default: + m.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the Membership. +// This includes values selected through modifiers, order, etc. +func (m *Membership) Value(name string) (ent.Value, error) { + return m.selectValues.Get(name) +} + // QueryOrganization queries the "organization" edge of the Membership entity. func (m *Membership) QueryOrganization() *OrganizationQuery { return NewMembershipClient(m.config).QueryOrganization(m) diff --git a/app/controlplane/internal/data/ent/membership/membership.go b/app/controlplane/internal/data/ent/membership/membership.go index d9ba7bad5..3d9aadfe6 100644 --- a/app/controlplane/internal/data/ent/membership/membership.go +++ b/app/controlplane/internal/data/ent/membership/membership.go @@ -5,6 +5,8 @@ package membership import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -81,3 +83,54 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the Membership queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByCurrent orders the results by the current field. +func ByCurrent(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCurrent, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByUpdatedAt orders the results by the updated_at field. +func ByUpdatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldUpdatedAt, opts...).ToFunc() +} + +// ByOrganizationField orders the results by organization field. +func ByOrganizationField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newOrganizationStep(), sql.OrderByField(field, opts...)) + } +} + +// ByUserField orders the results by user field. +func ByUserField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newUserStep(), sql.OrderByField(field, opts...)) + } +} +func newOrganizationStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(OrganizationInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), + ) +} +func newUserStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(UserInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, UserTable, UserColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/membership/where.go b/app/controlplane/internal/data/ent/membership/where.go index fc45da6da..094853a2d 100644 --- a/app/controlplane/internal/data/ent/membership/where.go +++ b/app/controlplane/internal/data/ent/membership/where.go @@ -175,11 +175,7 @@ func HasOrganization() predicate.Membership { // HasOrganizationWith applies the HasEdge predicate on the "organization" edge with a given conditions (other predicates). func HasOrganizationWith(preds ...predicate.Organization) predicate.Membership { return predicate.Membership(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(OrganizationInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), - ) + step := newOrganizationStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -202,11 +198,7 @@ func HasUser() predicate.Membership { // HasUserWith applies the HasEdge predicate on the "user" edge with a given conditions (other predicates). func HasUserWith(preds ...predicate.User) predicate.Membership { return predicate.Membership(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(UserInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, UserTable, UserColumn), - ) + step := newUserStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/membership_create.go b/app/controlplane/internal/data/ent/membership_create.go index 6e251a919..7c1ab281f 100644 --- a/app/controlplane/internal/data/ent/membership_create.go +++ b/app/controlplane/internal/data/ent/membership_create.go @@ -109,7 +109,7 @@ func (mc *MembershipCreate) Mutation() *MembershipMutation { // Save creates the Membership in the database. func (mc *MembershipCreate) Save(ctx context.Context) (*Membership, error) { mc.defaults() - return withHooks[*Membership, MembershipMutation](ctx, mc.sqlSave, mc.mutation, mc.hooks) + return withHooks(ctx, mc.sqlSave, mc.mutation, mc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -226,10 +226,7 @@ func (mc *MembershipCreate) createSpec() (*Membership, *sqlgraph.CreateSpec) { Columns: []string{membership.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -246,10 +243,7 @@ func (mc *MembershipCreate) createSpec() (*Membership, *sqlgraph.CreateSpec) { Columns: []string{membership.UserColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: user.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -285,8 +279,8 @@ func (mcb *MembershipCreateBulk) Save(ctx context.Context) ([]*Membership, error return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, mcb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/membership_delete.go b/app/controlplane/internal/data/ent/membership_delete.go index f25847980..579637bcd 100644 --- a/app/controlplane/internal/data/ent/membership_delete.go +++ b/app/controlplane/internal/data/ent/membership_delete.go @@ -27,7 +27,7 @@ func (md *MembershipDelete) Where(ps ...predicate.Membership) *MembershipDelete // Exec executes the deletion query and returns how many vertices were deleted. func (md *MembershipDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, MembershipMutation](ctx, md.sqlExec, md.mutation, md.hooks) + return withHooks(ctx, md.sqlExec, md.mutation, md.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/membership_query.go b/app/controlplane/internal/data/ent/membership_query.go index 788246574..1e69642cb 100644 --- a/app/controlplane/internal/data/ent/membership_query.go +++ b/app/controlplane/internal/data/ent/membership_query.go @@ -21,7 +21,7 @@ import ( type MembershipQuery struct { config ctx *QueryContext - order []OrderFunc + order []membership.OrderOption inters []Interceptor predicates []predicate.Membership withOrganization *OrganizationQuery @@ -58,7 +58,7 @@ func (mq *MembershipQuery) Unique(unique bool) *MembershipQuery { } // Order specifies how the records should be ordered. -func (mq *MembershipQuery) Order(o ...OrderFunc) *MembershipQuery { +func (mq *MembershipQuery) Order(o ...membership.OrderOption) *MembershipQuery { mq.order = append(mq.order, o...) return mq } @@ -296,7 +296,7 @@ func (mq *MembershipQuery) Clone() *MembershipQuery { return &MembershipQuery{ config: mq.config, ctx: mq.ctx.Clone(), - order: append([]OrderFunc{}, mq.order...), + order: append([]membership.OrderOption{}, mq.order...), inters: append([]Interceptor{}, mq.inters...), predicates: append([]predicate.Membership{}, mq.predicates...), withOrganization: mq.withOrganization.Clone(), diff --git a/app/controlplane/internal/data/ent/membership_update.go b/app/controlplane/internal/data/ent/membership_update.go index ed3b9c29c..7c4789aca 100644 --- a/app/controlplane/internal/data/ent/membership_update.go +++ b/app/controlplane/internal/data/ent/membership_update.go @@ -100,7 +100,7 @@ func (mu *MembershipUpdate) ClearUser() *MembershipUpdate { // Save executes the query and returns the number of nodes affected by the update operation. func (mu *MembershipUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, MembershipMutation](ctx, mu.sqlSave, mu.mutation, mu.hooks) + return withHooks(ctx, mu.sqlSave, mu.mutation, mu.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -162,10 +162,7 @@ func (mu *MembershipUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{membership.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -178,10 +175,7 @@ func (mu *MembershipUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{membership.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -197,10 +191,7 @@ func (mu *MembershipUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{membership.UserColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: user.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -213,10 +204,7 @@ func (mu *MembershipUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{membership.UserColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: user.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -326,7 +314,7 @@ func (muo *MembershipUpdateOne) Select(field string, fields ...string) *Membersh // Save executes the query and returns the updated Membership entity. func (muo *MembershipUpdateOne) Save(ctx context.Context) (*Membership, error) { - return withHooks[*Membership, MembershipMutation](ctx, muo.sqlSave, muo.mutation, muo.hooks) + return withHooks(ctx, muo.sqlSave, muo.mutation, muo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -405,10 +393,7 @@ func (muo *MembershipUpdateOne) sqlSave(ctx context.Context) (_node *Membership, Columns: []string{membership.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -421,10 +406,7 @@ func (muo *MembershipUpdateOne) sqlSave(ctx context.Context) (_node *Membership, Columns: []string{membership.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -440,10 +422,7 @@ func (muo *MembershipUpdateOne) sqlSave(ctx context.Context) (_node *Membership, Columns: []string{membership.UserColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: user.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -456,10 +435,7 @@ func (muo *MembershipUpdateOne) sqlSave(ctx context.Context) (_node *Membership, Columns: []string{membership.UserColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: user.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/migrate/migrate.go b/app/controlplane/internal/data/ent/migrate/migrate.go index 1956a6bf6..d8d3bcb81 100644 --- a/app/controlplane/internal/data/ent/migrate/migrate.go +++ b/app/controlplane/internal/data/ent/migrate/migrate.go @@ -54,6 +54,38 @@ func Create(ctx context.Context, s *Schema, tables []*schema.Table, opts ...sche return migrate.Create(ctx, tables...) } +// Diff compares the state read from a database connection or migration directory with +// the state defined by the Ent schema. Changes will be written to new migration files. +func Diff(ctx context.Context, url string, opts ...schema.MigrateOption) error { + return NamedDiff(ctx, url, "changes", opts...) +} + +// NamedDiff compares the state read from a database connection or migration directory with +// the state defined by the Ent schema. Changes will be written to new named migration files. +func NamedDiff(ctx context.Context, url, name string, opts ...schema.MigrateOption) error { + return schema.Diff(ctx, url, name, Tables, opts...) +} + +// Diff creates a migration file containing the statements to resolve the diff +// between the Ent schema and the connected database. +func (s *Schema) Diff(ctx context.Context, opts ...schema.MigrateOption) error { + migrate, err := schema.NewMigrate(s.drv, opts...) + if err != nil { + return fmt.Errorf("ent/migrate: %w", err) + } + return migrate.Diff(ctx, Tables...) +} + +// NamedDiff creates a named migration file containing the statements to resolve the diff +// between the Ent schema and the connected database. +func (s *Schema) NamedDiff(ctx context.Context, name string, opts ...schema.MigrateOption) error { + migrate, err := schema.NewMigrate(s.drv, opts...) + if err != nil { + return fmt.Errorf("ent/migrate: %w", err) + } + return migrate.NamedDiff(ctx, name, Tables...) +} + // WriteTo writes the schema changes to w instead of running them against the database. // // if err := client.Schema.WriteTo(context.Background(), os.Stdout); err != nil { diff --git a/app/controlplane/internal/data/ent/migrate/migrations/20230706165452_init-schema.sql b/app/controlplane/internal/data/ent/migrate/migrations/20230706165452_init-schema.sql new file mode 100644 index 000000000..5b338e51f --- /dev/null +++ b/app/controlplane/internal/data/ent/migrate/migrations/20230706165452_init-schema.sql @@ -0,0 +1,30 @@ +-- create "organizations" table +CREATE TABLE "organizations" ("id" uuid NOT NULL, "name" character varying NOT NULL DEFAULT 'default', "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY ("id")); +-- create "workflow_contracts" table +CREATE TABLE "workflow_contracts" ("id" uuid NOT NULL, "name" character varying NOT NULL, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "deleted_at" timestamptz NULL, "organization_workflow_contracts" uuid NULL, PRIMARY KEY ("id"), CONSTRAINT "workflow_contracts_organizations_workflow_contracts" FOREIGN KEY ("organization_workflow_contracts") REFERENCES "organizations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE); +-- create "workflows" table +CREATE TABLE "workflows" ("id" uuid NOT NULL, "name" character varying NOT NULL, "project" character varying NULL, "team" character varying NULL, "runs_count" bigint NOT NULL DEFAULT 0, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "deleted_at" timestamptz NULL, "organization_id" uuid NOT NULL, "workflow_contract" uuid NOT NULL, PRIMARY KEY ("id"), CONSTRAINT "workflows_organizations_workflows" FOREIGN KEY ("organization_id") REFERENCES "organizations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE, CONSTRAINT "workflows_workflow_contracts_contract" FOREIGN KEY ("workflow_contract") REFERENCES "workflow_contracts" ("id") ON UPDATE NO ACTION ON DELETE NO ACTION); +-- create "robot_accounts" table +CREATE TABLE "robot_accounts" ("id" uuid NOT NULL, "name" character varying NOT NULL, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "revoked_at" timestamptz NULL, "workflow_robotaccounts" uuid NULL, PRIMARY KEY ("id"), CONSTRAINT "robot_accounts_workflows_robotaccounts" FOREIGN KEY ("workflow_robotaccounts") REFERENCES "workflows" ("id") ON UPDATE NO ACTION ON DELETE CASCADE); +-- create "workflow_contract_versions" table +CREATE TABLE "workflow_contract_versions" ("id" uuid NOT NULL, "body" bytea NOT NULL, "revision" bigint NOT NULL DEFAULT 1, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "workflow_contract_versions" uuid NULL, PRIMARY KEY ("id"), CONSTRAINT "workflow_contract_versions_workflow_contracts_versions" FOREIGN KEY ("workflow_contract_versions") REFERENCES "workflow_contracts" ("id") ON UPDATE NO ACTION ON DELETE SET NULL); +-- create "workflow_runs" table +CREATE TABLE "workflow_runs" ("id" uuid NOT NULL, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "finished_at" timestamptz NULL, "state" character varying NOT NULL DEFAULT 'initialized', "reason" text NULL, "run_url" character varying NULL, "runner_type" character varying NULL, "attestation" jsonb NULL, "robot_account_workflowruns" uuid NULL, "workflow_workflowruns" uuid NULL, "workflow_run_contract_version" uuid NULL, PRIMARY KEY ("id"), CONSTRAINT "workflow_runs_robot_accounts_workflowruns" FOREIGN KEY ("robot_account_workflowruns") REFERENCES "robot_accounts" ("id") ON UPDATE NO ACTION ON DELETE SET NULL, CONSTRAINT "workflow_runs_workflow_contract_versions_contract_version" FOREIGN KEY ("workflow_run_contract_version") REFERENCES "workflow_contract_versions" ("id") ON UPDATE NO ACTION ON DELETE CASCADE, CONSTRAINT "workflow_runs_workflows_workflowruns" FOREIGN KEY ("workflow_workflowruns") REFERENCES "workflows" ("id") ON UPDATE NO ACTION ON DELETE CASCADE); +-- create index "workflowrun_created_at_id" to table: "workflow_runs" +CREATE INDEX "workflowrun_created_at_id" ON "workflow_runs" ("created_at", "id"); +-- create index "workflowrun_created_at_state" to table: "workflow_runs" +CREATE INDEX "workflowrun_created_at_state" ON "workflow_runs" ("created_at", "state"); +-- create "integrations" table +CREATE TABLE "integrations" ("id" uuid NOT NULL, "kind" character varying NOT NULL, "description" character varying NULL, "secret_name" character varying NOT NULL, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "configuration" bytea NULL, "deleted_at" timestamptz NULL, "organization_integrations" uuid NOT NULL, PRIMARY KEY ("id"), CONSTRAINT "integrations_organizations_integrations" FOREIGN KEY ("organization_integrations") REFERENCES "organizations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE); +-- create "integration_attachments" table +CREATE TABLE "integration_attachments" ("id" uuid NOT NULL, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "configuration" bytea NULL, "deleted_at" timestamptz NULL, "integration_attachment_integration" uuid NOT NULL, "integration_attachment_workflow" uuid NOT NULL, PRIMARY KEY ("id"), CONSTRAINT "integration_attachments_integrations_integration" FOREIGN KEY ("integration_attachment_integration") REFERENCES "integrations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE, CONSTRAINT "integration_attachments_workflows_workflow" FOREIGN KEY ("integration_attachment_workflow") REFERENCES "workflows" ("id") ON UPDATE NO ACTION ON DELETE CASCADE); +-- create "users" table +CREATE TABLE "users" ("id" uuid NOT NULL, "email" character varying NOT NULL, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY ("id")); +-- create index "users_email_key" to table: "users" +CREATE UNIQUE INDEX "users_email_key" ON "users" ("email"); +-- create "memberships" table +CREATE TABLE "memberships" ("id" uuid NOT NULL, "current" boolean NOT NULL DEFAULT false, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "updated_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "organization_memberships" uuid NOT NULL, "user_memberships" uuid NOT NULL, PRIMARY KEY ("id"), CONSTRAINT "memberships_organizations_memberships" FOREIGN KEY ("organization_memberships") REFERENCES "organizations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE, CONSTRAINT "memberships_users_memberships" FOREIGN KEY ("user_memberships") REFERENCES "users" ("id") ON UPDATE NO ACTION ON DELETE CASCADE); +-- create index "membership_organization_memberships_user_memberships" to table: "memberships" +CREATE UNIQUE INDEX "membership_organization_memberships_user_memberships" ON "memberships" ("organization_memberships", "user_memberships"); +-- create "oci_repositories" table +CREATE TABLE "oci_repositories" ("id" uuid NOT NULL, "repo" character varying NOT NULL, "secret_name" character varying NOT NULL, "created_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "validation_status" character varying NOT NULL DEFAULT 'OK', "validated_at" timestamptz NOT NULL DEFAULT CURRENT_TIMESTAMP, "organization_oci_repositories" uuid NOT NULL, PRIMARY KEY ("id"), CONSTRAINT "oci_repositories_organizations_oci_repositories" FOREIGN KEY ("organization_oci_repositories") REFERENCES "organizations" ("id") ON UPDATE NO ACTION ON DELETE CASCADE); diff --git a/app/controlplane/internal/data/ent/migrate/migrations/atlas.sum b/app/controlplane/internal/data/ent/migrate/migrations/atlas.sum new file mode 100644 index 000000000..abfe818df --- /dev/null +++ b/app/controlplane/internal/data/ent/migrate/migrations/atlas.sum @@ -0,0 +1,2 @@ +h1:twWmOGBzcUJyuVTv5/GCIYdotzSw0GJ+FGftlXql4O4= +20230706165452_init-schema.sql h1:VvqbNFEQnCvUVyj2iDYVQQxDM0+sSXqocpt/5H64k8M= diff --git a/app/controlplane/internal/data/ent/ocirepository.go b/app/controlplane/internal/data/ent/ocirepository.go index 3fa39dd1f..c91efc8b6 100644 --- a/app/controlplane/internal/data/ent/ocirepository.go +++ b/app/controlplane/internal/data/ent/ocirepository.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/biz" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/ocirepository" @@ -33,6 +34,7 @@ type OCIRepository struct { // The values are being populated by the OCIRepositoryQuery when eager-loading is set. Edges OCIRepositoryEdges `json:"edges"` organization_oci_repositories *uuid.UUID + selectValues sql.SelectValues } // OCIRepositoryEdges holds the relations/edges for other nodes in the graph. @@ -71,7 +73,7 @@ func (*OCIRepository) scanValues(columns []string) ([]any, error) { case ocirepository.ForeignKeys[0]: // organization_oci_repositories values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type OCIRepository", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -128,11 +130,19 @@ func (or *OCIRepository) assignValues(columns []string, values []any) error { or.organization_oci_repositories = new(uuid.UUID) *or.organization_oci_repositories = *value.S.(*uuid.UUID) } + default: + or.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the OCIRepository. +// This includes values selected through modifiers, order, etc. +func (or *OCIRepository) Value(name string) (ent.Value, error) { + return or.selectValues.Get(name) +} + // QueryOrganization queries the "organization" edge of the OCIRepository entity. func (or *OCIRepository) QueryOrganization() *OrganizationQuery { return NewOCIRepositoryClient(or.config).QueryOrganization(or) diff --git a/app/controlplane/internal/data/ent/ocirepository/ocirepository.go b/app/controlplane/internal/data/ent/ocirepository/ocirepository.go index 94348a06f..ca530716c 100644 --- a/app/controlplane/internal/data/ent/ocirepository/ocirepository.go +++ b/app/controlplane/internal/data/ent/ocirepository/ocirepository.go @@ -6,6 +6,8 @@ import ( "fmt" "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/chainloop-dev/chainloop/app/controlplane/internal/biz" "github.com/google/uuid" ) @@ -89,3 +91,50 @@ func ValidationStatusValidator(vs biz.OCIRepoValidationStatus) error { return fmt.Errorf("ocirepository: invalid enum value for validation_status field: %q", vs) } } + +// OrderOption defines the ordering options for the OCIRepository queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByRepo orders the results by the repo field. +func ByRepo(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldRepo, opts...).ToFunc() +} + +// BySecretName orders the results by the secret_name field. +func BySecretName(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldSecretName, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByValidationStatus orders the results by the validation_status field. +func ByValidationStatus(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldValidationStatus, opts...).ToFunc() +} + +// ByValidatedAt orders the results by the validated_at field. +func ByValidatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldValidatedAt, opts...).ToFunc() +} + +// ByOrganizationField orders the results by organization field. +func ByOrganizationField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newOrganizationStep(), sql.OrderByField(field, opts...)) + } +} +func newOrganizationStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(OrganizationInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/ocirepository/where.go b/app/controlplane/internal/data/ent/ocirepository/where.go index 61a317f1e..01433a032 100644 --- a/app/controlplane/internal/data/ent/ocirepository/where.go +++ b/app/controlplane/internal/data/ent/ocirepository/where.go @@ -331,11 +331,7 @@ func HasOrganization() predicate.OCIRepository { // HasOrganizationWith applies the HasEdge predicate on the "organization" edge with a given conditions (other predicates). func HasOrganizationWith(preds ...predicate.Organization) predicate.OCIRepository { return predicate.OCIRepository(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(OrganizationInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), - ) + step := newOrganizationStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/ocirepository_create.go b/app/controlplane/internal/data/ent/ocirepository_create.go index 5a4caa31d..6c6920f53 100644 --- a/app/controlplane/internal/data/ent/ocirepository_create.go +++ b/app/controlplane/internal/data/ent/ocirepository_create.go @@ -110,7 +110,7 @@ func (orc *OCIRepositoryCreate) Mutation() *OCIRepositoryMutation { // Save creates the OCIRepository in the database. func (orc *OCIRepositoryCreate) Save(ctx context.Context) (*OCIRepository, error) { orc.defaults() - return withHooks[*OCIRepository, OCIRepositoryMutation](ctx, orc.sqlSave, orc.mutation, orc.hooks) + return withHooks(ctx, orc.sqlSave, orc.mutation, orc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -243,10 +243,7 @@ func (orc *OCIRepositoryCreate) createSpec() (*OCIRepository, *sqlgraph.CreateSp Columns: []string{ocirepository.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -282,8 +279,8 @@ func (orcb *OCIRepositoryCreateBulk) Save(ctx context.Context) ([]*OCIRepository return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, orcb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/ocirepository_delete.go b/app/controlplane/internal/data/ent/ocirepository_delete.go index 3277638af..cbff7b236 100644 --- a/app/controlplane/internal/data/ent/ocirepository_delete.go +++ b/app/controlplane/internal/data/ent/ocirepository_delete.go @@ -27,7 +27,7 @@ func (ord *OCIRepositoryDelete) Where(ps ...predicate.OCIRepository) *OCIReposit // Exec executes the deletion query and returns how many vertices were deleted. func (ord *OCIRepositoryDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, OCIRepositoryMutation](ctx, ord.sqlExec, ord.mutation, ord.hooks) + return withHooks(ctx, ord.sqlExec, ord.mutation, ord.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/ocirepository_query.go b/app/controlplane/internal/data/ent/ocirepository_query.go index 79594b5b8..83055f7cf 100644 --- a/app/controlplane/internal/data/ent/ocirepository_query.go +++ b/app/controlplane/internal/data/ent/ocirepository_query.go @@ -20,7 +20,7 @@ import ( type OCIRepositoryQuery struct { config ctx *QueryContext - order []OrderFunc + order []ocirepository.OrderOption inters []Interceptor predicates []predicate.OCIRepository withOrganization *OrganizationQuery @@ -56,7 +56,7 @@ func (orq *OCIRepositoryQuery) Unique(unique bool) *OCIRepositoryQuery { } // Order specifies how the records should be ordered. -func (orq *OCIRepositoryQuery) Order(o ...OrderFunc) *OCIRepositoryQuery { +func (orq *OCIRepositoryQuery) Order(o ...ocirepository.OrderOption) *OCIRepositoryQuery { orq.order = append(orq.order, o...) return orq } @@ -272,7 +272,7 @@ func (orq *OCIRepositoryQuery) Clone() *OCIRepositoryQuery { return &OCIRepositoryQuery{ config: orq.config, ctx: orq.ctx.Clone(), - order: append([]OrderFunc{}, orq.order...), + order: append([]ocirepository.OrderOption{}, orq.order...), inters: append([]Interceptor{}, orq.inters...), predicates: append([]predicate.OCIRepository{}, orq.predicates...), withOrganization: orq.withOrganization.Clone(), diff --git a/app/controlplane/internal/data/ent/ocirepository_update.go b/app/controlplane/internal/data/ent/ocirepository_update.go index 59a336a38..f2e0e7cb0 100644 --- a/app/controlplane/internal/data/ent/ocirepository_update.go +++ b/app/controlplane/internal/data/ent/ocirepository_update.go @@ -95,7 +95,7 @@ func (oru *OCIRepositoryUpdate) ClearOrganization() *OCIRepositoryUpdate { // Save executes the query and returns the number of nodes affected by the update operation. func (oru *OCIRepositoryUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, OCIRepositoryMutation](ctx, oru.sqlSave, oru.mutation, oru.hooks) + return withHooks(ctx, oru.sqlSave, oru.mutation, oru.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -165,10 +165,7 @@ func (oru *OCIRepositoryUpdate) sqlSave(ctx context.Context) (n int, err error) Columns: []string{ocirepository.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -181,10 +178,7 @@ func (oru *OCIRepositoryUpdate) sqlSave(ctx context.Context) (n int, err error) Columns: []string{ocirepository.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -289,7 +283,7 @@ func (oruo *OCIRepositoryUpdateOne) Select(field string, fields ...string) *OCIR // Save executes the query and returns the updated OCIRepository entity. func (oruo *OCIRepositoryUpdateOne) Save(ctx context.Context) (*OCIRepository, error) { - return withHooks[*OCIRepository, OCIRepositoryMutation](ctx, oruo.sqlSave, oruo.mutation, oruo.hooks) + return withHooks(ctx, oruo.sqlSave, oruo.mutation, oruo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -376,10 +370,7 @@ func (oruo *OCIRepositoryUpdateOne) sqlSave(ctx context.Context) (_node *OCIRepo Columns: []string{ocirepository.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -392,10 +383,7 @@ func (oruo *OCIRepositoryUpdateOne) sqlSave(ctx context.Context) (_node *OCIRepo Columns: []string{ocirepository.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/organization.go b/app/controlplane/internal/data/ent/organization.go index a80be143f..e5c3a6b53 100644 --- a/app/controlplane/internal/data/ent/organization.go +++ b/app/controlplane/internal/data/ent/organization.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/organization" "github.com/google/uuid" @@ -23,7 +24,8 @@ type Organization struct { CreatedAt time.Time `json:"created_at,omitempty"` // Edges holds the relations/edges for other nodes in the graph. // The values are being populated by the OrganizationQuery when eager-loading is set. - Edges OrganizationEdges `json:"edges"` + Edges OrganizationEdges `json:"edges"` + selectValues sql.SelectValues } // OrganizationEdges holds the relations/edges for other nodes in the graph. @@ -100,7 +102,7 @@ func (*Organization) scanValues(columns []string) ([]any, error) { case organization.FieldID: values[i] = new(uuid.UUID) default: - return nil, fmt.Errorf("unexpected column %q for type Organization", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -132,11 +134,19 @@ func (o *Organization) assignValues(columns []string, values []any) error { } else if value.Valid { o.CreatedAt = value.Time } + default: + o.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the Organization. +// This includes values selected through modifiers, order, etc. +func (o *Organization) Value(name string) (ent.Value, error) { + return o.selectValues.Get(name) +} + // QueryMemberships queries the "memberships" edge of the Organization entity. func (o *Organization) QueryMemberships() *MembershipQuery { return NewOrganizationClient(o.config).QueryMemberships(o) diff --git a/app/controlplane/internal/data/ent/organization/organization.go b/app/controlplane/internal/data/ent/organization/organization.go index 271d12d99..f2c5169af 100644 --- a/app/controlplane/internal/data/ent/organization/organization.go +++ b/app/controlplane/internal/data/ent/organization/organization.go @@ -5,6 +5,8 @@ package organization import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -91,3 +93,126 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the Organization queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByName orders the results by the name field. +func ByName(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldName, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByMembershipsCount orders the results by memberships count. +func ByMembershipsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newMembershipsStep(), opts...) + } +} + +// ByMemberships orders the results by memberships terms. +func ByMemberships(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newMembershipsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByWorkflowContractsCount orders the results by workflow_contracts count. +func ByWorkflowContractsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newWorkflowContractsStep(), opts...) + } +} + +// ByWorkflowContracts orders the results by workflow_contracts terms. +func ByWorkflowContracts(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowContractsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByWorkflowsCount orders the results by workflows count. +func ByWorkflowsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newWorkflowsStep(), opts...) + } +} + +// ByWorkflows orders the results by workflows terms. +func ByWorkflows(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByOciRepositoriesCount orders the results by oci_repositories count. +func ByOciRepositoriesCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newOciRepositoriesStep(), opts...) + } +} + +// ByOciRepositories orders the results by oci_repositories terms. +func ByOciRepositories(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newOciRepositoriesStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByIntegrationsCount orders the results by integrations count. +func ByIntegrationsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newIntegrationsStep(), opts...) + } +} + +// ByIntegrations orders the results by integrations terms. +func ByIntegrations(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newIntegrationsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} +func newMembershipsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(MembershipsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, MembershipsTable, MembershipsColumn), + ) +} +func newWorkflowContractsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowContractsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, WorkflowContractsTable, WorkflowContractsColumn), + ) +} +func newWorkflowsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, WorkflowsTable, WorkflowsColumn), + ) +} +func newOciRepositoriesStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(OciRepositoriesInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, OciRepositoriesTable, OciRepositoriesColumn), + ) +} +func newIntegrationsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(IntegrationsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, IntegrationsTable, IntegrationsColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/organization/where.go b/app/controlplane/internal/data/ent/organization/where.go index b44cda2f8..c4a09281f 100644 --- a/app/controlplane/internal/data/ent/organization/where.go +++ b/app/controlplane/internal/data/ent/organization/where.go @@ -185,11 +185,7 @@ func HasMemberships() predicate.Organization { // HasMembershipsWith applies the HasEdge predicate on the "memberships" edge with a given conditions (other predicates). func HasMembershipsWith(preds ...predicate.Membership) predicate.Organization { return predicate.Organization(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(MembershipsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, MembershipsTable, MembershipsColumn), - ) + step := newMembershipsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -212,11 +208,7 @@ func HasWorkflowContracts() predicate.Organization { // HasWorkflowContractsWith applies the HasEdge predicate on the "workflow_contracts" edge with a given conditions (other predicates). func HasWorkflowContractsWith(preds ...predicate.WorkflowContract) predicate.Organization { return predicate.Organization(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowContractsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, WorkflowContractsTable, WorkflowContractsColumn), - ) + step := newWorkflowContractsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -239,11 +231,7 @@ func HasWorkflows() predicate.Organization { // HasWorkflowsWith applies the HasEdge predicate on the "workflows" edge with a given conditions (other predicates). func HasWorkflowsWith(preds ...predicate.Workflow) predicate.Organization { return predicate.Organization(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, WorkflowsTable, WorkflowsColumn), - ) + step := newWorkflowsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -266,11 +254,7 @@ func HasOciRepositories() predicate.Organization { // HasOciRepositoriesWith applies the HasEdge predicate on the "oci_repositories" edge with a given conditions (other predicates). func HasOciRepositoriesWith(preds ...predicate.OCIRepository) predicate.Organization { return predicate.Organization(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(OciRepositoriesInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, OciRepositoriesTable, OciRepositoriesColumn), - ) + step := newOciRepositoriesStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -293,11 +277,7 @@ func HasIntegrations() predicate.Organization { // HasIntegrationsWith applies the HasEdge predicate on the "integrations" edge with a given conditions (other predicates). func HasIntegrationsWith(preds ...predicate.Integration) predicate.Organization { return predicate.Organization(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(IntegrationsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, IntegrationsTable, IntegrationsColumn), - ) + step := newIntegrationsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/organization_create.go b/app/controlplane/internal/data/ent/organization_create.go index 1246bfacc..bb8478ca1 100644 --- a/app/controlplane/internal/data/ent/organization_create.go +++ b/app/controlplane/internal/data/ent/organization_create.go @@ -151,7 +151,7 @@ func (oc *OrganizationCreate) Mutation() *OrganizationMutation { // Save creates the Organization in the database. func (oc *OrganizationCreate) Save(ctx context.Context) (*Organization, error) { oc.defaults() - return withHooks[*Organization, OrganizationMutation](ctx, oc.sqlSave, oc.mutation, oc.hooks) + return withHooks(ctx, oc.sqlSave, oc.mutation, oc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -251,10 +251,7 @@ func (oc *OrganizationCreate) createSpec() (*Organization, *sqlgraph.CreateSpec) Columns: []string{organization.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -270,10 +267,7 @@ func (oc *OrganizationCreate) createSpec() (*Organization, *sqlgraph.CreateSpec) Columns: []string{organization.WorkflowContractsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -289,10 +283,7 @@ func (oc *OrganizationCreate) createSpec() (*Organization, *sqlgraph.CreateSpec) Columns: []string{organization.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -308,10 +299,7 @@ func (oc *OrganizationCreate) createSpec() (*Organization, *sqlgraph.CreateSpec) Columns: []string{organization.OciRepositoriesColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: ocirepository.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(ocirepository.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -327,10 +315,7 @@ func (oc *OrganizationCreate) createSpec() (*Organization, *sqlgraph.CreateSpec) Columns: []string{organization.IntegrationsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -365,8 +350,8 @@ func (ocb *OrganizationCreateBulk) Save(ctx context.Context) ([]*Organization, e return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, ocb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/organization_delete.go b/app/controlplane/internal/data/ent/organization_delete.go index 51b0fba0f..77ca1eaae 100644 --- a/app/controlplane/internal/data/ent/organization_delete.go +++ b/app/controlplane/internal/data/ent/organization_delete.go @@ -27,7 +27,7 @@ func (od *OrganizationDelete) Where(ps ...predicate.Organization) *OrganizationD // Exec executes the deletion query and returns how many vertices were deleted. func (od *OrganizationDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, OrganizationMutation](ctx, od.sqlExec, od.mutation, od.hooks) + return withHooks(ctx, od.sqlExec, od.mutation, od.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/organization_query.go b/app/controlplane/internal/data/ent/organization_query.go index 7fb2bb285..8e4ca36ac 100644 --- a/app/controlplane/internal/data/ent/organization_query.go +++ b/app/controlplane/internal/data/ent/organization_query.go @@ -25,7 +25,7 @@ import ( type OrganizationQuery struct { config ctx *QueryContext - order []OrderFunc + order []organization.OrderOption inters []Interceptor predicates []predicate.Organization withMemberships *MembershipQuery @@ -64,7 +64,7 @@ func (oq *OrganizationQuery) Unique(unique bool) *OrganizationQuery { } // Order specifies how the records should be ordered. -func (oq *OrganizationQuery) Order(o ...OrderFunc) *OrganizationQuery { +func (oq *OrganizationQuery) Order(o ...organization.OrderOption) *OrganizationQuery { oq.order = append(oq.order, o...) return oq } @@ -368,7 +368,7 @@ func (oq *OrganizationQuery) Clone() *OrganizationQuery { return &OrganizationQuery{ config: oq.config, ctx: oq.ctx.Clone(), - order: append([]OrderFunc{}, oq.order...), + order: append([]organization.OrderOption{}, oq.order...), inters: append([]Interceptor{}, oq.inters...), predicates: append([]predicate.Organization{}, oq.predicates...), withMemberships: oq.withMemberships.Clone(), @@ -593,7 +593,7 @@ func (oq *OrganizationQuery) loadMemberships(ctx context.Context, query *Members } query.withFKs = true query.Where(predicate.Membership(func(s *sql.Selector) { - s.Where(sql.InValues(organization.MembershipsColumn, fks...)) + s.Where(sql.InValues(s.C(organization.MembershipsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -606,7 +606,7 @@ func (oq *OrganizationQuery) loadMemberships(ctx context.Context, query *Members } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "organization_memberships" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "organization_memberships" returned %v for node %v`, *fk, n.ID) } assign(node, n) } @@ -624,7 +624,7 @@ func (oq *OrganizationQuery) loadWorkflowContracts(ctx context.Context, query *W } query.withFKs = true query.Where(predicate.WorkflowContract(func(s *sql.Selector) { - s.Where(sql.InValues(organization.WorkflowContractsColumn, fks...)) + s.Where(sql.InValues(s.C(organization.WorkflowContractsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -637,7 +637,7 @@ func (oq *OrganizationQuery) loadWorkflowContracts(ctx context.Context, query *W } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "organization_workflow_contracts" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "organization_workflow_contracts" returned %v for node %v`, *fk, n.ID) } assign(node, n) } @@ -655,7 +655,7 @@ func (oq *OrganizationQuery) loadWorkflows(ctx context.Context, query *WorkflowQ } query.withFKs = true query.Where(predicate.Workflow(func(s *sql.Selector) { - s.Where(sql.InValues(organization.WorkflowsColumn, fks...)) + s.Where(sql.InValues(s.C(organization.WorkflowsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -668,7 +668,7 @@ func (oq *OrganizationQuery) loadWorkflows(ctx context.Context, query *WorkflowQ } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "organization_id" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "organization_id" returned %v for node %v`, *fk, n.ID) } assign(node, n) } @@ -686,7 +686,7 @@ func (oq *OrganizationQuery) loadOciRepositories(ctx context.Context, query *OCI } query.withFKs = true query.Where(predicate.OCIRepository(func(s *sql.Selector) { - s.Where(sql.InValues(organization.OciRepositoriesColumn, fks...)) + s.Where(sql.InValues(s.C(organization.OciRepositoriesColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -699,7 +699,7 @@ func (oq *OrganizationQuery) loadOciRepositories(ctx context.Context, query *OCI } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "organization_oci_repositories" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "organization_oci_repositories" returned %v for node %v`, *fk, n.ID) } assign(node, n) } @@ -717,7 +717,7 @@ func (oq *OrganizationQuery) loadIntegrations(ctx context.Context, query *Integr } query.withFKs = true query.Where(predicate.Integration(func(s *sql.Selector) { - s.Where(sql.InValues(organization.IntegrationsColumn, fks...)) + s.Where(sql.InValues(s.C(organization.IntegrationsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -730,7 +730,7 @@ func (oq *OrganizationQuery) loadIntegrations(ctx context.Context, query *Integr } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "organization_integrations" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "organization_integrations" returned %v for node %v`, *fk, n.ID) } assign(node, n) } diff --git a/app/controlplane/internal/data/ent/organization_update.go b/app/controlplane/internal/data/ent/organization_update.go index 3748ddd15..507e77a7e 100644 --- a/app/controlplane/internal/data/ent/organization_update.go +++ b/app/controlplane/internal/data/ent/organization_update.go @@ -234,7 +234,7 @@ func (ou *OrganizationUpdate) RemoveIntegrations(i ...*Integration) *Organizatio // Save executes the query and returns the number of nodes affected by the update operation. func (ou *OrganizationUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, OrganizationMutation](ctx, ou.sqlSave, ou.mutation, ou.hooks) + return withHooks(ctx, ou.sqlSave, ou.mutation, ou.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -279,10 +279,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -295,10 +292,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -314,10 +308,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -333,10 +324,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.WorkflowContractsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -349,10 +337,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.WorkflowContractsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -368,10 +353,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.WorkflowContractsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -387,10 +369,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -403,10 +382,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -422,10 +398,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -441,10 +414,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.OciRepositoriesColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: ocirepository.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(ocirepository.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -457,10 +427,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.OciRepositoriesColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: ocirepository.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(ocirepository.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -476,10 +443,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.OciRepositoriesColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: ocirepository.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(ocirepository.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -495,10 +459,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.IntegrationsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -511,10 +472,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.IntegrationsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -530,10 +488,7 @@ func (ou *OrganizationUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{organization.IntegrationsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -775,7 +730,7 @@ func (ouo *OrganizationUpdateOne) Select(field string, fields ...string) *Organi // Save executes the query and returns the updated Organization entity. func (ouo *OrganizationUpdateOne) Save(ctx context.Context) (*Organization, error) { - return withHooks[*Organization, OrganizationMutation](ctx, ouo.sqlSave, ouo.mutation, ouo.hooks) + return withHooks(ctx, ouo.sqlSave, ouo.mutation, ouo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -837,10 +792,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -853,10 +805,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -872,10 +821,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -891,10 +837,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.WorkflowContractsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -907,10 +850,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.WorkflowContractsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -926,10 +866,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.WorkflowContractsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -945,10 +882,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -961,10 +895,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -980,10 +911,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -999,10 +927,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.OciRepositoriesColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: ocirepository.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(ocirepository.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -1015,10 +940,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.OciRepositoriesColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: ocirepository.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(ocirepository.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1034,10 +956,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.OciRepositoriesColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: ocirepository.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(ocirepository.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1053,10 +972,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.IntegrationsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -1069,10 +985,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.IntegrationsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1088,10 +1001,7 @@ func (ouo *OrganizationUpdateOne) sqlSave(ctx context.Context) (_node *Organizat Columns: []string{organization.IntegrationsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integration.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integration.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/robotaccount.go b/app/controlplane/internal/data/ent/robotaccount.go index b8e2cd9d9..9dc2807e5 100644 --- a/app/controlplane/internal/data/ent/robotaccount.go +++ b/app/controlplane/internal/data/ent/robotaccount.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/robotaccount" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/workflow" @@ -28,6 +29,7 @@ type RobotAccount struct { // The values are being populated by the RobotAccountQuery when eager-loading is set. Edges RobotAccountEdges `json:"edges"` workflow_robotaccounts *uuid.UUID + selectValues sql.SelectValues } // RobotAccountEdges holds the relations/edges for other nodes in the graph. @@ -77,7 +79,7 @@ func (*RobotAccount) scanValues(columns []string) ([]any, error) { case robotaccount.ForeignKeys[0]: // workflow_robotaccounts values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type RobotAccount", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -122,11 +124,19 @@ func (ra *RobotAccount) assignValues(columns []string, values []any) error { ra.workflow_robotaccounts = new(uuid.UUID) *ra.workflow_robotaccounts = *value.S.(*uuid.UUID) } + default: + ra.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the RobotAccount. +// This includes values selected through modifiers, order, etc. +func (ra *RobotAccount) Value(name string) (ent.Value, error) { + return ra.selectValues.Get(name) +} + // QueryWorkflow queries the "workflow" edge of the RobotAccount entity. func (ra *RobotAccount) QueryWorkflow() *WorkflowQuery { return NewRobotAccountClient(ra.config).QueryWorkflow(ra) diff --git a/app/controlplane/internal/data/ent/robotaccount/robotaccount.go b/app/controlplane/internal/data/ent/robotaccount/robotaccount.go index 3caaa418c..c0ff52fb8 100644 --- a/app/controlplane/internal/data/ent/robotaccount/robotaccount.go +++ b/app/controlplane/internal/data/ent/robotaccount/robotaccount.go @@ -5,6 +5,8 @@ package robotaccount import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -76,3 +78,61 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the RobotAccount queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByName orders the results by the name field. +func ByName(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldName, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByRevokedAt orders the results by the revoked_at field. +func ByRevokedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldRevokedAt, opts...).ToFunc() +} + +// ByWorkflowField orders the results by workflow field. +func ByWorkflowField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowStep(), sql.OrderByField(field, opts...)) + } +} + +// ByWorkflowrunsCount orders the results by workflowruns count. +func ByWorkflowrunsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newWorkflowrunsStep(), opts...) + } +} + +// ByWorkflowruns orders the results by workflowruns terms. +func ByWorkflowruns(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowrunsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} +func newWorkflowStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, WorkflowTable, WorkflowColumn), + ) +} +func newWorkflowrunsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowrunsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, WorkflowrunsTable, WorkflowrunsColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/robotaccount/where.go b/app/controlplane/internal/data/ent/robotaccount/where.go index 297f3c865..78da1aa5c 100644 --- a/app/controlplane/internal/data/ent/robotaccount/where.go +++ b/app/controlplane/internal/data/ent/robotaccount/where.go @@ -240,11 +240,7 @@ func HasWorkflow() predicate.RobotAccount { // HasWorkflowWith applies the HasEdge predicate on the "workflow" edge with a given conditions (other predicates). func HasWorkflowWith(preds ...predicate.Workflow) predicate.RobotAccount { return predicate.RobotAccount(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, WorkflowTable, WorkflowColumn), - ) + step := newWorkflowStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -267,11 +263,7 @@ func HasWorkflowruns() predicate.RobotAccount { // HasWorkflowrunsWith applies the HasEdge predicate on the "workflowruns" edge with a given conditions (other predicates). func HasWorkflowrunsWith(preds ...predicate.WorkflowRun) predicate.RobotAccount { return predicate.RobotAccount(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowrunsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, WorkflowrunsTable, WorkflowrunsColumn), - ) + step := newWorkflowrunsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/robotaccount_create.go b/app/controlplane/internal/data/ent/robotaccount_create.go index 92c67ee21..05c19e811 100644 --- a/app/controlplane/internal/data/ent/robotaccount_create.go +++ b/app/controlplane/internal/data/ent/robotaccount_create.go @@ -113,7 +113,7 @@ func (rac *RobotAccountCreate) Mutation() *RobotAccountMutation { // Save creates the RobotAccount in the database. func (rac *RobotAccountCreate) Save(ctx context.Context) (*RobotAccount, error) { rac.defaults() - return withHooks[*RobotAccount, RobotAccountMutation](ctx, rac.sqlSave, rac.mutation, rac.hooks) + return withHooks(ctx, rac.sqlSave, rac.mutation, rac.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -213,10 +213,7 @@ func (rac *RobotAccountCreate) createSpec() (*RobotAccount, *sqlgraph.CreateSpec Columns: []string{robotaccount.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -233,10 +230,7 @@ func (rac *RobotAccountCreate) createSpec() (*RobotAccount, *sqlgraph.CreateSpec Columns: []string{robotaccount.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -271,8 +265,8 @@ func (racb *RobotAccountCreateBulk) Save(ctx context.Context) ([]*RobotAccount, return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, racb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/robotaccount_delete.go b/app/controlplane/internal/data/ent/robotaccount_delete.go index 9c4a2628d..11fd369a4 100644 --- a/app/controlplane/internal/data/ent/robotaccount_delete.go +++ b/app/controlplane/internal/data/ent/robotaccount_delete.go @@ -27,7 +27,7 @@ func (rad *RobotAccountDelete) Where(ps ...predicate.RobotAccount) *RobotAccount // Exec executes the deletion query and returns how many vertices were deleted. func (rad *RobotAccountDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, RobotAccountMutation](ctx, rad.sqlExec, rad.mutation, rad.hooks) + return withHooks(ctx, rad.sqlExec, rad.mutation, rad.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/robotaccount_query.go b/app/controlplane/internal/data/ent/robotaccount_query.go index 872cc46ed..aa3a582df 100644 --- a/app/controlplane/internal/data/ent/robotaccount_query.go +++ b/app/controlplane/internal/data/ent/robotaccount_query.go @@ -22,7 +22,7 @@ import ( type RobotAccountQuery struct { config ctx *QueryContext - order []OrderFunc + order []robotaccount.OrderOption inters []Interceptor predicates []predicate.RobotAccount withWorkflow *WorkflowQuery @@ -59,7 +59,7 @@ func (raq *RobotAccountQuery) Unique(unique bool) *RobotAccountQuery { } // Order specifies how the records should be ordered. -func (raq *RobotAccountQuery) Order(o ...OrderFunc) *RobotAccountQuery { +func (raq *RobotAccountQuery) Order(o ...robotaccount.OrderOption) *RobotAccountQuery { raq.order = append(raq.order, o...) return raq } @@ -297,7 +297,7 @@ func (raq *RobotAccountQuery) Clone() *RobotAccountQuery { return &RobotAccountQuery{ config: raq.config, ctx: raq.ctx.Clone(), - order: append([]OrderFunc{}, raq.order...), + order: append([]robotaccount.OrderOption{}, raq.order...), inters: append([]Interceptor{}, raq.inters...), predicates: append([]predicate.RobotAccount{}, raq.predicates...), withWorkflow: raq.withWorkflow.Clone(), @@ -498,7 +498,7 @@ func (raq *RobotAccountQuery) loadWorkflowruns(ctx context.Context, query *Workf } query.withFKs = true query.Where(predicate.WorkflowRun(func(s *sql.Selector) { - s.Where(sql.InValues(robotaccount.WorkflowrunsColumn, fks...)) + s.Where(sql.InValues(s.C(robotaccount.WorkflowrunsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -511,7 +511,7 @@ func (raq *RobotAccountQuery) loadWorkflowruns(ctx context.Context, query *Workf } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "robot_account_workflowruns" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "robot_account_workflowruns" returned %v for node %v`, *fk, n.ID) } assign(node, n) } diff --git a/app/controlplane/internal/data/ent/robotaccount_update.go b/app/controlplane/internal/data/ent/robotaccount_update.go index 513e86e0b..bd4e16508 100644 --- a/app/controlplane/internal/data/ent/robotaccount_update.go +++ b/app/controlplane/internal/data/ent/robotaccount_update.go @@ -125,7 +125,7 @@ func (rau *RobotAccountUpdate) RemoveWorkflowruns(w ...*WorkflowRun) *RobotAccou // Save executes the query and returns the number of nodes affected by the update operation. func (rau *RobotAccountUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, RobotAccountMutation](ctx, rau.sqlSave, rau.mutation, rau.hooks) + return withHooks(ctx, rau.sqlSave, rau.mutation, rau.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -176,10 +176,7 @@ func (rau *RobotAccountUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{robotaccount.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -192,10 +189,7 @@ func (rau *RobotAccountUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{robotaccount.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -211,10 +205,7 @@ func (rau *RobotAccountUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{robotaccount.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -227,10 +218,7 @@ func (rau *RobotAccountUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{robotaccount.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -246,10 +234,7 @@ func (rau *RobotAccountUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{robotaccount.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -384,7 +369,7 @@ func (rauo *RobotAccountUpdateOne) Select(field string, fields ...string) *Robot // Save executes the query and returns the updated RobotAccount entity. func (rauo *RobotAccountUpdateOne) Save(ctx context.Context) (*RobotAccount, error) { - return withHooks[*RobotAccount, RobotAccountMutation](ctx, rauo.sqlSave, rauo.mutation, rauo.hooks) + return withHooks(ctx, rauo.sqlSave, rauo.mutation, rauo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -452,10 +437,7 @@ func (rauo *RobotAccountUpdateOne) sqlSave(ctx context.Context) (_node *RobotAcc Columns: []string{robotaccount.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -468,10 +450,7 @@ func (rauo *RobotAccountUpdateOne) sqlSave(ctx context.Context) (_node *RobotAcc Columns: []string{robotaccount.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -487,10 +466,7 @@ func (rauo *RobotAccountUpdateOne) sqlSave(ctx context.Context) (_node *RobotAcc Columns: []string{robotaccount.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -503,10 +479,7 @@ func (rauo *RobotAccountUpdateOne) sqlSave(ctx context.Context) (_node *RobotAcc Columns: []string{robotaccount.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -522,10 +495,7 @@ func (rauo *RobotAccountUpdateOne) sqlSave(ctx context.Context) (_node *RobotAcc Columns: []string{robotaccount.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/runtime/runtime.go b/app/controlplane/internal/data/ent/runtime/runtime.go index 7a26e6907..71d90e5b9 100644 --- a/app/controlplane/internal/data/ent/runtime/runtime.go +++ b/app/controlplane/internal/data/ent/runtime/runtime.go @@ -5,6 +5,6 @@ package runtime // The schema-stitching logic is generated in github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/runtime.go const ( - Version = "v0.11.9" // Version of ent codegen. - Sum = "h1:dbbCkAiPVTRBIJwoZctiSYjB7zxQIBOzVSU5H9VYIQI=" // Sum of ent codegen. + Version = "v0.12.3" // Version of ent codegen. + Sum = "h1:N5lO2EOrHpCH5HYfiMOCHYbo+oh5M8GjT0/cx5x6xkk=" // Sum of ent codegen. ) diff --git a/app/controlplane/internal/data/ent/user.go b/app/controlplane/internal/data/ent/user.go index efa5a99a1..4dde19bdf 100644 --- a/app/controlplane/internal/data/ent/user.go +++ b/app/controlplane/internal/data/ent/user.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/user" "github.com/google/uuid" @@ -23,7 +24,8 @@ type User struct { CreatedAt time.Time `json:"created_at,omitempty"` // Edges holds the relations/edges for other nodes in the graph. // The values are being populated by the UserQuery when eager-loading is set. - Edges UserEdges `json:"edges"` + Edges UserEdges `json:"edges"` + selectValues sql.SelectValues } // UserEdges holds the relations/edges for other nodes in the graph. @@ -56,7 +58,7 @@ func (*User) scanValues(columns []string) ([]any, error) { case user.FieldID: values[i] = new(uuid.UUID) default: - return nil, fmt.Errorf("unexpected column %q for type User", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -88,11 +90,19 @@ func (u *User) assignValues(columns []string, values []any) error { } else if value.Valid { u.CreatedAt = value.Time } + default: + u.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the User. +// This includes values selected through modifiers, order, etc. +func (u *User) Value(name string) (ent.Value, error) { + return u.selectValues.Get(name) +} + // QueryMemberships queries the "memberships" edge of the User entity. func (u *User) QueryMemberships() *MembershipQuery { return NewUserClient(u.config).QueryMemberships(u) diff --git a/app/controlplane/internal/data/ent/user/user.go b/app/controlplane/internal/data/ent/user/user.go index 955983557..351826285 100644 --- a/app/controlplane/internal/data/ent/user/user.go +++ b/app/controlplane/internal/data/ent/user/user.go @@ -5,6 +5,8 @@ package user import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -55,3 +57,42 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the User queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByEmail orders the results by the email field. +func ByEmail(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldEmail, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByMembershipsCount orders the results by memberships count. +func ByMembershipsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newMembershipsStep(), opts...) + } +} + +// ByMemberships orders the results by memberships terms. +func ByMemberships(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newMembershipsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} +func newMembershipsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(MembershipsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, MembershipsTable, MembershipsColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/user/where.go b/app/controlplane/internal/data/ent/user/where.go index cc248688d..d66bb0dd5 100644 --- a/app/controlplane/internal/data/ent/user/where.go +++ b/app/controlplane/internal/data/ent/user/where.go @@ -185,11 +185,7 @@ func HasMemberships() predicate.User { // HasMembershipsWith applies the HasEdge predicate on the "memberships" edge with a given conditions (other predicates). func HasMembershipsWith(preds ...predicate.Membership) predicate.User { return predicate.User(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(MembershipsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, MembershipsTable, MembershipsColumn), - ) + step := newMembershipsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/user_create.go b/app/controlplane/internal/data/ent/user_create.go index 0300635e0..341af6b5c 100644 --- a/app/controlplane/internal/data/ent/user_create.go +++ b/app/controlplane/internal/data/ent/user_create.go @@ -79,7 +79,7 @@ func (uc *UserCreate) Mutation() *UserMutation { // Save creates the User in the database. func (uc *UserCreate) Save(ctx context.Context) (*User, error) { uc.defaults() - return withHooks[*User, UserMutation](ctx, uc.sqlSave, uc.mutation, uc.hooks) + return withHooks(ctx, uc.sqlSave, uc.mutation, uc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -180,10 +180,7 @@ func (uc *UserCreate) createSpec() (*User, *sqlgraph.CreateSpec) { Columns: []string{user.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -218,8 +215,8 @@ func (ucb *UserCreateBulk) Save(ctx context.Context) ([]*User, error) { return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, ucb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/user_delete.go b/app/controlplane/internal/data/ent/user_delete.go index 206b47360..074383e67 100644 --- a/app/controlplane/internal/data/ent/user_delete.go +++ b/app/controlplane/internal/data/ent/user_delete.go @@ -27,7 +27,7 @@ func (ud *UserDelete) Where(ps ...predicate.User) *UserDelete { // Exec executes the deletion query and returns how many vertices were deleted. func (ud *UserDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, UserMutation](ctx, ud.sqlExec, ud.mutation, ud.hooks) + return withHooks(ctx, ud.sqlExec, ud.mutation, ud.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/user_query.go b/app/controlplane/internal/data/ent/user_query.go index 976fe65c2..e4251595b 100644 --- a/app/controlplane/internal/data/ent/user_query.go +++ b/app/controlplane/internal/data/ent/user_query.go @@ -21,7 +21,7 @@ import ( type UserQuery struct { config ctx *QueryContext - order []OrderFunc + order []user.OrderOption inters []Interceptor predicates []predicate.User withMemberships *MembershipQuery @@ -56,7 +56,7 @@ func (uq *UserQuery) Unique(unique bool) *UserQuery { } // Order specifies how the records should be ordered. -func (uq *UserQuery) Order(o ...OrderFunc) *UserQuery { +func (uq *UserQuery) Order(o ...user.OrderOption) *UserQuery { uq.order = append(uq.order, o...) return uq } @@ -272,7 +272,7 @@ func (uq *UserQuery) Clone() *UserQuery { return &UserQuery{ config: uq.config, ctx: uq.ctx.Clone(), - order: append([]OrderFunc{}, uq.order...), + order: append([]user.OrderOption{}, uq.order...), inters: append([]Interceptor{}, uq.inters...), predicates: append([]predicate.User{}, uq.predicates...), withMemberships: uq.withMemberships.Clone(), @@ -415,7 +415,7 @@ func (uq *UserQuery) loadMemberships(ctx context.Context, query *MembershipQuery } query.withFKs = true query.Where(predicate.Membership(func(s *sql.Selector) { - s.Where(sql.InValues(user.MembershipsColumn, fks...)) + s.Where(sql.InValues(s.C(user.MembershipsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -428,7 +428,7 @@ func (uq *UserQuery) loadMemberships(ctx context.Context, query *MembershipQuery } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "user_memberships" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "user_memberships" returned %v for node %v`, *fk, n.ID) } assign(node, n) } diff --git a/app/controlplane/internal/data/ent/user_update.go b/app/controlplane/internal/data/ent/user_update.go index 51d7c5bc5..23720f143 100644 --- a/app/controlplane/internal/data/ent/user_update.go +++ b/app/controlplane/internal/data/ent/user_update.go @@ -78,7 +78,7 @@ func (uu *UserUpdate) RemoveMemberships(m ...*Membership) *UserUpdate { // Save executes the query and returns the number of nodes affected by the update operation. func (uu *UserUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, UserMutation](ctx, uu.sqlSave, uu.mutation, uu.hooks) + return withHooks(ctx, uu.sqlSave, uu.mutation, uu.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -136,10 +136,7 @@ func (uu *UserUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{user.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -152,10 +149,7 @@ func (uu *UserUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{user.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -171,10 +165,7 @@ func (uu *UserUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{user.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -264,7 +255,7 @@ func (uuo *UserUpdateOne) Select(field string, fields ...string) *UserUpdateOne // Save executes the query and returns the updated User entity. func (uuo *UserUpdateOne) Save(ctx context.Context) (*User, error) { - return withHooks[*User, UserMutation](ctx, uuo.sqlSave, uuo.mutation, uuo.hooks) + return withHooks(ctx, uuo.sqlSave, uuo.mutation, uuo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -339,10 +330,7 @@ func (uuo *UserUpdateOne) sqlSave(ctx context.Context) (_node *User, err error) Columns: []string{user.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -355,10 +343,7 @@ func (uuo *UserUpdateOne) sqlSave(ctx context.Context) (_node *User, err error) Columns: []string{user.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -374,10 +359,7 @@ func (uuo *UserUpdateOne) sqlSave(ctx context.Context) (_node *User, err error) Columns: []string{user.MembershipsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: membership.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(membership.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/workflow.go b/app/controlplane/internal/data/ent/workflow.go index aef27c1cb..fc1d94eba 100644 --- a/app/controlplane/internal/data/ent/workflow.go +++ b/app/controlplane/internal/data/ent/workflow.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/organization" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/workflow" @@ -36,6 +37,7 @@ type Workflow struct { Edges WorkflowEdges `json:"edges"` organization_id *uuid.UUID workflow_contract *uuid.UUID + selectValues sql.SelectValues } // WorkflowEdges holds the relations/edges for other nodes in the graph. @@ -126,7 +128,7 @@ func (*Workflow) scanValues(columns []string) ([]any, error) { case workflow.ForeignKeys[1]: // workflow_contract values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type Workflow", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -196,11 +198,19 @@ func (w *Workflow) assignValues(columns []string, values []any) error { w.workflow_contract = new(uuid.UUID) *w.workflow_contract = *value.S.(*uuid.UUID) } + default: + w.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the Workflow. +// This includes values selected through modifiers, order, etc. +func (w *Workflow) Value(name string) (ent.Value, error) { + return w.selectValues.Get(name) +} + // QueryRobotaccounts queries the "robotaccounts" edge of the Workflow entity. func (w *Workflow) QueryRobotaccounts() *RobotAccountQuery { return NewWorkflowClient(w.config).QueryRobotaccounts(w) diff --git a/app/controlplane/internal/data/ent/workflow/where.go b/app/controlplane/internal/data/ent/workflow/where.go index 81433f1f2..f3a738760 100644 --- a/app/controlplane/internal/data/ent/workflow/where.go +++ b/app/controlplane/internal/data/ent/workflow/where.go @@ -445,11 +445,7 @@ func HasRobotaccounts() predicate.Workflow { // HasRobotaccountsWith applies the HasEdge predicate on the "robotaccounts" edge with a given conditions (other predicates). func HasRobotaccountsWith(preds ...predicate.RobotAccount) predicate.Workflow { return predicate.Workflow(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(RobotaccountsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, RobotaccountsTable, RobotaccountsColumn), - ) + step := newRobotaccountsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -472,11 +468,7 @@ func HasWorkflowruns() predicate.Workflow { // HasWorkflowrunsWith applies the HasEdge predicate on the "workflowruns" edge with a given conditions (other predicates). func HasWorkflowrunsWith(preds ...predicate.WorkflowRun) predicate.Workflow { return predicate.Workflow(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowrunsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, WorkflowrunsTable, WorkflowrunsColumn), - ) + step := newWorkflowrunsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -499,11 +491,7 @@ func HasOrganization() predicate.Workflow { // HasOrganizationWith applies the HasEdge predicate on the "organization" edge with a given conditions (other predicates). func HasOrganizationWith(preds ...predicate.Organization) predicate.Workflow { return predicate.Workflow(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(OrganizationInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), - ) + step := newOrganizationStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -526,11 +514,7 @@ func HasContract() predicate.Workflow { // HasContractWith applies the HasEdge predicate on the "contract" edge with a given conditions (other predicates). func HasContractWith(preds ...predicate.WorkflowContract) predicate.Workflow { return predicate.Workflow(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(ContractInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, ContractTable, ContractColumn), - ) + step := newContractStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -553,11 +537,7 @@ func HasIntegrationAttachments() predicate.Workflow { // HasIntegrationAttachmentsWith applies the HasEdge predicate on the "integration_attachments" edge with a given conditions (other predicates). func HasIntegrationAttachmentsWith(preds ...predicate.IntegrationAttachment) predicate.Workflow { return predicate.Workflow(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(IntegrationAttachmentsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, true, IntegrationAttachmentsTable, IntegrationAttachmentsColumn), - ) + step := newIntegrationAttachmentsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/workflow/workflow.go b/app/controlplane/internal/data/ent/workflow/workflow.go index 344860343..f69757161 100644 --- a/app/controlplane/internal/data/ent/workflow/workflow.go +++ b/app/controlplane/internal/data/ent/workflow/workflow.go @@ -5,6 +5,8 @@ package workflow import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -115,3 +117,132 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the Workflow queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByName orders the results by the name field. +func ByName(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldName, opts...).ToFunc() +} + +// ByProject orders the results by the project field. +func ByProject(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldProject, opts...).ToFunc() +} + +// ByTeam orders the results by the team field. +func ByTeam(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldTeam, opts...).ToFunc() +} + +// ByRunsCount orders the results by the runs_count field. +func ByRunsCount(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldRunsCount, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByDeletedAt orders the results by the deleted_at field. +func ByDeletedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldDeletedAt, opts...).ToFunc() +} + +// ByRobotaccountsCount orders the results by robotaccounts count. +func ByRobotaccountsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newRobotaccountsStep(), opts...) + } +} + +// ByRobotaccounts orders the results by robotaccounts terms. +func ByRobotaccounts(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newRobotaccountsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByWorkflowrunsCount orders the results by workflowruns count. +func ByWorkflowrunsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newWorkflowrunsStep(), opts...) + } +} + +// ByWorkflowruns orders the results by workflowruns terms. +func ByWorkflowruns(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowrunsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByOrganizationField orders the results by organization field. +func ByOrganizationField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newOrganizationStep(), sql.OrderByField(field, opts...)) + } +} + +// ByContractField orders the results by contract field. +func ByContractField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newContractStep(), sql.OrderByField(field, opts...)) + } +} + +// ByIntegrationAttachmentsCount orders the results by integration_attachments count. +func ByIntegrationAttachmentsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newIntegrationAttachmentsStep(), opts...) + } +} + +// ByIntegrationAttachments orders the results by integration_attachments terms. +func ByIntegrationAttachments(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newIntegrationAttachmentsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} +func newRobotaccountsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(RobotaccountsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, RobotaccountsTable, RobotaccountsColumn), + ) +} +func newWorkflowrunsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowrunsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, WorkflowrunsTable, WorkflowrunsColumn), + ) +} +func newOrganizationStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(OrganizationInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), + ) +} +func newContractStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(ContractInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, false, ContractTable, ContractColumn), + ) +} +func newIntegrationAttachmentsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(IntegrationAttachmentsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, true, IntegrationAttachmentsTable, IntegrationAttachmentsColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/workflow_create.go b/app/controlplane/internal/data/ent/workflow_create.go index 2488207f6..79a596c89 100644 --- a/app/controlplane/internal/data/ent/workflow_create.go +++ b/app/controlplane/internal/data/ent/workflow_create.go @@ -191,7 +191,7 @@ func (wc *WorkflowCreate) Mutation() *WorkflowMutation { // Save creates the Workflow in the database. func (wc *WorkflowCreate) Save(ctx context.Context) (*Workflow, error) { wc.defaults() - return withHooks[*Workflow, WorkflowMutation](ctx, wc.sqlSave, wc.mutation, wc.hooks) + return withHooks(ctx, wc.sqlSave, wc.mutation, wc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -316,10 +316,7 @@ func (wc *WorkflowCreate) createSpec() (*Workflow, *sqlgraph.CreateSpec) { Columns: []string{workflow.RobotaccountsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -335,10 +332,7 @@ func (wc *WorkflowCreate) createSpec() (*Workflow, *sqlgraph.CreateSpec) { Columns: []string{workflow.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -354,10 +348,7 @@ func (wc *WorkflowCreate) createSpec() (*Workflow, *sqlgraph.CreateSpec) { Columns: []string{workflow.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -374,10 +365,7 @@ func (wc *WorkflowCreate) createSpec() (*Workflow, *sqlgraph.CreateSpec) { Columns: []string{workflow.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -394,10 +382,7 @@ func (wc *WorkflowCreate) createSpec() (*Workflow, *sqlgraph.CreateSpec) { Columns: []string{workflow.IntegrationAttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -432,8 +417,8 @@ func (wcb *WorkflowCreateBulk) Save(ctx context.Context) ([]*Workflow, error) { return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, wcb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/workflow_delete.go b/app/controlplane/internal/data/ent/workflow_delete.go index 19dcdeca7..f85ebdc8e 100644 --- a/app/controlplane/internal/data/ent/workflow_delete.go +++ b/app/controlplane/internal/data/ent/workflow_delete.go @@ -27,7 +27,7 @@ func (wd *WorkflowDelete) Where(ps ...predicate.Workflow) *WorkflowDelete { // Exec executes the deletion query and returns how many vertices were deleted. func (wd *WorkflowDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, WorkflowMutation](ctx, wd.sqlExec, wd.mutation, wd.hooks) + return withHooks(ctx, wd.sqlExec, wd.mutation, wd.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/workflow_query.go b/app/controlplane/internal/data/ent/workflow_query.go index eb350e003..e1eb966ac 100644 --- a/app/controlplane/internal/data/ent/workflow_query.go +++ b/app/controlplane/internal/data/ent/workflow_query.go @@ -25,7 +25,7 @@ import ( type WorkflowQuery struct { config ctx *QueryContext - order []OrderFunc + order []workflow.OrderOption inters []Interceptor predicates []predicate.Workflow withRobotaccounts *RobotAccountQuery @@ -65,7 +65,7 @@ func (wq *WorkflowQuery) Unique(unique bool) *WorkflowQuery { } // Order specifies how the records should be ordered. -func (wq *WorkflowQuery) Order(o ...OrderFunc) *WorkflowQuery { +func (wq *WorkflowQuery) Order(o ...workflow.OrderOption) *WorkflowQuery { wq.order = append(wq.order, o...) return wq } @@ -369,7 +369,7 @@ func (wq *WorkflowQuery) Clone() *WorkflowQuery { return &WorkflowQuery{ config: wq.config, ctx: wq.ctx.Clone(), - order: append([]OrderFunc{}, wq.order...), + order: append([]workflow.OrderOption{}, wq.order...), inters: append([]Interceptor{}, wq.inters...), predicates: append([]predicate.Workflow{}, wq.predicates...), withRobotaccounts: wq.withRobotaccounts.Clone(), @@ -599,7 +599,7 @@ func (wq *WorkflowQuery) loadRobotaccounts(ctx context.Context, query *RobotAcco } query.withFKs = true query.Where(predicate.RobotAccount(func(s *sql.Selector) { - s.Where(sql.InValues(workflow.RobotaccountsColumn, fks...)) + s.Where(sql.InValues(s.C(workflow.RobotaccountsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -612,7 +612,7 @@ func (wq *WorkflowQuery) loadRobotaccounts(ctx context.Context, query *RobotAcco } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "workflow_robotaccounts" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "workflow_robotaccounts" returned %v for node %v`, *fk, n.ID) } assign(node, n) } @@ -630,7 +630,7 @@ func (wq *WorkflowQuery) loadWorkflowruns(ctx context.Context, query *WorkflowRu } query.withFKs = true query.Where(predicate.WorkflowRun(func(s *sql.Selector) { - s.Where(sql.InValues(workflow.WorkflowrunsColumn, fks...)) + s.Where(sql.InValues(s.C(workflow.WorkflowrunsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -643,7 +643,7 @@ func (wq *WorkflowQuery) loadWorkflowruns(ctx context.Context, query *WorkflowRu } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "workflow_workflowruns" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "workflow_workflowruns" returned %v for node %v`, *fk, n.ID) } assign(node, n) } @@ -725,7 +725,7 @@ func (wq *WorkflowQuery) loadIntegrationAttachments(ctx context.Context, query * } query.withFKs = true query.Where(predicate.IntegrationAttachment(func(s *sql.Selector) { - s.Where(sql.InValues(workflow.IntegrationAttachmentsColumn, fks...)) + s.Where(sql.InValues(s.C(workflow.IntegrationAttachmentsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -738,7 +738,7 @@ func (wq *WorkflowQuery) loadIntegrationAttachments(ctx context.Context, query * } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "integration_attachment_workflow" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "integration_attachment_workflow" returned %v for node %v`, *fk, n.ID) } assign(node, n) } diff --git a/app/controlplane/internal/data/ent/workflow_update.go b/app/controlplane/internal/data/ent/workflow_update.go index 0b42f27bf..ab0546f9a 100644 --- a/app/controlplane/internal/data/ent/workflow_update.go +++ b/app/controlplane/internal/data/ent/workflow_update.go @@ -270,7 +270,7 @@ func (wu *WorkflowUpdate) RemoveIntegrationAttachments(i ...*IntegrationAttachme // Save executes the query and returns the number of nodes affected by the update operation. func (wu *WorkflowUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, WorkflowMutation](ctx, wu.sqlSave, wu.mutation, wu.hooks) + return withHooks(ctx, wu.sqlSave, wu.mutation, wu.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -353,10 +353,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.RobotaccountsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -369,10 +366,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.RobotaccountsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -388,10 +382,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.RobotaccountsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -407,10 +398,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -423,10 +411,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -442,10 +427,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -461,10 +443,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -477,10 +456,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -496,10 +472,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -512,10 +485,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -531,10 +501,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.IntegrationAttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -547,10 +514,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.IntegrationAttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -566,10 +530,7 @@ func (wu *WorkflowUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflow.IntegrationAttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -846,7 +807,7 @@ func (wuo *WorkflowUpdateOne) Select(field string, fields ...string) *WorkflowUp // Save executes the query and returns the updated Workflow entity. func (wuo *WorkflowUpdateOne) Save(ctx context.Context) (*Workflow, error) { - return withHooks[*Workflow, WorkflowMutation](ctx, wuo.sqlSave, wuo.mutation, wuo.hooks) + return withHooks(ctx, wuo.sqlSave, wuo.mutation, wuo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -946,10 +907,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.RobotaccountsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -962,10 +920,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.RobotaccountsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -981,10 +936,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.RobotaccountsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1000,10 +952,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -1016,10 +965,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1035,10 +981,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.WorkflowrunsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowrun.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowrun.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1054,10 +997,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -1070,10 +1010,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1089,10 +1026,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -1105,10 +1039,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1124,10 +1055,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.IntegrationAttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -1140,10 +1068,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.IntegrationAttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -1159,10 +1084,7 @@ func (wuo *WorkflowUpdateOne) sqlSave(ctx context.Context) (_node *Workflow, err Columns: []string{workflow.IntegrationAttachmentsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: integrationattachment.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(integrationattachment.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/workflowcontract.go b/app/controlplane/internal/data/ent/workflowcontract.go index 291de1aa5..b670ef254 100644 --- a/app/controlplane/internal/data/ent/workflowcontract.go +++ b/app/controlplane/internal/data/ent/workflowcontract.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/organization" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/workflowcontract" @@ -28,6 +29,7 @@ type WorkflowContract struct { // The values are being populated by the WorkflowContractQuery when eager-loading is set. Edges WorkflowContractEdges `json:"edges"` organization_workflow_contracts *uuid.UUID + selectValues sql.SelectValues } // WorkflowContractEdges holds the relations/edges for other nodes in the graph. @@ -88,7 +90,7 @@ func (*WorkflowContract) scanValues(columns []string) ([]any, error) { case workflowcontract.ForeignKeys[0]: // organization_workflow_contracts values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type WorkflowContract", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -133,11 +135,19 @@ func (wc *WorkflowContract) assignValues(columns []string, values []any) error { wc.organization_workflow_contracts = new(uuid.UUID) *wc.organization_workflow_contracts = *value.S.(*uuid.UUID) } + default: + wc.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the WorkflowContract. +// This includes values selected through modifiers, order, etc. +func (wc *WorkflowContract) Value(name string) (ent.Value, error) { + return wc.selectValues.Get(name) +} + // QueryVersions queries the "versions" edge of the WorkflowContract entity. func (wc *WorkflowContract) QueryVersions() *WorkflowContractVersionQuery { return NewWorkflowContractClient(wc.config).QueryVersions(wc) diff --git a/app/controlplane/internal/data/ent/workflowcontract/where.go b/app/controlplane/internal/data/ent/workflowcontract/where.go index b04873547..b16f3f210 100644 --- a/app/controlplane/internal/data/ent/workflowcontract/where.go +++ b/app/controlplane/internal/data/ent/workflowcontract/where.go @@ -240,11 +240,7 @@ func HasVersions() predicate.WorkflowContract { // HasVersionsWith applies the HasEdge predicate on the "versions" edge with a given conditions (other predicates). func HasVersionsWith(preds ...predicate.WorkflowContractVersion) predicate.WorkflowContract { return predicate.WorkflowContract(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(VersionsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, false, VersionsTable, VersionsColumn), - ) + step := newVersionsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -267,11 +263,7 @@ func HasOrganization() predicate.WorkflowContract { // HasOrganizationWith applies the HasEdge predicate on the "organization" edge with a given conditions (other predicates). func HasOrganizationWith(preds ...predicate.Organization) predicate.WorkflowContract { return predicate.WorkflowContract(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(OrganizationInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), - ) + step := newOrganizationStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -294,11 +286,7 @@ func HasWorkflows() predicate.WorkflowContract { // HasWorkflowsWith applies the HasEdge predicate on the "workflows" edge with a given conditions (other predicates). func HasWorkflowsWith(preds ...predicate.Workflow) predicate.WorkflowContract { return predicate.WorkflowContract(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowsInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.O2M, true, WorkflowsTable, WorkflowsColumn), - ) + step := newWorkflowsStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/workflowcontract/workflowcontract.go b/app/controlplane/internal/data/ent/workflowcontract/workflowcontract.go index 9a74fbaa7..9f8c30d14 100644 --- a/app/controlplane/internal/data/ent/workflowcontract/workflowcontract.go +++ b/app/controlplane/internal/data/ent/workflowcontract/workflowcontract.go @@ -5,6 +5,8 @@ package workflowcontract import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -85,3 +87,82 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the WorkflowContract queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByName orders the results by the name field. +func ByName(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldName, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByDeletedAt orders the results by the deleted_at field. +func ByDeletedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldDeletedAt, opts...).ToFunc() +} + +// ByVersionsCount orders the results by versions count. +func ByVersionsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newVersionsStep(), opts...) + } +} + +// ByVersions orders the results by versions terms. +func ByVersions(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newVersionsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} + +// ByOrganizationField orders the results by organization field. +func ByOrganizationField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newOrganizationStep(), sql.OrderByField(field, opts...)) + } +} + +// ByWorkflowsCount orders the results by workflows count. +func ByWorkflowsCount(opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborsCount(s, newWorkflowsStep(), opts...) + } +} + +// ByWorkflows orders the results by workflows terms. +func ByWorkflows(term sql.OrderTerm, terms ...sql.OrderTerm) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowsStep(), append([]sql.OrderTerm{term}, terms...)...) + } +} +func newVersionsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(VersionsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, false, VersionsTable, VersionsColumn), + ) +} +func newOrganizationStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(OrganizationInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, OrganizationTable, OrganizationColumn), + ) +} +func newWorkflowsStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowsInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.O2M, true, WorkflowsTable, WorkflowsColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/workflowcontract_create.go b/app/controlplane/internal/data/ent/workflowcontract_create.go index 911cc9c45..506991cb5 100644 --- a/app/controlplane/internal/data/ent/workflowcontract_create.go +++ b/app/controlplane/internal/data/ent/workflowcontract_create.go @@ -129,7 +129,7 @@ func (wcc *WorkflowContractCreate) Mutation() *WorkflowContractMutation { // Save creates the WorkflowContract in the database. func (wcc *WorkflowContractCreate) Save(ctx context.Context) (*WorkflowContract, error) { wcc.defaults() - return withHooks[*WorkflowContract, WorkflowContractMutation](ctx, wcc.sqlSave, wcc.mutation, wcc.hooks) + return withHooks(ctx, wcc.sqlSave, wcc.mutation, wcc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -229,10 +229,7 @@ func (wcc *WorkflowContractCreate) createSpec() (*WorkflowContract, *sqlgraph.Cr Columns: []string{workflowcontract.VersionsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -248,10 +245,7 @@ func (wcc *WorkflowContractCreate) createSpec() (*WorkflowContract, *sqlgraph.Cr Columns: []string{workflowcontract.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -268,10 +262,7 @@ func (wcc *WorkflowContractCreate) createSpec() (*WorkflowContract, *sqlgraph.Cr Columns: []string{workflowcontract.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -306,8 +297,8 @@ func (wccb *WorkflowContractCreateBulk) Save(ctx context.Context) ([]*WorkflowCo return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, wccb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/workflowcontract_delete.go b/app/controlplane/internal/data/ent/workflowcontract_delete.go index d33d783b2..dca96398e 100644 --- a/app/controlplane/internal/data/ent/workflowcontract_delete.go +++ b/app/controlplane/internal/data/ent/workflowcontract_delete.go @@ -27,7 +27,7 @@ func (wcd *WorkflowContractDelete) Where(ps ...predicate.WorkflowContract) *Work // Exec executes the deletion query and returns how many vertices were deleted. func (wcd *WorkflowContractDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, WorkflowContractMutation](ctx, wcd.sqlExec, wcd.mutation, wcd.hooks) + return withHooks(ctx, wcd.sqlExec, wcd.mutation, wcd.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/workflowcontract_query.go b/app/controlplane/internal/data/ent/workflowcontract_query.go index bd0339a12..76cfea1ed 100644 --- a/app/controlplane/internal/data/ent/workflowcontract_query.go +++ b/app/controlplane/internal/data/ent/workflowcontract_query.go @@ -23,7 +23,7 @@ import ( type WorkflowContractQuery struct { config ctx *QueryContext - order []OrderFunc + order []workflowcontract.OrderOption inters []Interceptor predicates []predicate.WorkflowContract withVersions *WorkflowContractVersionQuery @@ -61,7 +61,7 @@ func (wcq *WorkflowContractQuery) Unique(unique bool) *WorkflowContractQuery { } // Order specifies how the records should be ordered. -func (wcq *WorkflowContractQuery) Order(o ...OrderFunc) *WorkflowContractQuery { +func (wcq *WorkflowContractQuery) Order(o ...workflowcontract.OrderOption) *WorkflowContractQuery { wcq.order = append(wcq.order, o...) return wcq } @@ -321,7 +321,7 @@ func (wcq *WorkflowContractQuery) Clone() *WorkflowContractQuery { return &WorkflowContractQuery{ config: wcq.config, ctx: wcq.ctx.Clone(), - order: append([]OrderFunc{}, wcq.order...), + order: append([]workflowcontract.OrderOption{}, wcq.order...), inters: append([]Interceptor{}, wcq.inters...), predicates: append([]predicate.WorkflowContract{}, wcq.predicates...), withVersions: wcq.withVersions.Clone(), @@ -510,7 +510,7 @@ func (wcq *WorkflowContractQuery) loadVersions(ctx context.Context, query *Workf } query.withFKs = true query.Where(predicate.WorkflowContractVersion(func(s *sql.Selector) { - s.Where(sql.InValues(workflowcontract.VersionsColumn, fks...)) + s.Where(sql.InValues(s.C(workflowcontract.VersionsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -523,7 +523,7 @@ func (wcq *WorkflowContractQuery) loadVersions(ctx context.Context, query *Workf } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "workflow_contract_versions" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "workflow_contract_versions" returned %v for node %v`, *fk, n.ID) } assign(node, n) } @@ -573,7 +573,7 @@ func (wcq *WorkflowContractQuery) loadWorkflows(ctx context.Context, query *Work } query.withFKs = true query.Where(predicate.Workflow(func(s *sql.Selector) { - s.Where(sql.InValues(workflowcontract.WorkflowsColumn, fks...)) + s.Where(sql.InValues(s.C(workflowcontract.WorkflowsColumn), fks...)) })) neighbors, err := query.All(ctx) if err != nil { @@ -586,7 +586,7 @@ func (wcq *WorkflowContractQuery) loadWorkflows(ctx context.Context, query *Work } node, ok := nodeids[*fk] if !ok { - return fmt.Errorf(`unexpected foreign-key "workflow_contract" returned %v for node %v`, *fk, n.ID) + return fmt.Errorf(`unexpected referenced foreign-key "workflow_contract" returned %v for node %v`, *fk, n.ID) } assign(node, n) } diff --git a/app/controlplane/internal/data/ent/workflowcontract_update.go b/app/controlplane/internal/data/ent/workflowcontract_update.go index 0aefdac57..b2a517065 100644 --- a/app/controlplane/internal/data/ent/workflowcontract_update.go +++ b/app/controlplane/internal/data/ent/workflowcontract_update.go @@ -162,7 +162,7 @@ func (wcu *WorkflowContractUpdate) RemoveWorkflows(w ...*Workflow) *WorkflowCont // Save executes the query and returns the number of nodes affected by the update operation. func (wcu *WorkflowContractUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, WorkflowContractMutation](ctx, wcu.sqlSave, wcu.mutation, wcu.hooks) + return withHooks(ctx, wcu.sqlSave, wcu.mutation, wcu.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -213,10 +213,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.VersionsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -229,10 +226,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.VersionsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -248,10 +242,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.VersionsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -267,10 +258,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -283,10 +271,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -302,10 +287,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -318,10 +300,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -337,10 +316,7 @@ func (wcu *WorkflowContractUpdate) sqlSave(ctx context.Context) (n int, err erro Columns: []string{workflowcontract.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -511,7 +487,7 @@ func (wcuo *WorkflowContractUpdateOne) Select(field string, fields ...string) *W // Save executes the query and returns the updated WorkflowContract entity. func (wcuo *WorkflowContractUpdateOne) Save(ctx context.Context) (*WorkflowContract, error) { - return withHooks[*WorkflowContract, WorkflowContractMutation](ctx, wcuo.sqlSave, wcuo.mutation, wcuo.hooks) + return withHooks(ctx, wcuo.sqlSave, wcuo.mutation, wcuo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -579,10 +555,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.VersionsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -595,10 +568,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.VersionsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -614,10 +584,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.VersionsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -633,10 +600,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -649,10 +613,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.OrganizationColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: organization.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(organization.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -668,10 +629,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -684,10 +642,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -703,10 +658,7 @@ func (wcuo *WorkflowContractUpdateOne) sqlSave(ctx context.Context) (_node *Work Columns: []string{workflowcontract.WorkflowsColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/workflowcontractversion.go b/app/controlplane/internal/data/ent/workflowcontractversion.go index 638422276..8c220eec4 100644 --- a/app/controlplane/internal/data/ent/workflowcontractversion.go +++ b/app/controlplane/internal/data/ent/workflowcontractversion.go @@ -7,6 +7,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/workflowcontract" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/workflowcontractversion" @@ -28,6 +29,7 @@ type WorkflowContractVersion struct { // The values are being populated by the WorkflowContractVersionQuery when eager-loading is set. Edges WorkflowContractVersionEdges `json:"edges"` workflow_contract_versions *uuid.UUID + selectValues sql.SelectValues } // WorkflowContractVersionEdges holds the relations/edges for other nodes in the graph. @@ -68,7 +70,7 @@ func (*WorkflowContractVersion) scanValues(columns []string) ([]any, error) { case workflowcontractversion.ForeignKeys[0]: // workflow_contract_versions values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type WorkflowContractVersion", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -113,11 +115,19 @@ func (wcv *WorkflowContractVersion) assignValues(columns []string, values []any) wcv.workflow_contract_versions = new(uuid.UUID) *wcv.workflow_contract_versions = *value.S.(*uuid.UUID) } + default: + wcv.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the WorkflowContractVersion. +// This includes values selected through modifiers, order, etc. +func (wcv *WorkflowContractVersion) Value(name string) (ent.Value, error) { + return wcv.selectValues.Get(name) +} + // QueryContract queries the "contract" edge of the WorkflowContractVersion entity. func (wcv *WorkflowContractVersion) QueryContract() *WorkflowContractQuery { return NewWorkflowContractVersionClient(wcv.config).QueryContract(wcv) diff --git a/app/controlplane/internal/data/ent/workflowcontractversion/where.go b/app/controlplane/internal/data/ent/workflowcontractversion/where.go index 3166956b9..58784b5b1 100644 --- a/app/controlplane/internal/data/ent/workflowcontractversion/where.go +++ b/app/controlplane/internal/data/ent/workflowcontractversion/where.go @@ -205,11 +205,7 @@ func HasContract() predicate.WorkflowContractVersion { // HasContractWith applies the HasEdge predicate on the "contract" edge with a given conditions (other predicates). func HasContractWith(preds ...predicate.WorkflowContract) predicate.WorkflowContractVersion { return predicate.WorkflowContractVersion(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(ContractInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, ContractTable, ContractColumn), - ) + step := newContractStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/workflowcontractversion/workflowcontractversion.go b/app/controlplane/internal/data/ent/workflowcontractversion/workflowcontractversion.go index bb97be536..6da1a0f32 100644 --- a/app/controlplane/internal/data/ent/workflowcontractversion/workflowcontractversion.go +++ b/app/controlplane/internal/data/ent/workflowcontractversion/workflowcontractversion.go @@ -5,6 +5,8 @@ package workflowcontractversion import ( "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/google/uuid" ) @@ -71,3 +73,35 @@ var ( // DefaultID holds the default value on creation for the "id" field. DefaultID func() uuid.UUID ) + +// OrderOption defines the ordering options for the WorkflowContractVersion queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByRevision orders the results by the revision field. +func ByRevision(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldRevision, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByContractField orders the results by contract field. +func ByContractField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newContractStep(), sql.OrderByField(field, opts...)) + } +} +func newContractStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(ContractInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, ContractTable, ContractColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/workflowcontractversion_create.go b/app/controlplane/internal/data/ent/workflowcontractversion_create.go index 36863c0e8..36be3232e 100644 --- a/app/controlplane/internal/data/ent/workflowcontractversion_create.go +++ b/app/controlplane/internal/data/ent/workflowcontractversion_create.go @@ -97,7 +97,7 @@ func (wcvc *WorkflowContractVersionCreate) Mutation() *WorkflowContractVersionMu // Save creates the WorkflowContractVersion in the database. func (wcvc *WorkflowContractVersionCreate) Save(ctx context.Context) (*WorkflowContractVersion, error) { wcvc.defaults() - return withHooks[*WorkflowContractVersion, WorkflowContractVersionMutation](ctx, wcvc.sqlSave, wcvc.mutation, wcvc.hooks) + return withHooks(ctx, wcvc.sqlSave, wcvc.mutation, wcvc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -209,10 +209,7 @@ func (wcvc *WorkflowContractVersionCreate) createSpec() (*WorkflowContractVersio Columns: []string{workflowcontractversion.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -248,8 +245,8 @@ func (wcvcb *WorkflowContractVersionCreateBulk) Save(ctx context.Context) ([]*Wo return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, wcvcb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/workflowcontractversion_delete.go b/app/controlplane/internal/data/ent/workflowcontractversion_delete.go index 95ad49400..7e39fd061 100644 --- a/app/controlplane/internal/data/ent/workflowcontractversion_delete.go +++ b/app/controlplane/internal/data/ent/workflowcontractversion_delete.go @@ -27,7 +27,7 @@ func (wcvd *WorkflowContractVersionDelete) Where(ps ...predicate.WorkflowContrac // Exec executes the deletion query and returns how many vertices were deleted. func (wcvd *WorkflowContractVersionDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, WorkflowContractVersionMutation](ctx, wcvd.sqlExec, wcvd.mutation, wcvd.hooks) + return withHooks(ctx, wcvd.sqlExec, wcvd.mutation, wcvd.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/workflowcontractversion_query.go b/app/controlplane/internal/data/ent/workflowcontractversion_query.go index 1d8d95b7a..296130eca 100644 --- a/app/controlplane/internal/data/ent/workflowcontractversion_query.go +++ b/app/controlplane/internal/data/ent/workflowcontractversion_query.go @@ -20,7 +20,7 @@ import ( type WorkflowContractVersionQuery struct { config ctx *QueryContext - order []OrderFunc + order []workflowcontractversion.OrderOption inters []Interceptor predicates []predicate.WorkflowContractVersion withContract *WorkflowContractQuery @@ -56,7 +56,7 @@ func (wcvq *WorkflowContractVersionQuery) Unique(unique bool) *WorkflowContractV } // Order specifies how the records should be ordered. -func (wcvq *WorkflowContractVersionQuery) Order(o ...OrderFunc) *WorkflowContractVersionQuery { +func (wcvq *WorkflowContractVersionQuery) Order(o ...workflowcontractversion.OrderOption) *WorkflowContractVersionQuery { wcvq.order = append(wcvq.order, o...) return wcvq } @@ -272,7 +272,7 @@ func (wcvq *WorkflowContractVersionQuery) Clone() *WorkflowContractVersionQuery return &WorkflowContractVersionQuery{ config: wcvq.config, ctx: wcvq.ctx.Clone(), - order: append([]OrderFunc{}, wcvq.order...), + order: append([]workflowcontractversion.OrderOption{}, wcvq.order...), inters: append([]Interceptor{}, wcvq.inters...), predicates: append([]predicate.WorkflowContractVersion{}, wcvq.predicates...), withContract: wcvq.withContract.Clone(), diff --git a/app/controlplane/internal/data/ent/workflowcontractversion_update.go b/app/controlplane/internal/data/ent/workflowcontractversion_update.go index 31f22992d..4cdd6b369 100644 --- a/app/controlplane/internal/data/ent/workflowcontractversion_update.go +++ b/app/controlplane/internal/data/ent/workflowcontractversion_update.go @@ -61,7 +61,7 @@ func (wcvu *WorkflowContractVersionUpdate) ClearContract() *WorkflowContractVers // Save executes the query and returns the number of nodes affected by the update operation. func (wcvu *WorkflowContractVersionUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, WorkflowContractVersionMutation](ctx, wcvu.sqlSave, wcvu.mutation, wcvu.hooks) + return withHooks(ctx, wcvu.sqlSave, wcvu.mutation, wcvu.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -103,10 +103,7 @@ func (wcvu *WorkflowContractVersionUpdate) sqlSave(ctx context.Context) (n int, Columns: []string{workflowcontractversion.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -119,10 +116,7 @@ func (wcvu *WorkflowContractVersionUpdate) sqlSave(ctx context.Context) (n int, Columns: []string{workflowcontractversion.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -195,7 +189,7 @@ func (wcvuo *WorkflowContractVersionUpdateOne) Select(field string, fields ...st // Save executes the query and returns the updated WorkflowContractVersion entity. func (wcvuo *WorkflowContractVersionUpdateOne) Save(ctx context.Context) (*WorkflowContractVersion, error) { - return withHooks[*WorkflowContractVersion, WorkflowContractVersionMutation](ctx, wcvuo.sqlSave, wcvuo.mutation, wcvuo.hooks) + return withHooks(ctx, wcvuo.sqlSave, wcvuo.mutation, wcvuo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -254,10 +248,7 @@ func (wcvuo *WorkflowContractVersionUpdateOne) sqlSave(ctx context.Context) (_no Columns: []string{workflowcontractversion.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -270,10 +261,7 @@ func (wcvuo *WorkflowContractVersionUpdateOne) sqlSave(ctx context.Context) (_no Columns: []string{workflowcontractversion.ContractColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontract.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontract.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/app/controlplane/internal/data/ent/workflowrun.go b/app/controlplane/internal/data/ent/workflowrun.go index c008f38e8..8800246b1 100644 --- a/app/controlplane/internal/data/ent/workflowrun.go +++ b/app/controlplane/internal/data/ent/workflowrun.go @@ -8,6 +8,7 @@ import ( "strings" "time" + "entgo.io/ent" "entgo.io/ent/dialect/sql" "github.com/chainloop-dev/chainloop/app/controlplane/internal/biz" "github.com/chainloop-dev/chainloop/app/controlplane/internal/data/ent/robotaccount" @@ -43,6 +44,7 @@ type WorkflowRun struct { robot_account_workflowruns *uuid.UUID workflow_workflowruns *uuid.UUID workflow_run_contract_version *uuid.UUID + selectValues sql.SelectValues } // WorkflowRunEdges holds the relations/edges for other nodes in the graph. @@ -117,7 +119,7 @@ func (*WorkflowRun) scanValues(columns []string) ([]any, error) { case workflowrun.ForeignKeys[2]: // workflow_run_contract_version values[i] = &sql.NullScanner{S: new(uuid.UUID)} default: - return nil, fmt.Errorf("unexpected column %q for type WorkflowRun", columns[i]) + values[i] = new(sql.UnknownType) } } return values, nil @@ -202,11 +204,19 @@ func (wr *WorkflowRun) assignValues(columns []string, values []any) error { wr.workflow_run_contract_version = new(uuid.UUID) *wr.workflow_run_contract_version = *value.S.(*uuid.UUID) } + default: + wr.selectValues.Set(columns[i], values[i]) } } return nil } +// Value returns the ent.Value that was dynamically selected and assigned to the WorkflowRun. +// This includes values selected through modifiers, order, etc. +func (wr *WorkflowRun) Value(name string) (ent.Value, error) { + return wr.selectValues.Get(name) +} + // QueryWorkflow queries the "workflow" edge of the WorkflowRun entity. func (wr *WorkflowRun) QueryWorkflow() *WorkflowQuery { return NewWorkflowRunClient(wr.config).QueryWorkflow(wr) diff --git a/app/controlplane/internal/data/ent/workflowrun/where.go b/app/controlplane/internal/data/ent/workflowrun/where.go index 8da3f1b54..ad92c4144 100644 --- a/app/controlplane/internal/data/ent/workflowrun/where.go +++ b/app/controlplane/internal/data/ent/workflowrun/where.go @@ -451,11 +451,7 @@ func HasWorkflow() predicate.WorkflowRun { // HasWorkflowWith applies the HasEdge predicate on the "workflow" edge with a given conditions (other predicates). func HasWorkflowWith(preds ...predicate.Workflow) predicate.WorkflowRun { return predicate.WorkflowRun(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(WorkflowInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, WorkflowTable, WorkflowColumn), - ) + step := newWorkflowStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -478,11 +474,7 @@ func HasRobotaccount() predicate.WorkflowRun { // HasRobotaccountWith applies the HasEdge predicate on the "robotaccount" edge with a given conditions (other predicates). func HasRobotaccountWith(preds ...predicate.RobotAccount) predicate.WorkflowRun { return predicate.WorkflowRun(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(RobotaccountInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, true, RobotaccountTable, RobotaccountColumn), - ) + step := newRobotaccountStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) @@ -505,11 +497,7 @@ func HasContractVersion() predicate.WorkflowRun { // HasContractVersionWith applies the HasEdge predicate on the "contract_version" edge with a given conditions (other predicates). func HasContractVersionWith(preds ...predicate.WorkflowContractVersion) predicate.WorkflowRun { return predicate.WorkflowRun(func(s *sql.Selector) { - step := sqlgraph.NewStep( - sqlgraph.From(Table, FieldID), - sqlgraph.To(ContractVersionInverseTable, FieldID), - sqlgraph.Edge(sqlgraph.M2O, false, ContractVersionTable, ContractVersionColumn), - ) + step := newContractVersionStep() sqlgraph.HasNeighborsWith(s, step, func(s *sql.Selector) { for _, p := range preds { p(s) diff --git a/app/controlplane/internal/data/ent/workflowrun/workflowrun.go b/app/controlplane/internal/data/ent/workflowrun/workflowrun.go index 5bd0fbc82..5d5bdda3e 100644 --- a/app/controlplane/internal/data/ent/workflowrun/workflowrun.go +++ b/app/controlplane/internal/data/ent/workflowrun/workflowrun.go @@ -6,6 +6,8 @@ import ( "fmt" "time" + "entgo.io/ent/dialect/sql" + "entgo.io/ent/dialect/sql/sqlgraph" "github.com/chainloop-dev/chainloop/app/controlplane/internal/biz" "github.com/google/uuid" ) @@ -113,3 +115,83 @@ func StateValidator(s biz.WorkflowRunStatus) error { return fmt.Errorf("workflowrun: invalid enum value for state field: %q", s) } } + +// OrderOption defines the ordering options for the WorkflowRun queries. +type OrderOption func(*sql.Selector) + +// ByID orders the results by the id field. +func ByID(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldID, opts...).ToFunc() +} + +// ByCreatedAt orders the results by the created_at field. +func ByCreatedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldCreatedAt, opts...).ToFunc() +} + +// ByFinishedAt orders the results by the finished_at field. +func ByFinishedAt(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldFinishedAt, opts...).ToFunc() +} + +// ByState orders the results by the state field. +func ByState(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldState, opts...).ToFunc() +} + +// ByReason orders the results by the reason field. +func ByReason(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldReason, opts...).ToFunc() +} + +// ByRunURL orders the results by the run_url field. +func ByRunURL(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldRunURL, opts...).ToFunc() +} + +// ByRunnerType orders the results by the runner_type field. +func ByRunnerType(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldRunnerType, opts...).ToFunc() +} + +// ByWorkflowField orders the results by workflow field. +func ByWorkflowField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newWorkflowStep(), sql.OrderByField(field, opts...)) + } +} + +// ByRobotaccountField orders the results by robotaccount field. +func ByRobotaccountField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newRobotaccountStep(), sql.OrderByField(field, opts...)) + } +} + +// ByContractVersionField orders the results by contract_version field. +func ByContractVersionField(field string, opts ...sql.OrderTermOption) OrderOption { + return func(s *sql.Selector) { + sqlgraph.OrderByNeighborTerms(s, newContractVersionStep(), sql.OrderByField(field, opts...)) + } +} +func newWorkflowStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(WorkflowInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, WorkflowTable, WorkflowColumn), + ) +} +func newRobotaccountStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(RobotaccountInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, true, RobotaccountTable, RobotaccountColumn), + ) +} +func newContractVersionStep() *sqlgraph.Step { + return sqlgraph.NewStep( + sqlgraph.From(Table, FieldID), + sqlgraph.To(ContractVersionInverseTable, FieldID), + sqlgraph.Edge(sqlgraph.M2O, false, ContractVersionTable, ContractVersionColumn), + ) +} diff --git a/app/controlplane/internal/data/ent/workflowrun_create.go b/app/controlplane/internal/data/ent/workflowrun_create.go index e2ed3bce5..8ef8e8b7e 100644 --- a/app/controlplane/internal/data/ent/workflowrun_create.go +++ b/app/controlplane/internal/data/ent/workflowrun_create.go @@ -195,7 +195,7 @@ func (wrc *WorkflowRunCreate) Mutation() *WorkflowRunMutation { // Save creates the WorkflowRun in the database. func (wrc *WorkflowRunCreate) Save(ctx context.Context) (*WorkflowRun, error) { wrc.defaults() - return withHooks[*WorkflowRun, WorkflowRunMutation](ctx, wrc.sqlSave, wrc.mutation, wrc.hooks) + return withHooks(ctx, wrc.sqlSave, wrc.mutation, wrc.hooks) } // SaveX calls Save and panics if Save returns an error. @@ -320,10 +320,7 @@ func (wrc *WorkflowRunCreate) createSpec() (*WorkflowRun, *sqlgraph.CreateSpec) Columns: []string{workflowrun.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -340,10 +337,7 @@ func (wrc *WorkflowRunCreate) createSpec() (*WorkflowRun, *sqlgraph.CreateSpec) Columns: []string{workflowrun.RobotaccountColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -360,10 +354,7 @@ func (wrc *WorkflowRunCreate) createSpec() (*WorkflowRun, *sqlgraph.CreateSpec) Columns: []string{workflowrun.ContractVersionColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -399,8 +390,8 @@ func (wrcb *WorkflowRunCreateBulk) Save(ctx context.Context) ([]*WorkflowRun, er return nil, err } builder.mutation = mutation - nodes[i], specs[i] = builder.createSpec() var err error + nodes[i], specs[i] = builder.createSpec() if i < len(mutators)-1 { _, err = mutators[i+1].Mutate(root, wrcb.builders[i+1].mutation) } else { diff --git a/app/controlplane/internal/data/ent/workflowrun_delete.go b/app/controlplane/internal/data/ent/workflowrun_delete.go index 245c67d83..06da4f0ca 100644 --- a/app/controlplane/internal/data/ent/workflowrun_delete.go +++ b/app/controlplane/internal/data/ent/workflowrun_delete.go @@ -27,7 +27,7 @@ func (wrd *WorkflowRunDelete) Where(ps ...predicate.WorkflowRun) *WorkflowRunDel // Exec executes the deletion query and returns how many vertices were deleted. func (wrd *WorkflowRunDelete) Exec(ctx context.Context) (int, error) { - return withHooks[int, WorkflowRunMutation](ctx, wrd.sqlExec, wrd.mutation, wrd.hooks) + return withHooks(ctx, wrd.sqlExec, wrd.mutation, wrd.hooks) } // ExecX is like Exec, but panics if an error occurs. diff --git a/app/controlplane/internal/data/ent/workflowrun_query.go b/app/controlplane/internal/data/ent/workflowrun_query.go index 3e25c92e8..2ffa31cbc 100644 --- a/app/controlplane/internal/data/ent/workflowrun_query.go +++ b/app/controlplane/internal/data/ent/workflowrun_query.go @@ -22,7 +22,7 @@ import ( type WorkflowRunQuery struct { config ctx *QueryContext - order []OrderFunc + order []workflowrun.OrderOption inters []Interceptor predicates []predicate.WorkflowRun withWorkflow *WorkflowQuery @@ -60,7 +60,7 @@ func (wrq *WorkflowRunQuery) Unique(unique bool) *WorkflowRunQuery { } // Order specifies how the records should be ordered. -func (wrq *WorkflowRunQuery) Order(o ...OrderFunc) *WorkflowRunQuery { +func (wrq *WorkflowRunQuery) Order(o ...workflowrun.OrderOption) *WorkflowRunQuery { wrq.order = append(wrq.order, o...) return wrq } @@ -320,7 +320,7 @@ func (wrq *WorkflowRunQuery) Clone() *WorkflowRunQuery { return &WorkflowRunQuery{ config: wrq.config, ctx: wrq.ctx.Clone(), - order: append([]OrderFunc{}, wrq.order...), + order: append([]workflowrun.OrderOption{}, wrq.order...), inters: append([]Interceptor{}, wrq.inters...), predicates: append([]predicate.WorkflowRun{}, wrq.predicates...), withWorkflow: wrq.withWorkflow.Clone(), diff --git a/app/controlplane/internal/data/ent/workflowrun_update.go b/app/controlplane/internal/data/ent/workflowrun_update.go index d6471f24e..da9791755 100644 --- a/app/controlplane/internal/data/ent/workflowrun_update.go +++ b/app/controlplane/internal/data/ent/workflowrun_update.go @@ -222,7 +222,7 @@ func (wru *WorkflowRunUpdate) ClearContractVersion() *WorkflowRunUpdate { // Save executes the query and returns the number of nodes affected by the update operation. func (wru *WorkflowRunUpdate) Save(ctx context.Context) (int, error) { - return withHooks[int, WorkflowRunMutation](ctx, wru.sqlSave, wru.mutation, wru.hooks) + return withHooks(ctx, wru.sqlSave, wru.mutation, wru.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -310,10 +310,7 @@ func (wru *WorkflowRunUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflowrun.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -326,10 +323,7 @@ func (wru *WorkflowRunUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflowrun.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -345,10 +339,7 @@ func (wru *WorkflowRunUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflowrun.RobotaccountColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -361,10 +352,7 @@ func (wru *WorkflowRunUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflowrun.RobotaccountColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -380,10 +368,7 @@ func (wru *WorkflowRunUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflowrun.ContractVersionColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -396,10 +381,7 @@ func (wru *WorkflowRunUpdate) sqlSave(ctx context.Context) (n int, err error) { Columns: []string{workflowrun.ContractVersionColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -628,7 +610,7 @@ func (wruo *WorkflowRunUpdateOne) Select(field string, fields ...string) *Workfl // Save executes the query and returns the updated WorkflowRun entity. func (wruo *WorkflowRunUpdateOne) Save(ctx context.Context) (*WorkflowRun, error) { - return withHooks[*WorkflowRun, WorkflowRunMutation](ctx, wruo.sqlSave, wruo.mutation, wruo.hooks) + return withHooks(ctx, wruo.sqlSave, wruo.mutation, wruo.hooks) } // SaveX is like Save, but panics if an error occurs. @@ -733,10 +715,7 @@ func (wruo *WorkflowRunUpdateOne) sqlSave(ctx context.Context) (_node *WorkflowR Columns: []string{workflowrun.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -749,10 +728,7 @@ func (wruo *WorkflowRunUpdateOne) sqlSave(ctx context.Context) (_node *WorkflowR Columns: []string{workflowrun.WorkflowColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflow.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflow.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -768,10 +744,7 @@ func (wruo *WorkflowRunUpdateOne) sqlSave(ctx context.Context) (_node *WorkflowR Columns: []string{workflowrun.RobotaccountColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -784,10 +757,7 @@ func (wruo *WorkflowRunUpdateOne) sqlSave(ctx context.Context) (_node *WorkflowR Columns: []string{workflowrun.RobotaccountColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: robotaccount.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(robotaccount.FieldID, field.TypeUUID), }, } for _, k := range nodes { @@ -803,10 +773,7 @@ func (wruo *WorkflowRunUpdateOne) sqlSave(ctx context.Context) (_node *WorkflowR Columns: []string{workflowrun.ContractVersionColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } _spec.Edges.Clear = append(_spec.Edges.Clear, edge) @@ -819,10 +786,7 @@ func (wruo *WorkflowRunUpdateOne) sqlSave(ctx context.Context) (_node *WorkflowR Columns: []string{workflowrun.ContractVersionColumn}, Bidi: false, Target: &sqlgraph.EdgeTarget{ - IDSpec: &sqlgraph.FieldSpec{ - Type: field.TypeUUID, - Column: workflowcontractversion.FieldID, - }, + IDSpec: sqlgraph.NewFieldSpec(workflowcontractversion.FieldID, field.TypeUUID), }, } for _, k := range nodes { diff --git a/go.mod b/go.mod index 5f6e2872b..005169619 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( cloud.google.com/go/secretmanager v1.11.0 code.cloudfoundry.org/bytefmt v0.0.0-20211005130812-5bb3c17173e5 cuelang.org/go v0.5.0 - entgo.io/ent v0.11.9 + entgo.io/ent v0.12.3 github.com/CycloneDX/cyclonedx-go v0.7.0 github.com/adrg/xdg v0.4.0 github.com/aws/aws-sdk-go-v2 v1.18.0 @@ -39,7 +39,6 @@ require ( github.com/hedwigz/entviz v0.0.0-20221011080911-9d47f6f1d818 github.com/improbable-eng/grpc-web v0.15.0 github.com/in-toto/in-toto-golang v0.9.0 - github.com/jackc/pgx/v4 v4.18.1 github.com/jedib0t/go-pretty/v6 v6.4.6 github.com/joshdk/go-junit v1.0.0 github.com/lib/pq v1.10.9 @@ -71,6 +70,7 @@ require ( require ( cloud.google.com/go/storage v1.30.1 github.com/invopop/jsonschema v0.7.0 + github.com/jackc/pgx/v5 v5.4.1 github.com/santhosh-tekuri/jsonschema/v5 v5.3.0 google.golang.org/genproto/googleapis/api v0.0.0-20230530153820-e85fd2cbaebc google.golang.org/genproto/googleapis/bytestream v0.0.0-20230530153820-e85fd2cbaebc @@ -85,7 +85,7 @@ require ( ) require ( - ariga.io/atlas v0.9.1 // indirect + ariga.io/atlas v0.10.2-0.20230427182402-87a07dfb83bf // indirect cloud.google.com/go v0.110.2 // indirect cloud.google.com/go/compute v1.19.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect @@ -178,13 +178,8 @@ require ( github.com/iancoleman/orderedmap v0.0.0-20190318233801-ac98e3ecb4b0 // indirect github.com/imdario/mergo v0.3.12 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect - github.com/jackc/chunkreader/v2 v2.0.1 // indirect - github.com/jackc/pgconn v1.14.0 // indirect - github.com/jackc/pgio v1.0.0 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgproto3/v2 v2.3.2 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect - github.com/jackc/pgtype v1.14.0 // indirect github.com/jedisct1/go-minisign v0.0.0-20211028175153-1c139d1cc84b // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -253,7 +248,7 @@ require ( golang.org/x/sys v0.8.0 // indirect golang.org/x/text v0.9.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.8.0 // indirect + golang.org/x/tools v0.8.1-0.20230428195545-5283a0178901 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230530153820-e85fd2cbaebc // indirect diff --git a/go.sum b/go.sum index 22dbce61b..9312719fd 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,6 @@ ariga.io/atlas v0.3.7-0.20220303204946-787354f533c3/go.mod h1:yWGf4VPiD4SW83+kAqzD624txN9VKoJC+bpVXr2pKJA= -ariga.io/atlas v0.9.1 h1:EpoPMnwsQG0vn9c0sYExpwSYtr7bvuSUXzQclU2pMjc= -ariga.io/atlas v0.9.1/go.mod h1:T230JFcENj4ZZzMkZrXFDSkv+2kXkUgpJ5FQQ5hMcKU= +ariga.io/atlas v0.10.2-0.20230427182402-87a07dfb83bf h1:Tq2DRB39ZHScIwWACjPKLv5oEErv7zv6PBb5RTz5CKA= +ariga.io/atlas v0.10.2-0.20230427182402-87a07dfb83bf/go.mod h1:+TR129FJZ5Lvzms6dvCeGWh1yR6hMvmXBhug4hrNIGk= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -73,8 +73,8 @@ cuelang.org/go v0.5.0 h1:D6N0UgTGJCOxFKU8RU+qYvavKNsVc/+ZobmifStVJzU= cuelang.org/go v0.5.0/go.mod h1:okjJBHFQFer+a41sAe2SaGm1glWS8oEb6CmJvn5Zdws= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= entgo.io/ent v0.10.1/go.mod h1:YPgxeLnoQ/YdpVORRtqjBF+wCy9NX9IR7veTv3Bffus= -entgo.io/ent v0.11.9 h1:dbbCkAiPVTRBIJwoZctiSYjB7zxQIBOzVSU5H9VYIQI= -entgo.io/ent v0.11.9/go.mod h1:KWHOcDZn1xk3mz3ipWdKrQpMvwqa/9B69TUuAPP9W6g= +entgo.io/ent v0.12.3 h1:N5lO2EOrHpCH5HYfiMOCHYbo+oh5M8GjT0/cx5x6xkk= +entgo.io/ent v0.12.3/go.mod h1:AigGGx+tbrBBYHAzGOg8ND661E5cxx1Uiu5o/otJ6Yg= filippo.io/edwards25519 v1.0.0 h1:0wAIcmJUqRdI8IJ/3eGi5/HwXZWPujYXXlkrQogz0Ek= github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230329111138-12e09aba5ebd h1:1tbEqR4NyQLgiod7vLXSswHteGetAVZrMGCqrJxLKRs= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= @@ -107,9 +107,6 @@ github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20O github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Microsoft/go-winio v0.6.0 h1:slsWYD/zyx7lCXoZVlvQrj0hPTM1HI4+v1sIda2yDvg= github.com/Microsoft/go-winio v0.6.0/go.mod h1:cTAf44im0RAYeL23bpB+fzCyDH2MJiz2BO69KH/soAE= github.com/Microsoft/hcsshim v0.9.6 h1:VwnDOgLeoi2du6dAznfmspNqTiwczvjv4K7NxuY9jsY= @@ -233,8 +230,6 @@ github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20230310173818-32f1caf87195 h1:58f1tJ1ra+zFINPlwLWvQsR9CzAKt2e+EWV2yX9oXQ4= -github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -251,8 +246,6 @@ github.com/coreos/go-oidc/v3 v3.5.0/go.mod h1:ecXRtV4romGPeO6ieExAsUK9cb/3fp9hXN github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= @@ -468,8 +461,6 @@ github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/E github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= -github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= @@ -707,54 +698,12 @@ github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLf github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= github.com/invopop/jsonschema v0.7.0 h1:2vgQcBz1n256N+FpX3Jq7Y17AjYt46Ig3zIWyy770So= github.com/invopop/jsonschema v0.7.0/go.mod h1:O9uiLokuu0+MGFlyiaqtWxwqJm41/+8Nj0lD7A36YH0= -github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= -github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= -github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= -github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= -github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgconn v1.14.0 h1:vrbA9Ud87g6JdFWkHTJXppVce58qPIdP7N8y0Ml/A7Q= -github.com/jackc/pgconn v1.14.0/go.mod h1:9mBNlny0UvkgJdCDvdVHYSjI+8tD2rnKK69Wz8ti++E= -github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= -github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= -github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.3.2 h1:7eY55bdBeCz1F2fTzSz69QC+pG46jYq9/jtSPiJ5nn0= -github.com/jackc/pgproto3/v2 v2.3.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= -github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= -github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= -github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= -github.com/jackc/pgtype v1.14.0 h1:y+xUdabmyMkJLyApYuPj38mW+aAIqCe5uuBB51rH3Vw= -github.com/jackc/pgtype v1.14.0/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= -github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= -github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= -github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= -github.com/jackc/pgx/v4 v4.18.1 h1:YP7G1KABtKpB5IHrO9vYwSrCOhs7p3uqhvhhQBptya0= -github.com/jackc/pgx/v4 v4.18.1/go.mod h1:FydWkUyadDmdNH/mHnGob881GawxeEm7TcMCzkb+qQE= -github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/pgx/v5 v5.4.1 h1:oKfB/FhuVtit1bBM3zNRRsZ925ZkMN3HXL+LgLUM9lE= +github.com/jackc/pgx/v5 v5.4.1/go.mod h1:q6iHT8uDNXWiFNOlRqJzBTaSH3+2xCXkokxHZC5qWFY= github.com/jedib0t/go-pretty/v6 v6.4.6 h1:v6aG9h6Uby3IusSSEjHaZNXpHFhzqMmjXcPq1Rjl9Jw= github.com/jedib0t/go-pretty/v6 v6.4.6/go.mod h1:Ndk3ase2CkQbXLLNf5QDHoYb6J9WtVfmHZu9n8rk2xs= github.com/jedisct1/go-minisign v0.0.0-20211028175153-1c139d1cc84b h1:ZGiXF8sz7PDk6RgkP+A/SFfUD0ZR/AgG6SpRNEDKZy8= @@ -807,7 +756,6 @@ github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= @@ -818,10 +766,6 @@ github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/letsencrypt/boulder v0.0.0-20221109233200-85aa52084eaf h1:ndns1qx/5dL43g16EQkPV/i8+b3l5bYQwLeoSBe7tS8= github.com/letsencrypt/boulder v0.0.0-20221109233200-85aa52084eaf/go.mod h1:aGkAgvWY/IUcVFfuly53REpfv5edu25oij+qHRFaraA= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.3/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= @@ -842,7 +786,6 @@ github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GW github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -851,8 +794,6 @@ github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxec github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= @@ -1049,11 +990,8 @@ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZV github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.9.0 h1:l9HGsTsHJcvW14Nk7J9KFz8bzeAWXn3CG6bgt7LsrAE= github.com/rs/cors v1.9.0/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= github.com/rs/xid v1.5.0 h1:mKX4bl4iPYJtEIxp6CYiUuLQ/8DYMoz0PUdtGgMFRVc= -github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/rs/zerolog v1.29.0 h1:Zes4hju04hjbvkVkOhdl2HpZa+0PmVwigmo8XoORE5w= github.com/rs/zerolog v1.29.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= @@ -1068,7 +1006,6 @@ github.com/santhosh-tekuri/jsonschema/v5 v5.3.0 h1:uIkTLo0AGRc8l7h5l9r+GcYi9qfVP github.com/santhosh-tekuri/jsonschema/v5 v5.3.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= github.com/sassoftware/relic v7.2.1+incompatible h1:Pwyh1F3I0r4clFJXkSI8bOyJINGqpgjJU3DYAZeI05A= github.com/sassoftware/relic v7.2.1+incompatible/go.mod h1:CWfAxv73/iLZ17rbyhIEq3K9hs5w6FpNMdUT//qR+zk= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seccomp/libseccomp-golang v0.9.2-0.20220502022130-f33da4d89646/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/secure-systems-lab/go-securesystemslib v0.6.0 h1:T65atpAVCJQK14UA57LMdZGpHi4QYSH/9FZyNGqMYIA= @@ -1078,9 +1015,6 @@ github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= github.com/shirou/gopsutil/v3 v3.21.8/go.mod h1:YWp/H8Qs5fVmf17v7JNZzA0mPJ+mS2e9JdiUF9LlKzQ= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= -github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sigstore/cosign/v2 v2.0.2 h1:Ttaj/OkJAy+ummhnHG2F+JSFeZQj8i0P6o8j2RY9NG4= github.com/sigstore/cosign/v2 v2.0.2/go.mod h1:yJXtRmWrumyQA/XPjTTjOufnNckI87mmmVxv9rtEqgE= @@ -1214,7 +1148,6 @@ github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q github.com/zclconf/go-cty v1.8.0 h1:s4AvqaeQzJIu3ndv4gVIhplVD0krU+bgrcLSVUnaWuA= github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= -github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= @@ -1249,7 +1182,6 @@ go.step.sm/crypto v0.30.0 h1:EzqPTvW1g6kxEnfIf/exDW+MhHGeEhtoNMhQX7P/UwI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= @@ -1260,12 +1192,10 @@ go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= @@ -1276,7 +1206,6 @@ go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1288,10 +1217,7 @@ golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -1466,7 +1392,6 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1552,7 +1477,6 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= @@ -1593,7 +1517,6 @@ golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190422233926-fe54fb35175b/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -1601,7 +1524,6 @@ golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1651,10 +1573,8 @@ golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.9-0.20211216111533-8d383106f7e7/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y= -golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= -golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/tools v0.8.1-0.20230428195545-5283a0178901 h1:0wxTF6pSjIIhNt7mo9GvjDfzyCOiWhmICgtO/Ah948s= +golang.org/x/tools v0.8.1-0.20230428195545-5283a0178901/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1851,7 +1771,6 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=