Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
leg100 committed Nov 9, 2024
1 parent 64ca438 commit e9180b0
Show file tree
Hide file tree
Showing 21 changed files with 148 additions and 139 deletions.
10 changes: 5 additions & 5 deletions internal/connections/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ type (
func (db *db) createConnection(ctx context.Context, opts ConnectOptions) error {
q := db.Querier(ctx)
params := sqlc.InsertRepoConnectionParams{
VCSProviderID: sql.ID(opts.VCSProviderID),
VCSProviderID: opts.VCSProviderID,
RepoPath: sql.String(opts.RepoPath),
}

switch opts.ConnectionType {
case WorkspaceConnection:
params.WorkspaceID = sql.ID(opts.ResourceID)
params.WorkspaceID = opts.ResourceID

Check failure on line 26 in internal/connections/db.go

View workflow job for this annotation

GitHub Actions / build

cannot use opts.ResourceID (variable of type "github.com/leg100/otf/internal/resource".ID) as *"github.com/leg100/otf/internal/resource".ID value in assignment
case ModuleConnection:
params.ModuleID = sql.ID(opts.ResourceID)
params.ModuleID = opts.ResourceID

Check failure on line 28 in internal/connections/db.go

View workflow job for this annotation

GitHub Actions / build

cannot use opts.ResourceID (variable of type "github.com/leg100/otf/internal/resource".ID) as *"github.com/leg100/otf/internal/resource".ID value in assignment
default:
return fmt.Errorf("unknown connection type: %v", opts.ConnectionType)
}
Expand All @@ -40,9 +40,9 @@ func (db *db) deleteConnection(ctx context.Context, opts DisconnectOptions) (err
q := db.Querier(ctx)
switch opts.ConnectionType {
case WorkspaceConnection:
_, err = q.DeleteWorkspaceConnectionByID(ctx, sql.ID(opts.ResourceID))
_, err = q.DeleteWorkspaceConnectionByID(ctx, opts.ResourceID)

Check failure on line 43 in internal/connections/db.go

View workflow job for this annotation

GitHub Actions / build

cannot use opts.ResourceID (variable of type "github.com/leg100/otf/internal/resource".ID) as *"github.com/leg100/otf/internal/resource".ID value in argument to q.DeleteWorkspaceConnectionByID
case ModuleConnection:
_, err = q.DeleteModuleConnectionByID(ctx, sql.ID(opts.ResourceID))
_, err = q.DeleteModuleConnectionByID(ctx, opts.ResourceID)

Check failure on line 45 in internal/connections/db.go

View workflow job for this annotation

GitHub Actions / build

cannot use opts.ResourceID (variable of type "github.com/leg100/otf/internal/resource".ID) as *"github.com/leg100/otf/internal/resource".ID value in argument to q.DeleteModuleConnectionByID (compile)
default:
return fmt.Errorf("unknown connection type: %v", opts.ConnectionType)
}
Expand Down
12 changes: 6 additions & 6 deletions internal/integration/db_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func TestTx(t *testing.T) {

err = db.Tx(ctx, func(txCtx context.Context, q *sqlc.Queries) error {
err := q.InsertOrganization(txCtx, sqlc.InsertOrganizationParams{
ID: sql.ID(org.ID),
ID: org.ID,
CreatedAt: sql.Timestamptz(org.CreatedAt),
UpdatedAt: sql.Timestamptz(org.UpdatedAt),
Name: sql.String(org.Name),
Expand All @@ -67,30 +67,30 @@ func TestTx(t *testing.T) {

// this should succeed because it is using the same querier from the
// same tx
_, err = q.FindOrganizationByID(txCtx, sql.ID(org.ID))
_, err = q.FindOrganizationByID(txCtx, org.ID)
assert.NoError(t, err)

// this should succeed because it is using the same ctx from the same tx
_, err = db.Querier(txCtx).FindOrganizationByID(txCtx, sql.ID(org.ID))
_, err = db.Querier(txCtx).FindOrganizationByID(txCtx, org.ID)
assert.NoError(t, err)

err = db.Tx(txCtx, func(ctx context.Context, q *sqlc.Queries) error {
// this should succeed because it is using a child tx via the
// querier
_, err = q.FindOrganizationByID(ctx, sql.ID(org.ID))
_, err = q.FindOrganizationByID(ctx, org.ID)
assert.NoError(t, err)

// this should succeed because it is using a child tx via the
// context
_, err = db.Querier(ctx).FindOrganizationByID(ctx, sql.ID(org.ID))
_, err = db.Querier(ctx).FindOrganizationByID(ctx, org.ID)
assert.NoError(t, err)

return nil
})
require.NoError(t, err)

// this should fail because it is using a different ctx
_, err = db.Querier(ctx).FindOrganizationByID(txCtx, sql.ID(org.ID))
_, err = db.Querier(ctx).FindOrganizationByID(txCtx, org.ID)
assert.ErrorIs(t, err, pgx.ErrNoRows)

return nil
Expand Down
6 changes: 3 additions & 3 deletions internal/logs/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ type pgdb struct {

func (db *pgdb) put(ctx context.Context, chunk Chunk) error {
err := db.Querier(ctx).InsertLogChunk(ctx, sqlc.InsertLogChunkParams{
RunID: sql.ID(chunk.RunID),
RunID: chunk.RunID,
Phase: sql.String(string(chunk.Phase)),
Chunk: chunk.Data,
Offset: sql.Int4(chunk.Offset),
Expand All @@ -30,7 +30,7 @@ func (db *pgdb) put(ctx context.Context, chunk Chunk) error {
}

func (db *pgdb) getChunk(ctx context.Context, chunkID resource.ID) (Chunk, error) {
chunk, err := db.Querier(ctx).FindLogChunkByID(ctx, sql.ID(chunkID))
chunk, err := db.Querier(ctx).FindLogChunkByID(ctx, chunkID)

Check failure on line 33 in internal/logs/db.go

View workflow job for this annotation

GitHub Actions / build

cannot use chunkID (variable of type resource.ID) as pgtype.Text value in argument to db.Querier(ctx).FindLogChunkByID

Check failure on line 33 in internal/logs/db.go

View workflow job for this annotation

GitHub Actions / build

cannot use chunkID (variable of type resource.ID) as pgtype.Text value in argument to db.Querier(ctx).FindLogChunkByID
if err != nil {
return Chunk{}, sql.Error(err)
}
Expand All @@ -45,7 +45,7 @@ func (db *pgdb) getChunk(ctx context.Context, chunkID resource.ID) (Chunk, error

func (db *pgdb) getLogs(ctx context.Context, runID resource.ID, phase internal.PhaseType) ([]byte, error) {
data, err := db.Querier(ctx).FindLogs(ctx, sqlc.FindLogsParams{
RunID: sql.ID(runID),
RunID: runID,
Phase: sql.String(string(phase)),
})
if err != nil {
Expand Down
24 changes: 12 additions & 12 deletions internal/module/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ type (

func (db *pgdb) createModule(ctx context.Context, mod *Module) error {
err := db.Querier(ctx).InsertModule(ctx, sqlc.InsertModuleParams{
ID: sql.ID(mod.ID),
ID: mod.ID,
CreatedAt: sql.Timestamptz(mod.CreatedAt),
UpdatedAt: sql.Timestamptz(mod.UpdatedAt),
Name: sql.String(mod.Name),
Expand All @@ -49,7 +49,7 @@ func (db *pgdb) createModule(ctx context.Context, mod *Module) error {
func (db *pgdb) updateModuleStatus(ctx context.Context, moduleID resource.ID, status ModuleStatus) error {
_, err := db.Querier(ctx).UpdateModuleStatusByID(ctx, sqlc.UpdateModuleStatusByIDParams{
Status: sql.String(string(status)),
ModuleID: sql.ID(moduleID),
ModuleID: moduleID,
})
if err != nil {
return sql.Error(err)
Expand Down Expand Up @@ -84,7 +84,7 @@ func (db *pgdb) getModule(ctx context.Context, opts GetModuleOptions) (*Module,
}

func (db *pgdb) getModuleByID(ctx context.Context, id resource.ID) (*Module, error) {
row, err := db.Querier(ctx).FindModuleByID(ctx, sql.ID(id))
row, err := db.Querier(ctx).FindModuleByID(ctx, id)
if err != nil {
return nil, sql.Error(err)
}
Expand All @@ -94,7 +94,7 @@ func (db *pgdb) getModuleByID(ctx context.Context, id resource.ID) (*Module, err

func (db *pgdb) getModuleByConnection(ctx context.Context, vcsProviderID resource.ID, repoPath string) (*Module, error) {
row, err := db.Querier(ctx).FindModuleByConnection(ctx, sqlc.FindModuleByConnectionParams{
VCSProviderID: sql.ID(vcsProviderID),
VCSProviderID: vcsProviderID,
RepoPath: sql.String(repoPath),
})
if err != nil {
Expand All @@ -105,17 +105,17 @@ func (db *pgdb) getModuleByConnection(ctx context.Context, vcsProviderID resourc
}

func (db *pgdb) delete(ctx context.Context, id resource.ID) error {
_, err := db.Querier(ctx).DeleteModuleByID(ctx, sql.ID(id))
_, err := db.Querier(ctx).DeleteModuleByID(ctx, id)
return sql.Error(err)
}

func (db *pgdb) createModuleVersion(ctx context.Context, version *ModuleVersion) error {
_, err := db.Querier(ctx).InsertModuleVersion(ctx, sqlc.InsertModuleVersionParams{
ModuleVersionID: sql.ID(version.ID),
ModuleVersionID: version.ID,
Version: sql.String(version.Version),
CreatedAt: sql.Timestamptz(version.CreatedAt),
UpdatedAt: sql.Timestamptz(version.UpdatedAt),
ModuleID: sql.ID(version.ModuleID),
ModuleID: version.ModuleID,
Status: sql.String(string(version.Status)),
})
if err != nil {
Expand All @@ -126,36 +126,36 @@ func (db *pgdb) createModuleVersion(ctx context.Context, version *ModuleVersion)

func (db *pgdb) updateModuleVersionStatus(ctx context.Context, opts UpdateModuleVersionStatusOptions) error {
_, err := db.Querier(ctx).UpdateModuleVersionStatusByID(ctx, sqlc.UpdateModuleVersionStatusByIDParams{
ModuleVersionID: sql.ID(opts.ID),
ModuleVersionID: opts.ID,
Status: sql.String(string(opts.Status)),
StatusError: sql.String(opts.Error),
})
return sql.Error(err)
}

func (db *pgdb) getModuleByVersionID(ctx context.Context, versionID resource.ID) (*Module, error) {
row, err := db.Querier(ctx).FindModuleByModuleVersionID(ctx, sql.ID(versionID))
row, err := db.Querier(ctx).FindModuleByModuleVersionID(ctx, versionID)
if err != nil {
return nil, sql.Error(err)
}
return moduleRow(row).toModule(), nil
}

func (db *pgdb) deleteModuleVersion(ctx context.Context, versionID resource.ID) error {
_, err := db.Querier(ctx).DeleteModuleVersionByID(ctx, sql.ID(versionID))
_, err := db.Querier(ctx).DeleteModuleVersionByID(ctx, versionID)
return sql.Error(err)
}

func (db *pgdb) saveTarball(ctx context.Context, versionID resource.ID, tarball []byte) error {
_, err := db.Querier(ctx).InsertModuleTarball(ctx, sqlc.InsertModuleTarballParams{
Tarball: tarball,
ModuleVersionID: sql.ID(versionID),
ModuleVersionID: versionID,
})
return sql.Error(err)
}

func (db *pgdb) getTarball(ctx context.Context, versionID resource.ID) ([]byte, error) {
tarball, err := db.Querier(ctx).FindModuleTarball(ctx, sql.ID(versionID))
tarball, err := db.Querier(ctx).FindModuleTarball(ctx, versionID)
if err != nil {
return nil, sql.Error(err)
}
Expand Down
14 changes: 7 additions & 7 deletions internal/notifications/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ func (r pgresult) toNotificationConfiguration() *Config {

func (db *pgdb) create(ctx context.Context, nc *Config) error {
params := sqlc.InsertNotificationConfigurationParams{
NotificationConfigurationID: sql.ID(nc.ID),
NotificationConfigurationID: nc.ID,
CreatedAt: sql.Timestamptz(nc.CreatedAt),
UpdatedAt: sql.Timestamptz(nc.UpdatedAt),
Name: sql.String(nc.Name),
Enabled: sql.Bool(nc.Enabled),
DestinationType: sql.String(string(nc.DestinationType)),
URL: sql.NullString(),
WorkspaceID: sql.ID(nc.WorkspaceID),
WorkspaceID: nc.WorkspaceID,
}
for _, t := range nc.Triggers {
params.Triggers = append(params.Triggers, sql.String(string(t)))
Expand All @@ -72,7 +72,7 @@ func (db *pgdb) create(ctx context.Context, nc *Config) error {
func (db *pgdb) update(ctx context.Context, id resource.ID, updateFunc func(*Config) error) (*Config, error) {
var nc *Config
err := db.Tx(ctx, func(ctx context.Context, q *sqlc.Queries) error {
result, err := q.FindNotificationConfigurationForUpdate(ctx, sql.ID(id))
result, err := q.FindNotificationConfigurationForUpdate(ctx, id)
if err != nil {
return sql.Error(err)
}
Expand All @@ -85,7 +85,7 @@ func (db *pgdb) update(ctx context.Context, id resource.ID, updateFunc func(*Con
Enabled: sql.Bool(nc.Enabled),
Name: sql.String(nc.Name),
URL: sql.NullString(),
NotificationConfigurationID: sql.ID(nc.ID),
NotificationConfigurationID: nc.ID,
}
for _, t := range nc.Triggers {
params.Triggers = append(params.Triggers, sql.String(string(t)))
Expand All @@ -100,7 +100,7 @@ func (db *pgdb) update(ctx context.Context, id resource.ID, updateFunc func(*Con
}

func (db *pgdb) list(ctx context.Context, workspaceID resource.ID) ([]*Config, error) {
results, err := db.Querier(ctx).FindNotificationConfigurationsByWorkspaceID(ctx, sql.ID(workspaceID))
results, err := db.Querier(ctx).FindNotificationConfigurationsByWorkspaceID(ctx, workspaceID)
if err != nil {
return nil, sql.Error(err)
}
Expand All @@ -126,15 +126,15 @@ func (db *pgdb) listAll(ctx context.Context) ([]*Config, error) {
}

func (db *pgdb) get(ctx context.Context, id resource.ID) (*Config, error) {
row, err := db.Querier(ctx).FindNotificationConfiguration(ctx, sql.ID(id))
row, err := db.Querier(ctx).FindNotificationConfiguration(ctx, id)
if err != nil {
return nil, sql.Error(err)
}
return pgresult(row).toNotificationConfiguration(), nil
}

func (db *pgdb) delete(ctx context.Context, id resource.ID) error {
_, err := db.Querier(ctx).DeleteNotificationConfigurationByID(ctx, sql.ID(id))
_, err := db.Querier(ctx).DeleteNotificationConfigurationByID(ctx, id)
if err != nil {
return sql.Error(err)
}
Expand Down
8 changes: 4 additions & 4 deletions internal/repohooks/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ type (
hookRow struct {
RepohookID pgtype.UUID `json:"repohook_id"`
VCSID pgtype.Text `json:"vcs_id"`
VCSProviderID pgtype.Text `json:"vcs_provider_id"`
VCSProviderID resource.ID `json:"vcs_provider_id"`
Secret pgtype.Text `json:"secret"`
RepoPath pgtype.Text `json:"repo_path"`
VCSKind pgtype.Text `json:"vcs_kind"`
Expand All @@ -35,7 +35,7 @@ func (db *db) getOrCreateHook(ctx context.Context, hook *hook) (*hook, error) {
q := db.Querier(ctx)
result, err := q.FindRepohookByRepoAndProvider(ctx, sqlc.FindRepohookByRepoAndProviderParams{
RepoPath: sql.String(hook.repoPath),
VCSProviderID: sql.ID(hook.vcsProviderID),
VCSProviderID: hook.vcsProviderID,
})
if err != nil {
return nil, sql.Error(err)
Expand All @@ -51,7 +51,7 @@ func (db *db) getOrCreateHook(ctx context.Context, hook *hook) (*hook, error) {
Secret: sql.String(hook.secret),
RepoPath: sql.String(hook.repoPath),
VCSID: sql.StringPtr(hook.cloudID),
VCSProviderID: sql.ID(hook.vcsProviderID),
VCSProviderID: hook.vcsProviderID,
})
if err != nil {
return nil, fmt.Errorf("inserting webhook into db: %w", sql.Error(err))
Expand Down Expand Up @@ -127,7 +127,7 @@ func (db *db) deleteHook(ctx context.Context, id uuid.UUID) error {
func (db *db) fromRow(row hookRow) (*hook, error) {
opts := newRepohookOptions{
id: internal.UUID(row.RepohookID.Bytes),
vcsProviderID: resource.ParseID(row.VCSProviderID.String),
vcsProviderID: row.VCSProviderID,
secret: internal.String(row.Secret.String),
repoPath: row.RepoPath.String,
cloud: vcs.Kind(row.VCSKind.String),
Expand Down
2 changes: 1 addition & 1 deletion internal/run/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -597,7 +597,7 @@ func (s *Service) createApplyReport(ctx context.Context, runID resource.ID) (Rep

func (s *Service) getLogs(ctx context.Context, runID resource.ID, phase internal.PhaseType) ([]byte, error) {
data, err := s.db.Querier(ctx).FindLogs(ctx, sqlc.FindLogsParams{
RunID: sql.ID(runID),
RunID: runID,
Phase: sql.String(string(phase)),
})
if err != nil {
Expand Down
Loading

0 comments on commit e9180b0

Please sign in to comment.