// Code generated by sqlc. DO NOT EDIT. package database import ( "context" "database/sql" "encoding/json" "time" "github.com/google/uuid" "github.com/lib/pq" "github.com/tabbed/pqtype" ) const getAPIKeyByID = `-- name: GetAPIKeyByID :one SELECT id, hashed_secret, user_id, application, name, last_used, expires_at, created_at, updated_at, login_type, oidc_access_token, oidc_refresh_token, oidc_id_token, oidc_expiry, devurl_token FROM api_keys WHERE id = $1 LIMIT 1 ` func (q *sqlQuerier) GetAPIKeyByID(ctx context.Context, id string) (APIKey, error) { row := q.db.QueryRowContext(ctx, getAPIKeyByID, id) var i APIKey err := row.Scan( &i.ID, &i.HashedSecret, &i.UserID, &i.Application, &i.Name, &i.LastUsed, &i.ExpiresAt, &i.CreatedAt, &i.UpdatedAt, &i.LoginType, &i.OIDCAccessToken, &i.OIDCRefreshToken, &i.OIDCIDToken, &i.OIDCExpiry, &i.DevurlToken, ) return i, err } const insertAPIKey = `-- name: InsertAPIKey :one INSERT INTO api_keys ( id, hashed_secret, user_id, application, "name", last_used, expires_at, created_at, updated_at, login_type, oidc_access_token, oidc_refresh_token, oidc_id_token, oidc_expiry, devurl_token ) VALUES ( $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15 ) RETURNING id, hashed_secret, user_id, application, name, last_used, expires_at, created_at, updated_at, login_type, oidc_access_token, oidc_refresh_token, oidc_id_token, oidc_expiry, devurl_token ` type InsertAPIKeyParams struct { ID string `db:"id" json:"id"` HashedSecret []byte `db:"hashed_secret" json:"hashed_secret"` UserID uuid.UUID `db:"user_id" json:"user_id"` Application bool `db:"application" json:"application"` Name string `db:"name" json:"name"` LastUsed time.Time `db:"last_used" json:"last_used"` ExpiresAt time.Time `db:"expires_at" json:"expires_at"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` LoginType LoginType `db:"login_type" json:"login_type"` OIDCAccessToken string `db:"oidc_access_token" json:"oidc_access_token"` OIDCRefreshToken string `db:"oidc_refresh_token" json:"oidc_refresh_token"` OIDCIDToken string `db:"oidc_id_token" json:"oidc_id_token"` OIDCExpiry time.Time `db:"oidc_expiry" json:"oidc_expiry"` DevurlToken bool `db:"devurl_token" json:"devurl_token"` } func (q *sqlQuerier) InsertAPIKey(ctx context.Context, arg InsertAPIKeyParams) (APIKey, error) { row := q.db.QueryRowContext(ctx, insertAPIKey, arg.ID, arg.HashedSecret, arg.UserID, arg.Application, arg.Name, arg.LastUsed, arg.ExpiresAt, arg.CreatedAt, arg.UpdatedAt, arg.LoginType, arg.OIDCAccessToken, arg.OIDCRefreshToken, arg.OIDCIDToken, arg.OIDCExpiry, arg.DevurlToken, ) var i APIKey err := row.Scan( &i.ID, &i.HashedSecret, &i.UserID, &i.Application, &i.Name, &i.LastUsed, &i.ExpiresAt, &i.CreatedAt, &i.UpdatedAt, &i.LoginType, &i.OIDCAccessToken, &i.OIDCRefreshToken, &i.OIDCIDToken, &i.OIDCExpiry, &i.DevurlToken, ) return i, err } const updateAPIKeyByID = `-- name: UpdateAPIKeyByID :exec UPDATE api_keys SET last_used = $2, expires_at = $3, oidc_access_token = $4, oidc_refresh_token = $5, oidc_expiry = $6 WHERE id = $1 ` type UpdateAPIKeyByIDParams struct { ID string `db:"id" json:"id"` LastUsed time.Time `db:"last_used" json:"last_used"` ExpiresAt time.Time `db:"expires_at" json:"expires_at"` OIDCAccessToken string `db:"oidc_access_token" json:"oidc_access_token"` OIDCRefreshToken string `db:"oidc_refresh_token" json:"oidc_refresh_token"` OIDCExpiry time.Time `db:"oidc_expiry" json:"oidc_expiry"` } func (q *sqlQuerier) UpdateAPIKeyByID(ctx context.Context, arg UpdateAPIKeyByIDParams) error { _, err := q.db.ExecContext(ctx, updateAPIKeyByID, arg.ID, arg.LastUsed, arg.ExpiresAt, arg.OIDCAccessToken, arg.OIDCRefreshToken, arg.OIDCExpiry, ) return err } const getFileByHash = `-- name: GetFileByHash :one SELECT hash, created_at, created_by, mimetype, data FROM files WHERE hash = $1 LIMIT 1 ` func (q *sqlQuerier) GetFileByHash(ctx context.Context, hash string) (File, error) { row := q.db.QueryRowContext(ctx, getFileByHash, hash) var i File err := row.Scan( &i.Hash, &i.CreatedAt, &i.CreatedBy, &i.Mimetype, &i.Data, ) return i, err } const insertFile = `-- name: InsertFile :one INSERT INTO files (hash, created_at, created_by, mimetype, "data") VALUES ($1, $2, $3, $4, $5) RETURNING hash, created_at, created_by, mimetype, data ` type InsertFileParams struct { Hash string `db:"hash" json:"hash"` CreatedAt time.Time `db:"created_at" json:"created_at"` CreatedBy uuid.UUID `db:"created_by" json:"created_by"` Mimetype string `db:"mimetype" json:"mimetype"` Data []byte `db:"data" json:"data"` } func (q *sqlQuerier) InsertFile(ctx context.Context, arg InsertFileParams) (File, error) { row := q.db.QueryRowContext(ctx, insertFile, arg.Hash, arg.CreatedAt, arg.CreatedBy, arg.Mimetype, arg.Data, ) var i File err := row.Scan( &i.Hash, &i.CreatedAt, &i.CreatedBy, &i.Mimetype, &i.Data, ) return i, err } const deleteGitSSHKey = `-- name: DeleteGitSSHKey :exec DELETE FROM gitsshkeys WHERE user_id = $1 ` func (q *sqlQuerier) DeleteGitSSHKey(ctx context.Context, userID uuid.UUID) error { _, err := q.db.ExecContext(ctx, deleteGitSSHKey, userID) return err } const getGitSSHKey = `-- name: GetGitSSHKey :one SELECT user_id, created_at, updated_at, private_key, public_key FROM gitsshkeys WHERE user_id = $1 ` func (q *sqlQuerier) GetGitSSHKey(ctx context.Context, userID uuid.UUID) (GitSSHKey, error) { row := q.db.QueryRowContext(ctx, getGitSSHKey, userID) var i GitSSHKey err := row.Scan( &i.UserID, &i.CreatedAt, &i.UpdatedAt, &i.PrivateKey, &i.PublicKey, ) return i, err } const insertGitSSHKey = `-- name: InsertGitSSHKey :one INSERT INTO gitsshkeys ( user_id, created_at, updated_at, private_key, public_key ) VALUES ($1, $2, $3, $4, $5) RETURNING user_id, created_at, updated_at, private_key, public_key ` type InsertGitSSHKeyParams struct { UserID uuid.UUID `db:"user_id" json:"user_id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` PrivateKey string `db:"private_key" json:"private_key"` PublicKey string `db:"public_key" json:"public_key"` } func (q *sqlQuerier) InsertGitSSHKey(ctx context.Context, arg InsertGitSSHKeyParams) (GitSSHKey, error) { row := q.db.QueryRowContext(ctx, insertGitSSHKey, arg.UserID, arg.CreatedAt, arg.UpdatedAt, arg.PrivateKey, arg.PublicKey, ) var i GitSSHKey err := row.Scan( &i.UserID, &i.CreatedAt, &i.UpdatedAt, &i.PrivateKey, &i.PublicKey, ) return i, err } const updateGitSSHKey = `-- name: UpdateGitSSHKey :exec UPDATE gitsshkeys SET updated_at = $2, private_key = $3, public_key = $4 WHERE user_id = $1 ` type UpdateGitSSHKeyParams struct { UserID uuid.UUID `db:"user_id" json:"user_id"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` PrivateKey string `db:"private_key" json:"private_key"` PublicKey string `db:"public_key" json:"public_key"` } func (q *sqlQuerier) UpdateGitSSHKey(ctx context.Context, arg UpdateGitSSHKeyParams) error { _, err := q.db.ExecContext(ctx, updateGitSSHKey, arg.UserID, arg.UpdatedAt, arg.PrivateKey, arg.PublicKey, ) return err } const getOrganizationMemberByUserID = `-- name: GetOrganizationMemberByUserID :one SELECT user_id, organization_id, created_at, updated_at, roles FROM organization_members WHERE organization_id = $1 AND user_id = $2 LIMIT 1 ` type GetOrganizationMemberByUserIDParams struct { OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` UserID uuid.UUID `db:"user_id" json:"user_id"` } func (q *sqlQuerier) GetOrganizationMemberByUserID(ctx context.Context, arg GetOrganizationMemberByUserIDParams) (OrganizationMember, error) { row := q.db.QueryRowContext(ctx, getOrganizationMemberByUserID, arg.OrganizationID, arg.UserID) var i OrganizationMember err := row.Scan( &i.UserID, &i.OrganizationID, &i.CreatedAt, &i.UpdatedAt, pq.Array(&i.Roles), ) return i, err } const insertOrganizationMember = `-- name: InsertOrganizationMember :one INSERT INTO organization_members ( organization_id, user_id, created_at, updated_at, roles ) VALUES ($1, $2, $3, $4, $5) RETURNING user_id, organization_id, created_at, updated_at, roles ` type InsertOrganizationMemberParams struct { OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` UserID uuid.UUID `db:"user_id" json:"user_id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Roles []string `db:"roles" json:"roles"` } func (q *sqlQuerier) InsertOrganizationMember(ctx context.Context, arg InsertOrganizationMemberParams) (OrganizationMember, error) { row := q.db.QueryRowContext(ctx, insertOrganizationMember, arg.OrganizationID, arg.UserID, arg.CreatedAt, arg.UpdatedAt, pq.Array(arg.Roles), ) var i OrganizationMember err := row.Scan( &i.UserID, &i.OrganizationID, &i.CreatedAt, &i.UpdatedAt, pq.Array(&i.Roles), ) return i, err } const getOrganizationByID = `-- name: GetOrganizationByID :one SELECT id, name, description, created_at, updated_at FROM organizations WHERE id = $1 ` func (q *sqlQuerier) GetOrganizationByID(ctx context.Context, id uuid.UUID) (Organization, error) { row := q.db.QueryRowContext(ctx, getOrganizationByID, id) var i Organization err := row.Scan( &i.ID, &i.Name, &i.Description, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const getOrganizationByName = `-- name: GetOrganizationByName :one SELECT id, name, description, created_at, updated_at FROM organizations WHERE LOWER("name") = LOWER($1) LIMIT 1 ` func (q *sqlQuerier) GetOrganizationByName(ctx context.Context, name string) (Organization, error) { row := q.db.QueryRowContext(ctx, getOrganizationByName, name) var i Organization err := row.Scan( &i.ID, &i.Name, &i.Description, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const getOrganizationsByUserID = `-- name: GetOrganizationsByUserID :many SELECT id, name, description, created_at, updated_at FROM organizations WHERE id = ( SELECT organization_id FROM organization_members WHERE user_id = $1 ) ` func (q *sqlQuerier) GetOrganizationsByUserID(ctx context.Context, userID uuid.UUID) ([]Organization, error) { rows, err := q.db.QueryContext(ctx, getOrganizationsByUserID, userID) if err != nil { return nil, err } defer rows.Close() var items []Organization for rows.Next() { var i Organization if err := rows.Scan( &i.ID, &i.Name, &i.Description, &i.CreatedAt, &i.UpdatedAt, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertOrganization = `-- name: InsertOrganization :one INSERT INTO organizations (id, "name", description, created_at, updated_at) VALUES ($1, $2, $3, $4, $5) RETURNING id, name, description, created_at, updated_at ` type InsertOrganizationParams struct { ID uuid.UUID `db:"id" json:"id"` Name string `db:"name" json:"name"` Description string `db:"description" json:"description"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` } func (q *sqlQuerier) InsertOrganization(ctx context.Context, arg InsertOrganizationParams) (Organization, error) { row := q.db.QueryRowContext(ctx, insertOrganization, arg.ID, arg.Name, arg.Description, arg.CreatedAt, arg.UpdatedAt, ) var i Organization err := row.Scan( &i.ID, &i.Name, &i.Description, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const getParameterSchemasByJobID = `-- name: GetParameterSchemasByJobID :many SELECT id, created_at, job_id, name, description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type FROM parameter_schemas WHERE job_id = $1 ` func (q *sqlQuerier) GetParameterSchemasByJobID(ctx context.Context, jobID uuid.UUID) ([]ParameterSchema, error) { rows, err := q.db.QueryContext(ctx, getParameterSchemasByJobID, jobID) if err != nil { return nil, err } defer rows.Close() var items []ParameterSchema for rows.Next() { var i ParameterSchema if err := rows.Scan( &i.ID, &i.CreatedAt, &i.JobID, &i.Name, &i.Description, &i.DefaultSourceScheme, &i.DefaultSourceValue, &i.AllowOverrideSource, &i.DefaultDestinationScheme, &i.AllowOverrideDestination, &i.DefaultRefresh, &i.RedisplayValue, &i.ValidationError, &i.ValidationCondition, &i.ValidationTypeSystem, &i.ValidationValueType, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertParameterSchema = `-- name: InsertParameterSchema :one INSERT INTO parameter_schemas ( id, created_at, job_id, "name", description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type ) VALUES ( $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16 ) RETURNING id, created_at, job_id, name, description, default_source_scheme, default_source_value, allow_override_source, default_destination_scheme, allow_override_destination, default_refresh, redisplay_value, validation_error, validation_condition, validation_type_system, validation_value_type ` type InsertParameterSchemaParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` JobID uuid.UUID `db:"job_id" json:"job_id"` Name string `db:"name" json:"name"` Description string `db:"description" json:"description"` DefaultSourceScheme ParameterSourceScheme `db:"default_source_scheme" json:"default_source_scheme"` DefaultSourceValue string `db:"default_source_value" json:"default_source_value"` AllowOverrideSource bool `db:"allow_override_source" json:"allow_override_source"` DefaultDestinationScheme ParameterDestinationScheme `db:"default_destination_scheme" json:"default_destination_scheme"` AllowOverrideDestination bool `db:"allow_override_destination" json:"allow_override_destination"` DefaultRefresh string `db:"default_refresh" json:"default_refresh"` RedisplayValue bool `db:"redisplay_value" json:"redisplay_value"` ValidationError string `db:"validation_error" json:"validation_error"` ValidationCondition string `db:"validation_condition" json:"validation_condition"` ValidationTypeSystem ParameterTypeSystem `db:"validation_type_system" json:"validation_type_system"` ValidationValueType string `db:"validation_value_type" json:"validation_value_type"` } func (q *sqlQuerier) InsertParameterSchema(ctx context.Context, arg InsertParameterSchemaParams) (ParameterSchema, error) { row := q.db.QueryRowContext(ctx, insertParameterSchema, arg.ID, arg.CreatedAt, arg.JobID, arg.Name, arg.Description, arg.DefaultSourceScheme, arg.DefaultSourceValue, arg.AllowOverrideSource, arg.DefaultDestinationScheme, arg.AllowOverrideDestination, arg.DefaultRefresh, arg.RedisplayValue, arg.ValidationError, arg.ValidationCondition, arg.ValidationTypeSystem, arg.ValidationValueType, ) var i ParameterSchema err := row.Scan( &i.ID, &i.CreatedAt, &i.JobID, &i.Name, &i.Description, &i.DefaultSourceScheme, &i.DefaultSourceValue, &i.AllowOverrideSource, &i.DefaultDestinationScheme, &i.AllowOverrideDestination, &i.DefaultRefresh, &i.RedisplayValue, &i.ValidationError, &i.ValidationCondition, &i.ValidationTypeSystem, &i.ValidationValueType, ) return i, err } const deleteParameterValueByID = `-- name: DeleteParameterValueByID :exec DELETE FROM parameter_values WHERE id = $1 ` func (q *sqlQuerier) DeleteParameterValueByID(ctx context.Context, id uuid.UUID) error { _, err := q.db.ExecContext(ctx, deleteParameterValueByID, id) return err } const getParameterValueByScopeAndName = `-- name: GetParameterValueByScopeAndName :one SELECT id, created_at, updated_at, scope, scope_id, name, source_scheme, source_value, destination_scheme FROM parameter_values WHERE scope = $1 AND scope_id = $2 AND NAME = $3 LIMIT 1 ` type GetParameterValueByScopeAndNameParams struct { Scope ParameterScope `db:"scope" json:"scope"` ScopeID uuid.UUID `db:"scope_id" json:"scope_id"` Name string `db:"name" json:"name"` } func (q *sqlQuerier) GetParameterValueByScopeAndName(ctx context.Context, arg GetParameterValueByScopeAndNameParams) (ParameterValue, error) { row := q.db.QueryRowContext(ctx, getParameterValueByScopeAndName, arg.Scope, arg.ScopeID, arg.Name) var i ParameterValue err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Scope, &i.ScopeID, &i.Name, &i.SourceScheme, &i.SourceValue, &i.DestinationScheme, ) return i, err } const getParameterValuesByScope = `-- name: GetParameterValuesByScope :many SELECT id, created_at, updated_at, scope, scope_id, name, source_scheme, source_value, destination_scheme FROM parameter_values WHERE scope = $1 AND scope_id = $2 ` type GetParameterValuesByScopeParams struct { Scope ParameterScope `db:"scope" json:"scope"` ScopeID uuid.UUID `db:"scope_id" json:"scope_id"` } func (q *sqlQuerier) GetParameterValuesByScope(ctx context.Context, arg GetParameterValuesByScopeParams) ([]ParameterValue, error) { rows, err := q.db.QueryContext(ctx, getParameterValuesByScope, arg.Scope, arg.ScopeID) if err != nil { return nil, err } defer rows.Close() var items []ParameterValue for rows.Next() { var i ParameterValue if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Scope, &i.ScopeID, &i.Name, &i.SourceScheme, &i.SourceValue, &i.DestinationScheme, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertParameterValue = `-- name: InsertParameterValue :one INSERT INTO parameter_values ( id, "name", created_at, updated_at, scope, scope_id, source_scheme, source_value, destination_scheme ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING id, created_at, updated_at, scope, scope_id, name, source_scheme, source_value, destination_scheme ` type InsertParameterValueParams struct { ID uuid.UUID `db:"id" json:"id"` Name string `db:"name" json:"name"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Scope ParameterScope `db:"scope" json:"scope"` ScopeID uuid.UUID `db:"scope_id" json:"scope_id"` SourceScheme ParameterSourceScheme `db:"source_scheme" json:"source_scheme"` SourceValue string `db:"source_value" json:"source_value"` DestinationScheme ParameterDestinationScheme `db:"destination_scheme" json:"destination_scheme"` } func (q *sqlQuerier) InsertParameterValue(ctx context.Context, arg InsertParameterValueParams) (ParameterValue, error) { row := q.db.QueryRowContext(ctx, insertParameterValue, arg.ID, arg.Name, arg.CreatedAt, arg.UpdatedAt, arg.Scope, arg.ScopeID, arg.SourceScheme, arg.SourceValue, arg.DestinationScheme, ) var i ParameterValue err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.Scope, &i.ScopeID, &i.Name, &i.SourceScheme, &i.SourceValue, &i.DestinationScheme, ) return i, err } const getProvisionerDaemonByID = `-- name: GetProvisionerDaemonByID :one SELECT id, created_at, updated_at, organization_id, name, provisioners FROM provisioner_daemons WHERE id = $1 ` func (q *sqlQuerier) GetProvisionerDaemonByID(ctx context.Context, id uuid.UUID) (ProvisionerDaemon, error) { row := q.db.QueryRowContext(ctx, getProvisionerDaemonByID, id) var i ProvisionerDaemon err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Name, pq.Array(&i.Provisioners), ) return i, err } const getProvisionerDaemons = `-- name: GetProvisionerDaemons :many SELECT id, created_at, updated_at, organization_id, name, provisioners FROM provisioner_daemons ` func (q *sqlQuerier) GetProvisionerDaemons(ctx context.Context) ([]ProvisionerDaemon, error) { rows, err := q.db.QueryContext(ctx, getProvisionerDaemons) if err != nil { return nil, err } defer rows.Close() var items []ProvisionerDaemon for rows.Next() { var i ProvisionerDaemon if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Name, pq.Array(&i.Provisioners), ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertProvisionerDaemon = `-- name: InsertProvisionerDaemon :one INSERT INTO provisioner_daemons ( id, created_at, organization_id, "name", provisioners ) VALUES ($1, $2, $3, $4, $5) RETURNING id, created_at, updated_at, organization_id, name, provisioners ` type InsertProvisionerDaemonParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` OrganizationID uuid.NullUUID `db:"organization_id" json:"organization_id"` Name string `db:"name" json:"name"` Provisioners []ProvisionerType `db:"provisioners" json:"provisioners"` } func (q *sqlQuerier) InsertProvisionerDaemon(ctx context.Context, arg InsertProvisionerDaemonParams) (ProvisionerDaemon, error) { row := q.db.QueryRowContext(ctx, insertProvisionerDaemon, arg.ID, arg.CreatedAt, arg.OrganizationID, arg.Name, pq.Array(arg.Provisioners), ) var i ProvisionerDaemon err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Name, pq.Array(&i.Provisioners), ) return i, err } const updateProvisionerDaemonByID = `-- name: UpdateProvisionerDaemonByID :exec UPDATE provisioner_daemons SET updated_at = $2, provisioners = $3 WHERE id = $1 ` type UpdateProvisionerDaemonByIDParams struct { ID uuid.UUID `db:"id" json:"id"` UpdatedAt sql.NullTime `db:"updated_at" json:"updated_at"` Provisioners []ProvisionerType `db:"provisioners" json:"provisioners"` } func (q *sqlQuerier) UpdateProvisionerDaemonByID(ctx context.Context, arg UpdateProvisionerDaemonByIDParams) error { _, err := q.db.ExecContext(ctx, updateProvisionerDaemonByID, arg.ID, arg.UpdatedAt, pq.Array(arg.Provisioners)) return err } const getProvisionerLogsByIDBetween = `-- name: GetProvisionerLogsByIDBetween :many SELECT id, job_id, created_at, source, level, stage, output FROM provisioner_job_logs WHERE job_id = $1 AND ( created_at >= $2 OR created_at <= $3 ) ORDER BY created_at DESC ` type GetProvisionerLogsByIDBetweenParams struct { JobID uuid.UUID `db:"job_id" json:"job_id"` CreatedAfter time.Time `db:"created_after" json:"created_after"` CreatedBefore time.Time `db:"created_before" json:"created_before"` } func (q *sqlQuerier) GetProvisionerLogsByIDBetween(ctx context.Context, arg GetProvisionerLogsByIDBetweenParams) ([]ProvisionerJobLog, error) { rows, err := q.db.QueryContext(ctx, getProvisionerLogsByIDBetween, arg.JobID, arg.CreatedAfter, arg.CreatedBefore) if err != nil { return nil, err } defer rows.Close() var items []ProvisionerJobLog for rows.Next() { var i ProvisionerJobLog if err := rows.Scan( &i.ID, &i.JobID, &i.CreatedAt, &i.Source, &i.Level, &i.Stage, &i.Output, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertProvisionerJobLogs = `-- name: InsertProvisionerJobLogs :many INSERT INTO provisioner_job_logs SELECT unnest($1 :: uuid [ ]) AS id, $2 :: uuid AS job_id, unnest($3 :: timestamptz [ ]) AS created_at, unnest($4 :: log_source [ ]) AS source, unnest($5 :: log_level [ ]) AS LEVEL, unnest($6 :: VARCHAR(128) [ ]) AS stage, unnest($7 :: VARCHAR(1024) [ ]) AS output RETURNING id, job_id, created_at, source, level, stage, output ` type InsertProvisionerJobLogsParams struct { ID []uuid.UUID `db:"id" json:"id"` JobID uuid.UUID `db:"job_id" json:"job_id"` CreatedAt []time.Time `db:"created_at" json:"created_at"` Source []LogSource `db:"source" json:"source"` Level []LogLevel `db:"level" json:"level"` Stage []string `db:"stage" json:"stage"` Output []string `db:"output" json:"output"` } func (q *sqlQuerier) InsertProvisionerJobLogs(ctx context.Context, arg InsertProvisionerJobLogsParams) ([]ProvisionerJobLog, error) { rows, err := q.db.QueryContext(ctx, insertProvisionerJobLogs, pq.Array(arg.ID), arg.JobID, pq.Array(arg.CreatedAt), pq.Array(arg.Source), pq.Array(arg.Level), pq.Array(arg.Stage), pq.Array(arg.Output), ) if err != nil { return nil, err } defer rows.Close() var items []ProvisionerJobLog for rows.Next() { var i ProvisionerJobLog if err := rows.Scan( &i.ID, &i.JobID, &i.CreatedAt, &i.Source, &i.Level, &i.Stage, &i.Output, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const acquireProvisionerJob = `-- name: AcquireProvisionerJob :one UPDATE provisioner_jobs SET started_at = $1, updated_at = $1, worker_id = $2 WHERE id = ( SELECT id FROM provisioner_jobs AS nested WHERE nested.started_at IS NULL AND nested.canceled_at IS NULL AND nested.completed_at IS NULL AND nested.provisioner = ANY($3 :: provisioner_type [ ]) ORDER BY nested.created_at FOR UPDATE SKIP LOCKED LIMIT 1 ) RETURNING id, created_at, updated_at, started_at, canceled_at, completed_at, error, organization_id, initiator_id, provisioner, storage_method, storage_source, type, input, worker_id ` type AcquireProvisionerJobParams struct { StartedAt sql.NullTime `db:"started_at" json:"started_at"` WorkerID uuid.NullUUID `db:"worker_id" json:"worker_id"` Types []ProvisionerType `db:"types" json:"types"` } // Acquires the lock for a single job that isn't started, completed, // canceled, and that matches an array of provisioner types. // // SKIP LOCKED is used to jump over locked rows. This prevents // multiple provisioners from acquiring the same jobs. See: // https://www.postgresql.org/docs/9.5/sql-select.html#SQL-FOR-UPDATE-SHARE func (q *sqlQuerier) AcquireProvisionerJob(ctx context.Context, arg AcquireProvisionerJobParams) (ProvisionerJob, error) { row := q.db.QueryRowContext(ctx, acquireProvisionerJob, arg.StartedAt, arg.WorkerID, pq.Array(arg.Types)) var i ProvisionerJob err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.StartedAt, &i.CanceledAt, &i.CompletedAt, &i.Error, &i.OrganizationID, &i.InitiatorID, &i.Provisioner, &i.StorageMethod, &i.StorageSource, &i.Type, &i.Input, &i.WorkerID, ) return i, err } const getProvisionerJobByID = `-- name: GetProvisionerJobByID :one SELECT id, created_at, updated_at, started_at, canceled_at, completed_at, error, organization_id, initiator_id, provisioner, storage_method, storage_source, type, input, worker_id FROM provisioner_jobs WHERE id = $1 ` func (q *sqlQuerier) GetProvisionerJobByID(ctx context.Context, id uuid.UUID) (ProvisionerJob, error) { row := q.db.QueryRowContext(ctx, getProvisionerJobByID, id) var i ProvisionerJob err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.StartedAt, &i.CanceledAt, &i.CompletedAt, &i.Error, &i.OrganizationID, &i.InitiatorID, &i.Provisioner, &i.StorageMethod, &i.StorageSource, &i.Type, &i.Input, &i.WorkerID, ) return i, err } const getProvisionerJobsByIDs = `-- name: GetProvisionerJobsByIDs :many SELECT id, created_at, updated_at, started_at, canceled_at, completed_at, error, organization_id, initiator_id, provisioner, storage_method, storage_source, type, input, worker_id FROM provisioner_jobs WHERE id = ANY($1 :: uuid [ ]) ` func (q *sqlQuerier) GetProvisionerJobsByIDs(ctx context.Context, ids []uuid.UUID) ([]ProvisionerJob, error) { rows, err := q.db.QueryContext(ctx, getProvisionerJobsByIDs, pq.Array(ids)) if err != nil { return nil, err } defer rows.Close() var items []ProvisionerJob for rows.Next() { var i ProvisionerJob if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.StartedAt, &i.CanceledAt, &i.CompletedAt, &i.Error, &i.OrganizationID, &i.InitiatorID, &i.Provisioner, &i.StorageMethod, &i.StorageSource, &i.Type, &i.Input, &i.WorkerID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertProvisionerJob = `-- name: InsertProvisionerJob :one INSERT INTO provisioner_jobs ( id, created_at, updated_at, organization_id, initiator_id, provisioner, storage_method, storage_source, "type", "input" ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING id, created_at, updated_at, started_at, canceled_at, completed_at, error, organization_id, initiator_id, provisioner, storage_method, storage_source, type, input, worker_id ` type InsertProvisionerJobParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` InitiatorID uuid.UUID `db:"initiator_id" json:"initiator_id"` Provisioner ProvisionerType `db:"provisioner" json:"provisioner"` StorageMethod ProvisionerStorageMethod `db:"storage_method" json:"storage_method"` StorageSource string `db:"storage_source" json:"storage_source"` Type ProvisionerJobType `db:"type" json:"type"` Input json.RawMessage `db:"input" json:"input"` } func (q *sqlQuerier) InsertProvisionerJob(ctx context.Context, arg InsertProvisionerJobParams) (ProvisionerJob, error) { row := q.db.QueryRowContext(ctx, insertProvisionerJob, arg.ID, arg.CreatedAt, arg.UpdatedAt, arg.OrganizationID, arg.InitiatorID, arg.Provisioner, arg.StorageMethod, arg.StorageSource, arg.Type, arg.Input, ) var i ProvisionerJob err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.StartedAt, &i.CanceledAt, &i.CompletedAt, &i.Error, &i.OrganizationID, &i.InitiatorID, &i.Provisioner, &i.StorageMethod, &i.StorageSource, &i.Type, &i.Input, &i.WorkerID, ) return i, err } const updateProvisionerJobByID = `-- name: UpdateProvisionerJobByID :exec UPDATE provisioner_jobs SET updated_at = $2 WHERE id = $1 ` type UpdateProvisionerJobByIDParams struct { ID uuid.UUID `db:"id" json:"id"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` } func (q *sqlQuerier) UpdateProvisionerJobByID(ctx context.Context, arg UpdateProvisionerJobByIDParams) error { _, err := q.db.ExecContext(ctx, updateProvisionerJobByID, arg.ID, arg.UpdatedAt) return err } const updateProvisionerJobWithCancelByID = `-- name: UpdateProvisionerJobWithCancelByID :exec UPDATE provisioner_jobs SET canceled_at = $2 WHERE id = $1 ` type UpdateProvisionerJobWithCancelByIDParams struct { ID uuid.UUID `db:"id" json:"id"` CanceledAt sql.NullTime `db:"canceled_at" json:"canceled_at"` } func (q *sqlQuerier) UpdateProvisionerJobWithCancelByID(ctx context.Context, arg UpdateProvisionerJobWithCancelByIDParams) error { _, err := q.db.ExecContext(ctx, updateProvisionerJobWithCancelByID, arg.ID, arg.CanceledAt) return err } const updateProvisionerJobWithCompleteByID = `-- name: UpdateProvisionerJobWithCompleteByID :exec UPDATE provisioner_jobs SET updated_at = $2, completed_at = $3, error = $4 WHERE id = $1 ` type UpdateProvisionerJobWithCompleteByIDParams struct { ID uuid.UUID `db:"id" json:"id"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` CompletedAt sql.NullTime `db:"completed_at" json:"completed_at"` Error sql.NullString `db:"error" json:"error"` } func (q *sqlQuerier) UpdateProvisionerJobWithCompleteByID(ctx context.Context, arg UpdateProvisionerJobWithCompleteByIDParams) error { _, err := q.db.ExecContext(ctx, updateProvisionerJobWithCompleteByID, arg.ID, arg.UpdatedAt, arg.CompletedAt, arg.Error, ) return err } const getTemplateByID = `-- name: GetTemplateByID :one SELECT id, created_at, updated_at, organization_id, deleted, name, provisioner, active_version_id FROM templates WHERE id = $1 LIMIT 1 ` func (q *sqlQuerier) GetTemplateByID(ctx context.Context, id uuid.UUID) (Template, error) { row := q.db.QueryRowContext(ctx, getTemplateByID, id) var i Template err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Deleted, &i.Name, &i.Provisioner, &i.ActiveVersionID, ) return i, err } const getTemplateByOrganizationAndName = `-- name: GetTemplateByOrganizationAndName :one SELECT id, created_at, updated_at, organization_id, deleted, name, provisioner, active_version_id FROM templates WHERE organization_id = $1 AND deleted = $2 AND LOWER("name") = LOWER($3) LIMIT 1 ` type GetTemplateByOrganizationAndNameParams struct { OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` Deleted bool `db:"deleted" json:"deleted"` Name string `db:"name" json:"name"` } func (q *sqlQuerier) GetTemplateByOrganizationAndName(ctx context.Context, arg GetTemplateByOrganizationAndNameParams) (Template, error) { row := q.db.QueryRowContext(ctx, getTemplateByOrganizationAndName, arg.OrganizationID, arg.Deleted, arg.Name) var i Template err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Deleted, &i.Name, &i.Provisioner, &i.ActiveVersionID, ) return i, err } const getTemplatesByIDs = `-- name: GetTemplatesByIDs :many SELECT id, created_at, updated_at, organization_id, deleted, name, provisioner, active_version_id FROM templates WHERE id = ANY($1 :: uuid [ ]) ` func (q *sqlQuerier) GetTemplatesByIDs(ctx context.Context, ids []uuid.UUID) ([]Template, error) { rows, err := q.db.QueryContext(ctx, getTemplatesByIDs, pq.Array(ids)) if err != nil { return nil, err } defer rows.Close() var items []Template for rows.Next() { var i Template if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Deleted, &i.Name, &i.Provisioner, &i.ActiveVersionID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getTemplatesByOrganization = `-- name: GetTemplatesByOrganization :many SELECT id, created_at, updated_at, organization_id, deleted, name, provisioner, active_version_id FROM templates WHERE organization_id = $1 AND deleted = $2 ` type GetTemplatesByOrganizationParams struct { OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` Deleted bool `db:"deleted" json:"deleted"` } func (q *sqlQuerier) GetTemplatesByOrganization(ctx context.Context, arg GetTemplatesByOrganizationParams) ([]Template, error) { rows, err := q.db.QueryContext(ctx, getTemplatesByOrganization, arg.OrganizationID, arg.Deleted) if err != nil { return nil, err } defer rows.Close() var items []Template for rows.Next() { var i Template if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Deleted, &i.Name, &i.Provisioner, &i.ActiveVersionID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertTemplate = `-- name: InsertTemplate :one INSERT INTO templates ( id, created_at, updated_at, organization_id, "name", provisioner, active_version_id ) VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING id, created_at, updated_at, organization_id, deleted, name, provisioner, active_version_id ` type InsertTemplateParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` Name string `db:"name" json:"name"` Provisioner ProvisionerType `db:"provisioner" json:"provisioner"` ActiveVersionID uuid.UUID `db:"active_version_id" json:"active_version_id"` } func (q *sqlQuerier) InsertTemplate(ctx context.Context, arg InsertTemplateParams) (Template, error) { row := q.db.QueryRowContext(ctx, insertTemplate, arg.ID, arg.CreatedAt, arg.UpdatedAt, arg.OrganizationID, arg.Name, arg.Provisioner, arg.ActiveVersionID, ) var i Template err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OrganizationID, &i.Deleted, &i.Name, &i.Provisioner, &i.ActiveVersionID, ) return i, err } const updateTemplateActiveVersionByID = `-- name: UpdateTemplateActiveVersionByID :exec UPDATE templates SET active_version_id = $2 WHERE id = $1 ` type UpdateTemplateActiveVersionByIDParams struct { ID uuid.UUID `db:"id" json:"id"` ActiveVersionID uuid.UUID `db:"active_version_id" json:"active_version_id"` } func (q *sqlQuerier) UpdateTemplateActiveVersionByID(ctx context.Context, arg UpdateTemplateActiveVersionByIDParams) error { _, err := q.db.ExecContext(ctx, updateTemplateActiveVersionByID, arg.ID, arg.ActiveVersionID) return err } const updateTemplateDeletedByID = `-- name: UpdateTemplateDeletedByID :exec UPDATE templates SET deleted = $2 WHERE id = $1 ` type UpdateTemplateDeletedByIDParams struct { ID uuid.UUID `db:"id" json:"id"` Deleted bool `db:"deleted" json:"deleted"` } func (q *sqlQuerier) UpdateTemplateDeletedByID(ctx context.Context, arg UpdateTemplateDeletedByIDParams) error { _, err := q.db.ExecContext(ctx, updateTemplateDeletedByID, arg.ID, arg.Deleted) return err } const getTemplateVersionByID = `-- name: GetTemplateVersionByID :one SELECT id, template_id, organization_id, created_at, updated_at, name, description, job_id FROM template_versions WHERE id = $1 ` func (q *sqlQuerier) GetTemplateVersionByID(ctx context.Context, id uuid.UUID) (TemplateVersion, error) { row := q.db.QueryRowContext(ctx, getTemplateVersionByID, id) var i TemplateVersion err := row.Scan( &i.ID, &i.TemplateID, &i.OrganizationID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Description, &i.JobID, ) return i, err } const getTemplateVersionByJobID = `-- name: GetTemplateVersionByJobID :one SELECT id, template_id, organization_id, created_at, updated_at, name, description, job_id FROM template_versions WHERE job_id = $1 ` func (q *sqlQuerier) GetTemplateVersionByJobID(ctx context.Context, jobID uuid.UUID) (TemplateVersion, error) { row := q.db.QueryRowContext(ctx, getTemplateVersionByJobID, jobID) var i TemplateVersion err := row.Scan( &i.ID, &i.TemplateID, &i.OrganizationID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Description, &i.JobID, ) return i, err } const getTemplateVersionByTemplateIDAndName = `-- name: GetTemplateVersionByTemplateIDAndName :one SELECT id, template_id, organization_id, created_at, updated_at, name, description, job_id FROM template_versions WHERE template_id = $1 AND "name" = $2 ` type GetTemplateVersionByTemplateIDAndNameParams struct { TemplateID uuid.NullUUID `db:"template_id" json:"template_id"` Name string `db:"name" json:"name"` } func (q *sqlQuerier) GetTemplateVersionByTemplateIDAndName(ctx context.Context, arg GetTemplateVersionByTemplateIDAndNameParams) (TemplateVersion, error) { row := q.db.QueryRowContext(ctx, getTemplateVersionByTemplateIDAndName, arg.TemplateID, arg.Name) var i TemplateVersion err := row.Scan( &i.ID, &i.TemplateID, &i.OrganizationID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Description, &i.JobID, ) return i, err } const getTemplateVersionsByTemplateID = `-- name: GetTemplateVersionsByTemplateID :many SELECT id, template_id, organization_id, created_at, updated_at, name, description, job_id FROM template_versions WHERE template_id = $1 :: uuid ` func (q *sqlQuerier) GetTemplateVersionsByTemplateID(ctx context.Context, dollar_1 uuid.UUID) ([]TemplateVersion, error) { rows, err := q.db.QueryContext(ctx, getTemplateVersionsByTemplateID, dollar_1) if err != nil { return nil, err } defer rows.Close() var items []TemplateVersion for rows.Next() { var i TemplateVersion if err := rows.Scan( &i.ID, &i.TemplateID, &i.OrganizationID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Description, &i.JobID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertTemplateVersion = `-- name: InsertTemplateVersion :one INSERT INTO template_versions ( id, template_id, organization_id, created_at, updated_at, "name", description, job_id ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING id, template_id, organization_id, created_at, updated_at, name, description, job_id ` type InsertTemplateVersionParams struct { ID uuid.UUID `db:"id" json:"id"` TemplateID uuid.NullUUID `db:"template_id" json:"template_id"` OrganizationID uuid.UUID `db:"organization_id" json:"organization_id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Name string `db:"name" json:"name"` Description string `db:"description" json:"description"` JobID uuid.UUID `db:"job_id" json:"job_id"` } func (q *sqlQuerier) InsertTemplateVersion(ctx context.Context, arg InsertTemplateVersionParams) (TemplateVersion, error) { row := q.db.QueryRowContext(ctx, insertTemplateVersion, arg.ID, arg.TemplateID, arg.OrganizationID, arg.CreatedAt, arg.UpdatedAt, arg.Name, arg.Description, arg.JobID, ) var i TemplateVersion err := row.Scan( &i.ID, &i.TemplateID, &i.OrganizationID, &i.CreatedAt, &i.UpdatedAt, &i.Name, &i.Description, &i.JobID, ) return i, err } const updateTemplateVersionByID = `-- name: UpdateTemplateVersionByID :exec UPDATE template_versions SET template_id = $2, updated_at = $3 WHERE id = $1 ` type UpdateTemplateVersionByIDParams struct { ID uuid.UUID `db:"id" json:"id"` TemplateID uuid.NullUUID `db:"template_id" json:"template_id"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` } func (q *sqlQuerier) UpdateTemplateVersionByID(ctx context.Context, arg UpdateTemplateVersionByIDParams) error { _, err := q.db.ExecContext(ctx, updateTemplateVersionByID, arg.ID, arg.TemplateID, arg.UpdatedAt) return err } const getUserByEmailOrUsername = `-- name: GetUserByEmailOrUsername :one SELECT id, email, name, revoked, login_type, hashed_password, created_at, updated_at, username FROM users WHERE LOWER(username) = LOWER($1) OR email = $2 LIMIT 1 ` type GetUserByEmailOrUsernameParams struct { Username string `db:"username" json:"username"` Email string `db:"email" json:"email"` } func (q *sqlQuerier) GetUserByEmailOrUsername(ctx context.Context, arg GetUserByEmailOrUsernameParams) (User, error) { row := q.db.QueryRowContext(ctx, getUserByEmailOrUsername, arg.Username, arg.Email) var i User err := row.Scan( &i.ID, &i.Email, &i.Name, &i.Revoked, &i.LoginType, &i.HashedPassword, &i.CreatedAt, &i.UpdatedAt, &i.Username, ) return i, err } const getUserByID = `-- name: GetUserByID :one SELECT id, email, name, revoked, login_type, hashed_password, created_at, updated_at, username FROM users WHERE id = $1 LIMIT 1 ` func (q *sqlQuerier) GetUserByID(ctx context.Context, id uuid.UUID) (User, error) { row := q.db.QueryRowContext(ctx, getUserByID, id) var i User err := row.Scan( &i.ID, &i.Email, &i.Name, &i.Revoked, &i.LoginType, &i.HashedPassword, &i.CreatedAt, &i.UpdatedAt, &i.Username, ) return i, err } const getUserCount = `-- name: GetUserCount :one SELECT COUNT(*) FROM users ` func (q *sqlQuerier) GetUserCount(ctx context.Context) (int64, error) { row := q.db.QueryRowContext(ctx, getUserCount) var count int64 err := row.Scan(&count) return count, err } const insertUser = `-- name: InsertUser :one INSERT INTO users ( id, email, "name", login_type, revoked, hashed_password, created_at, updated_at, username ) VALUES ($1, $2, $3, $4, FALSE, $5, $6, $7, $8) RETURNING id, email, name, revoked, login_type, hashed_password, created_at, updated_at, username ` type InsertUserParams struct { ID uuid.UUID `db:"id" json:"id"` Email string `db:"email" json:"email"` Name string `db:"name" json:"name"` LoginType LoginType `db:"login_type" json:"login_type"` HashedPassword []byte `db:"hashed_password" json:"hashed_password"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` Username string `db:"username" json:"username"` } func (q *sqlQuerier) InsertUser(ctx context.Context, arg InsertUserParams) (User, error) { row := q.db.QueryRowContext(ctx, insertUser, arg.ID, arg.Email, arg.Name, arg.LoginType, arg.HashedPassword, arg.CreatedAt, arg.UpdatedAt, arg.Username, ) var i User err := row.Scan( &i.ID, &i.Email, &i.Name, &i.Revoked, &i.LoginType, &i.HashedPassword, &i.CreatedAt, &i.UpdatedAt, &i.Username, ) return i, err } const getWorkspaceAgentByAuthToken = `-- name: GetWorkspaceAgentByAuthToken :one SELECT id, created_at, updated_at, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata FROM workspace_agents WHERE auth_token = $1 ORDER BY created_at DESC ` func (q *sqlQuerier) GetWorkspaceAgentByAuthToken(ctx context.Context, authToken uuid.UUID) (WorkspaceAgent, error) { row := q.db.QueryRowContext(ctx, getWorkspaceAgentByAuthToken, authToken) var i WorkspaceAgent err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.FirstConnectedAt, &i.LastConnectedAt, &i.DisconnectedAt, &i.ResourceID, &i.AuthToken, &i.AuthInstanceID, &i.EnvironmentVariables, &i.StartupScript, &i.InstanceMetadata, &i.ResourceMetadata, ) return i, err } const getWorkspaceAgentByInstanceID = `-- name: GetWorkspaceAgentByInstanceID :one SELECT id, created_at, updated_at, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata FROM workspace_agents WHERE auth_instance_id = $1 :: TEXT ORDER BY created_at DESC ` func (q *sqlQuerier) GetWorkspaceAgentByInstanceID(ctx context.Context, authInstanceID string) (WorkspaceAgent, error) { row := q.db.QueryRowContext(ctx, getWorkspaceAgentByInstanceID, authInstanceID) var i WorkspaceAgent err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.FirstConnectedAt, &i.LastConnectedAt, &i.DisconnectedAt, &i.ResourceID, &i.AuthToken, &i.AuthInstanceID, &i.EnvironmentVariables, &i.StartupScript, &i.InstanceMetadata, &i.ResourceMetadata, ) return i, err } const getWorkspaceAgentByResourceID = `-- name: GetWorkspaceAgentByResourceID :one SELECT id, created_at, updated_at, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata FROM workspace_agents WHERE resource_id = $1 ` func (q *sqlQuerier) GetWorkspaceAgentByResourceID(ctx context.Context, resourceID uuid.UUID) (WorkspaceAgent, error) { row := q.db.QueryRowContext(ctx, getWorkspaceAgentByResourceID, resourceID) var i WorkspaceAgent err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.FirstConnectedAt, &i.LastConnectedAt, &i.DisconnectedAt, &i.ResourceID, &i.AuthToken, &i.AuthInstanceID, &i.EnvironmentVariables, &i.StartupScript, &i.InstanceMetadata, &i.ResourceMetadata, ) return i, err } const insertWorkspaceAgent = `-- name: InsertWorkspaceAgent :one INSERT INTO workspace_agents ( id, created_at, updated_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING id, created_at, updated_at, first_connected_at, last_connected_at, disconnected_at, resource_id, auth_token, auth_instance_id, environment_variables, startup_script, instance_metadata, resource_metadata ` type InsertWorkspaceAgentParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` ResourceID uuid.UUID `db:"resource_id" json:"resource_id"` AuthToken uuid.UUID `db:"auth_token" json:"auth_token"` AuthInstanceID sql.NullString `db:"auth_instance_id" json:"auth_instance_id"` EnvironmentVariables pqtype.NullRawMessage `db:"environment_variables" json:"environment_variables"` StartupScript sql.NullString `db:"startup_script" json:"startup_script"` InstanceMetadata pqtype.NullRawMessage `db:"instance_metadata" json:"instance_metadata"` ResourceMetadata pqtype.NullRawMessage `db:"resource_metadata" json:"resource_metadata"` } func (q *sqlQuerier) InsertWorkspaceAgent(ctx context.Context, arg InsertWorkspaceAgentParams) (WorkspaceAgent, error) { row := q.db.QueryRowContext(ctx, insertWorkspaceAgent, arg.ID, arg.CreatedAt, arg.UpdatedAt, arg.ResourceID, arg.AuthToken, arg.AuthInstanceID, arg.EnvironmentVariables, arg.StartupScript, arg.InstanceMetadata, arg.ResourceMetadata, ) var i WorkspaceAgent err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.FirstConnectedAt, &i.LastConnectedAt, &i.DisconnectedAt, &i.ResourceID, &i.AuthToken, &i.AuthInstanceID, &i.EnvironmentVariables, &i.StartupScript, &i.InstanceMetadata, &i.ResourceMetadata, ) return i, err } const updateWorkspaceAgentConnectionByID = `-- name: UpdateWorkspaceAgentConnectionByID :exec UPDATE workspace_agents SET first_connected_at = $2, last_connected_at = $3, disconnected_at = $4 WHERE id = $1 ` type UpdateWorkspaceAgentConnectionByIDParams struct { ID uuid.UUID `db:"id" json:"id"` FirstConnectedAt sql.NullTime `db:"first_connected_at" json:"first_connected_at"` LastConnectedAt sql.NullTime `db:"last_connected_at" json:"last_connected_at"` DisconnectedAt sql.NullTime `db:"disconnected_at" json:"disconnected_at"` } func (q *sqlQuerier) UpdateWorkspaceAgentConnectionByID(ctx context.Context, arg UpdateWorkspaceAgentConnectionByIDParams) error { _, err := q.db.ExecContext(ctx, updateWorkspaceAgentConnectionByID, arg.ID, arg.FirstConnectedAt, arg.LastConnectedAt, arg.DisconnectedAt, ) return err } const getWorkspaceBuildByID = `-- name: GetWorkspaceBuildByID :one SELECT id, created_at, updated_at, workspace_id, template_version_id, name, before_id, after_id, transition, initiator_id, provisioner_state, job_id FROM workspace_builds WHERE id = $1 LIMIT 1 ` func (q *sqlQuerier) GetWorkspaceBuildByID(ctx context.Context, id uuid.UUID) (WorkspaceBuild, error) { row := q.db.QueryRowContext(ctx, getWorkspaceBuildByID, id) var i WorkspaceBuild err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.WorkspaceID, &i.TemplateVersionID, &i.Name, &i.BeforeID, &i.AfterID, &i.Transition, &i.InitiatorID, &i.ProvisionerState, &i.JobID, ) return i, err } const getWorkspaceBuildByJobID = `-- name: GetWorkspaceBuildByJobID :one SELECT id, created_at, updated_at, workspace_id, template_version_id, name, before_id, after_id, transition, initiator_id, provisioner_state, job_id FROM workspace_builds WHERE job_id = $1 LIMIT 1 ` func (q *sqlQuerier) GetWorkspaceBuildByJobID(ctx context.Context, jobID uuid.UUID) (WorkspaceBuild, error) { row := q.db.QueryRowContext(ctx, getWorkspaceBuildByJobID, jobID) var i WorkspaceBuild err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.WorkspaceID, &i.TemplateVersionID, &i.Name, &i.BeforeID, &i.AfterID, &i.Transition, &i.InitiatorID, &i.ProvisionerState, &i.JobID, ) return i, err } const getWorkspaceBuildByWorkspaceID = `-- name: GetWorkspaceBuildByWorkspaceID :many SELECT id, created_at, updated_at, workspace_id, template_version_id, name, before_id, after_id, transition, initiator_id, provisioner_state, job_id FROM workspace_builds WHERE workspace_id = $1 ` func (q *sqlQuerier) GetWorkspaceBuildByWorkspaceID(ctx context.Context, workspaceID uuid.UUID) ([]WorkspaceBuild, error) { rows, err := q.db.QueryContext(ctx, getWorkspaceBuildByWorkspaceID, workspaceID) if err != nil { return nil, err } defer rows.Close() var items []WorkspaceBuild for rows.Next() { var i WorkspaceBuild if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.WorkspaceID, &i.TemplateVersionID, &i.Name, &i.BeforeID, &i.AfterID, &i.Transition, &i.InitiatorID, &i.ProvisionerState, &i.JobID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getWorkspaceBuildByWorkspaceIDAndName = `-- name: GetWorkspaceBuildByWorkspaceIDAndName :one SELECT id, created_at, updated_at, workspace_id, template_version_id, name, before_id, after_id, transition, initiator_id, provisioner_state, job_id FROM workspace_builds WHERE workspace_id = $1 AND "name" = $2 ` type GetWorkspaceBuildByWorkspaceIDAndNameParams struct { WorkspaceID uuid.UUID `db:"workspace_id" json:"workspace_id"` Name string `db:"name" json:"name"` } func (q *sqlQuerier) GetWorkspaceBuildByWorkspaceIDAndName(ctx context.Context, arg GetWorkspaceBuildByWorkspaceIDAndNameParams) (WorkspaceBuild, error) { row := q.db.QueryRowContext(ctx, getWorkspaceBuildByWorkspaceIDAndName, arg.WorkspaceID, arg.Name) var i WorkspaceBuild err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.WorkspaceID, &i.TemplateVersionID, &i.Name, &i.BeforeID, &i.AfterID, &i.Transition, &i.InitiatorID, &i.ProvisionerState, &i.JobID, ) return i, err } const getWorkspaceBuildByWorkspaceIDWithoutAfter = `-- name: GetWorkspaceBuildByWorkspaceIDWithoutAfter :one SELECT id, created_at, updated_at, workspace_id, template_version_id, name, before_id, after_id, transition, initiator_id, provisioner_state, job_id FROM workspace_builds WHERE workspace_id = $1 AND after_id IS NULL LIMIT 1 ` func (q *sqlQuerier) GetWorkspaceBuildByWorkspaceIDWithoutAfter(ctx context.Context, workspaceID uuid.UUID) (WorkspaceBuild, error) { row := q.db.QueryRowContext(ctx, getWorkspaceBuildByWorkspaceIDWithoutAfter, workspaceID) var i WorkspaceBuild err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.WorkspaceID, &i.TemplateVersionID, &i.Name, &i.BeforeID, &i.AfterID, &i.Transition, &i.InitiatorID, &i.ProvisionerState, &i.JobID, ) return i, err } const getWorkspaceBuildsByWorkspaceIDsWithoutAfter = `-- name: GetWorkspaceBuildsByWorkspaceIDsWithoutAfter :many SELECT id, created_at, updated_at, workspace_id, template_version_id, name, before_id, after_id, transition, initiator_id, provisioner_state, job_id FROM workspace_builds WHERE workspace_id = ANY($1 :: uuid [ ]) AND after_id IS NULL ` func (q *sqlQuerier) GetWorkspaceBuildsByWorkspaceIDsWithoutAfter(ctx context.Context, ids []uuid.UUID) ([]WorkspaceBuild, error) { rows, err := q.db.QueryContext(ctx, getWorkspaceBuildsByWorkspaceIDsWithoutAfter, pq.Array(ids)) if err != nil { return nil, err } defer rows.Close() var items []WorkspaceBuild for rows.Next() { var i WorkspaceBuild if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.WorkspaceID, &i.TemplateVersionID, &i.Name, &i.BeforeID, &i.AfterID, &i.Transition, &i.InitiatorID, &i.ProvisionerState, &i.JobID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertWorkspaceBuild = `-- name: InsertWorkspaceBuild :one INSERT INTO workspace_builds ( id, created_at, updated_at, workspace_id, template_version_id, before_id, "name", transition, initiator_id, job_id, provisioner_state ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) RETURNING id, created_at, updated_at, workspace_id, template_version_id, name, before_id, after_id, transition, initiator_id, provisioner_state, job_id ` type InsertWorkspaceBuildParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` WorkspaceID uuid.UUID `db:"workspace_id" json:"workspace_id"` TemplateVersionID uuid.UUID `db:"template_version_id" json:"template_version_id"` BeforeID uuid.NullUUID `db:"before_id" json:"before_id"` Name string `db:"name" json:"name"` Transition WorkspaceTransition `db:"transition" json:"transition"` InitiatorID uuid.UUID `db:"initiator_id" json:"initiator_id"` JobID uuid.UUID `db:"job_id" json:"job_id"` ProvisionerState []byte `db:"provisioner_state" json:"provisioner_state"` } func (q *sqlQuerier) InsertWorkspaceBuild(ctx context.Context, arg InsertWorkspaceBuildParams) (WorkspaceBuild, error) { row := q.db.QueryRowContext(ctx, insertWorkspaceBuild, arg.ID, arg.CreatedAt, arg.UpdatedAt, arg.WorkspaceID, arg.TemplateVersionID, arg.BeforeID, arg.Name, arg.Transition, arg.InitiatorID, arg.JobID, arg.ProvisionerState, ) var i WorkspaceBuild err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.WorkspaceID, &i.TemplateVersionID, &i.Name, &i.BeforeID, &i.AfterID, &i.Transition, &i.InitiatorID, &i.ProvisionerState, &i.JobID, ) return i, err } const updateWorkspaceBuildByID = `-- name: UpdateWorkspaceBuildByID :exec UPDATE workspace_builds SET updated_at = $2, after_id = $3, provisioner_state = $4 WHERE id = $1 ` type UpdateWorkspaceBuildByIDParams struct { ID uuid.UUID `db:"id" json:"id"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` AfterID uuid.NullUUID `db:"after_id" json:"after_id"` ProvisionerState []byte `db:"provisioner_state" json:"provisioner_state"` } func (q *sqlQuerier) UpdateWorkspaceBuildByID(ctx context.Context, arg UpdateWorkspaceBuildByIDParams) error { _, err := q.db.ExecContext(ctx, updateWorkspaceBuildByID, arg.ID, arg.UpdatedAt, arg.AfterID, arg.ProvisionerState, ) return err } const getWorkspaceResourceByID = `-- name: GetWorkspaceResourceByID :one SELECT id, created_at, job_id, transition, address, type, name, agent_id FROM workspace_resources WHERE id = $1 ` func (q *sqlQuerier) GetWorkspaceResourceByID(ctx context.Context, id uuid.UUID) (WorkspaceResource, error) { row := q.db.QueryRowContext(ctx, getWorkspaceResourceByID, id) var i WorkspaceResource err := row.Scan( &i.ID, &i.CreatedAt, &i.JobID, &i.Transition, &i.Address, &i.Type, &i.Name, &i.AgentID, ) return i, err } const getWorkspaceResourcesByJobID = `-- name: GetWorkspaceResourcesByJobID :many SELECT id, created_at, job_id, transition, address, type, name, agent_id FROM workspace_resources WHERE job_id = $1 ` func (q *sqlQuerier) GetWorkspaceResourcesByJobID(ctx context.Context, jobID uuid.UUID) ([]WorkspaceResource, error) { rows, err := q.db.QueryContext(ctx, getWorkspaceResourcesByJobID, jobID) if err != nil { return nil, err } defer rows.Close() var items []WorkspaceResource for rows.Next() { var i WorkspaceResource if err := rows.Scan( &i.ID, &i.CreatedAt, &i.JobID, &i.Transition, &i.Address, &i.Type, &i.Name, &i.AgentID, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertWorkspaceResource = `-- name: InsertWorkspaceResource :one INSERT INTO workspace_resources ( id, created_at, job_id, transition, address, type, name, agent_id ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING id, created_at, job_id, transition, address, type, name, agent_id ` type InsertWorkspaceResourceParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` JobID uuid.UUID `db:"job_id" json:"job_id"` Transition WorkspaceTransition `db:"transition" json:"transition"` Address string `db:"address" json:"address"` Type string `db:"type" json:"type"` Name string `db:"name" json:"name"` AgentID uuid.NullUUID `db:"agent_id" json:"agent_id"` } func (q *sqlQuerier) InsertWorkspaceResource(ctx context.Context, arg InsertWorkspaceResourceParams) (WorkspaceResource, error) { row := q.db.QueryRowContext(ctx, insertWorkspaceResource, arg.ID, arg.CreatedAt, arg.JobID, arg.Transition, arg.Address, arg.Type, arg.Name, arg.AgentID, ) var i WorkspaceResource err := row.Scan( &i.ID, &i.CreatedAt, &i.JobID, &i.Transition, &i.Address, &i.Type, &i.Name, &i.AgentID, ) return i, err } const getWorkspaceByID = `-- name: GetWorkspaceByID :one SELECT id, created_at, updated_at, owner_id, template_id, deleted, name FROM workspaces WHERE id = $1 LIMIT 1 ` func (q *sqlQuerier) GetWorkspaceByID(ctx context.Context, id uuid.UUID) (Workspace, error) { row := q.db.QueryRowContext(ctx, getWorkspaceByID, id) var i Workspace err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OwnerID, &i.TemplateID, &i.Deleted, &i.Name, ) return i, err } const getWorkspaceByUserIDAndName = `-- name: GetWorkspaceByUserIDAndName :one SELECT id, created_at, updated_at, owner_id, template_id, deleted, name FROM workspaces WHERE owner_id = $1 AND deleted = $2 AND LOWER("name") = LOWER($3) ` type GetWorkspaceByUserIDAndNameParams struct { OwnerID uuid.UUID `db:"owner_id" json:"owner_id"` Deleted bool `db:"deleted" json:"deleted"` Name string `db:"name" json:"name"` } func (q *sqlQuerier) GetWorkspaceByUserIDAndName(ctx context.Context, arg GetWorkspaceByUserIDAndNameParams) (Workspace, error) { row := q.db.QueryRowContext(ctx, getWorkspaceByUserIDAndName, arg.OwnerID, arg.Deleted, arg.Name) var i Workspace err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OwnerID, &i.TemplateID, &i.Deleted, &i.Name, ) return i, err } const getWorkspaceOwnerCountsByTemplateIDs = `-- name: GetWorkspaceOwnerCountsByTemplateIDs :many SELECT template_id, COUNT(DISTINCT owner_id) FROM workspaces WHERE template_id = ANY($1 :: uuid [ ]) GROUP BY template_id, owner_id ` type GetWorkspaceOwnerCountsByTemplateIDsRow struct { TemplateID uuid.UUID `db:"template_id" json:"template_id"` Count int64 `db:"count" json:"count"` } func (q *sqlQuerier) GetWorkspaceOwnerCountsByTemplateIDs(ctx context.Context, ids []uuid.UUID) ([]GetWorkspaceOwnerCountsByTemplateIDsRow, error) { rows, err := q.db.QueryContext(ctx, getWorkspaceOwnerCountsByTemplateIDs, pq.Array(ids)) if err != nil { return nil, err } defer rows.Close() var items []GetWorkspaceOwnerCountsByTemplateIDsRow for rows.Next() { var i GetWorkspaceOwnerCountsByTemplateIDsRow if err := rows.Scan(&i.TemplateID, &i.Count); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getWorkspacesByTemplateID = `-- name: GetWorkspacesByTemplateID :many SELECT id, created_at, updated_at, owner_id, template_id, deleted, name FROM workspaces WHERE template_id = $1 AND deleted = $2 ` type GetWorkspacesByTemplateIDParams struct { TemplateID uuid.UUID `db:"template_id" json:"template_id"` Deleted bool `db:"deleted" json:"deleted"` } func (q *sqlQuerier) GetWorkspacesByTemplateID(ctx context.Context, arg GetWorkspacesByTemplateIDParams) ([]Workspace, error) { rows, err := q.db.QueryContext(ctx, getWorkspacesByTemplateID, arg.TemplateID, arg.Deleted) if err != nil { return nil, err } defer rows.Close() var items []Workspace for rows.Next() { var i Workspace if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OwnerID, &i.TemplateID, &i.Deleted, &i.Name, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getWorkspacesByUserID = `-- name: GetWorkspacesByUserID :many SELECT id, created_at, updated_at, owner_id, template_id, deleted, name FROM workspaces WHERE owner_id = $1 AND deleted = $2 ` type GetWorkspacesByUserIDParams struct { OwnerID uuid.UUID `db:"owner_id" json:"owner_id"` Deleted bool `db:"deleted" json:"deleted"` } func (q *sqlQuerier) GetWorkspacesByUserID(ctx context.Context, arg GetWorkspacesByUserIDParams) ([]Workspace, error) { rows, err := q.db.QueryContext(ctx, getWorkspacesByUserID, arg.OwnerID, arg.Deleted) if err != nil { return nil, err } defer rows.Close() var items []Workspace for rows.Next() { var i Workspace if err := rows.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OwnerID, &i.TemplateID, &i.Deleted, &i.Name, ); err != nil { return nil, err } items = append(items, i) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const insertWorkspace = `-- name: InsertWorkspace :one INSERT INTO workspaces ( id, created_at, updated_at, owner_id, template_id, name ) VALUES ($1, $2, $3, $4, $5, $6) RETURNING id, created_at, updated_at, owner_id, template_id, deleted, name ` type InsertWorkspaceParams struct { ID uuid.UUID `db:"id" json:"id"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` OwnerID uuid.UUID `db:"owner_id" json:"owner_id"` TemplateID uuid.UUID `db:"template_id" json:"template_id"` Name string `db:"name" json:"name"` } func (q *sqlQuerier) InsertWorkspace(ctx context.Context, arg InsertWorkspaceParams) (Workspace, error) { row := q.db.QueryRowContext(ctx, insertWorkspace, arg.ID, arg.CreatedAt, arg.UpdatedAt, arg.OwnerID, arg.TemplateID, arg.Name, ) var i Workspace err := row.Scan( &i.ID, &i.CreatedAt, &i.UpdatedAt, &i.OwnerID, &i.TemplateID, &i.Deleted, &i.Name, ) return i, err } const updateWorkspaceDeletedByID = `-- name: UpdateWorkspaceDeletedByID :exec UPDATE workspaces SET deleted = $2 WHERE id = $1 ` type UpdateWorkspaceDeletedByIDParams struct { ID uuid.UUID `db:"id" json:"id"` Deleted bool `db:"deleted" json:"deleted"` } func (q *sqlQuerier) UpdateWorkspaceDeletedByID(ctx context.Context, arg UpdateWorkspaceDeletedByIDParams) error { _, err := q.db.ExecContext(ctx, updateWorkspaceDeletedByID, arg.ID, arg.Deleted) return err }