Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0eea92f

Browse files
committed
chore: add provisioner key crud apis
1 parent6bf7e5a commit0eea92f

22 files changed

+431
-0
lines changed

‎coderd/apidoc/docs.go

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/apidoc/swagger.json

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dbauthz/dbauthz.go

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,13 @@ func (q *querier) DeleteOrganizationMember(ctx context.Context, arg database.Del
10741074
},q.db.DeleteOrganizationMember)(ctx,arg)
10751075
}
10761076

1077+
func (q*querier)DeleteProvisionerKey(ctx context.Context,id uuid.UUID)error {
1078+
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceProvisionerKeys);err!=nil {
1079+
returnerr
1080+
}
1081+
returnq.db.DeleteProvisionerKey(ctx,id)
1082+
}
1083+
10771084
func (q*querier)DeleteReplicasUpdatedBefore(ctx context.Context,updatedAt time.Time)error {
10781085
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceSystem);err!=nil {
10791086
returnerr
@@ -1666,6 +1673,13 @@ func (q *querier) GetProvisionerJobsCreatedAfter(ctx context.Context, createdAt
16661673
returnq.db.GetProvisionerJobsCreatedAfter(ctx,createdAt)
16671674
}
16681675

1676+
func (q*querier)GetProvisionerKeyByName(ctx context.Context,name database.GetProvisionerKeyByNameParams) (database.ProvisionerKey,error) {
1677+
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceProvisionerKeys);err!=nil {
1678+
return database.ProvisionerKey{},err
1679+
}
1680+
returnq.db.GetProvisionerKeyByName(ctx,name)
1681+
}
1682+
16691683
func (q*querier)GetProvisionerLogsAfterID(ctx context.Context,arg database.GetProvisionerLogsAfterIDParams) ([]database.ProvisionerJobLog,error) {
16701684
// Authorized read on job lets the actor also read the logs.
16711685
_,err:=q.GetProvisionerJobByID(ctx,arg.JobID)
@@ -2610,6 +2624,13 @@ func (q *querier) InsertProvisionerJobLogs(ctx context.Context, arg database.Ins
26102624
returnq.db.InsertProvisionerJobLogs(ctx,arg)
26112625
}
26122626

2627+
func (q*querier)InsertProvisionerKey(ctx context.Context,arg database.InsertProvisionerKeyParams) (database.ProvisionerKey,error) {
2628+
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceProvisionerKeys);err!=nil {
2629+
return database.ProvisionerKey{},err
2630+
}
2631+
returnq.db.InsertProvisionerKey(ctx,arg)
2632+
}
2633+
26132634
func (q*querier)InsertReplica(ctx context.Context,arg database.InsertReplicaParams) (database.Replica,error) {
26142635
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceSystem);err!=nil {
26152636
return database.Replica{},err
@@ -2838,6 +2859,13 @@ func (q *querier) InsertWorkspaceResourceMetadata(ctx context.Context, arg datab
28382859
returnq.db.InsertWorkspaceResourceMetadata(ctx,arg)
28392860
}
28402861

2862+
func (q*querier)ListProvisionerKeysByOrganization(ctx context.Context,organizationID uuid.UUID) ([]database.ListProvisionerKeysByOrganizationRow,error) {
2863+
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceProvisionerKeys);err!=nil {
2864+
returnnil,err
2865+
}
2866+
returnq.db.ListProvisionerKeysByOrganization(ctx,organizationID)
2867+
}
2868+
28412869
func (q*querier)ListWorkspaceAgentPortShares(ctx context.Context,workspaceID uuid.UUID) ([]database.WorkspaceAgentPortShare,error) {
28422870
workspace,err:=q.db.GetWorkspaceByID(ctx,workspaceID)
28432871
iferr!=nil {

‎coderd/database/dbmem/dbmem.go

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ type data struct {
168168
provisionerDaemons []database.ProvisionerDaemon
169169
provisionerJobLogs []database.ProvisionerJobLog
170170
provisionerJobs []database.ProvisionerJob
171+
provisionerKeys []database.ProvisionerKey
171172
replicas []database.Replica
172173
templateVersions []database.TemplateVersionTable
173174
templateVersionParameters []database.TemplateVersionParameter
@@ -1726,6 +1727,20 @@ func (q *FakeQuerier) DeleteOrganizationMember(_ context.Context, arg database.D
17261727
returnnil
17271728
}
17281729

1730+
func (q*FakeQuerier)DeleteProvisionerKey(_ context.Context,id uuid.UUID)error {
1731+
q.mutex.Lock()
1732+
deferq.mutex.Unlock()
1733+
1734+
fori,key:=rangeq.provisionerKeys {
1735+
ifkey.ID==id {
1736+
q.provisionerKeys=append(q.provisionerKeys[:i],q.provisionerKeys[i+1:]...)
1737+
returnnil
1738+
}
1739+
}
1740+
1741+
returnsql.ErrNoRows
1742+
}
1743+
17291744
func (q*FakeQuerier)DeleteReplicasUpdatedBefore(_ context.Context,before time.Time)error {
17301745
q.mutex.Lock()
17311746
deferq.mutex.Unlock()
@@ -3165,6 +3180,19 @@ func (q *FakeQuerier) GetProvisionerJobsCreatedAfter(_ context.Context, after ti
31653180
returnjobs,nil
31663181
}
31673182

3183+
func (q*FakeQuerier)GetProvisionerKeyByName(ctx context.Context,arg database.GetProvisionerKeyByNameParams) (database.ProvisionerKey,error) {
3184+
q.mutex.RLock()
3185+
deferq.mutex.RUnlock()
3186+
3187+
for_,key:=rangeq.provisionerKeys {
3188+
ifkey.Name==arg.Name&&key.OrganizationID==arg.OrganizationID {
3189+
returnkey,nil
3190+
}
3191+
}
3192+
3193+
return database.ProvisionerKey{},sql.ErrNoRows
3194+
}
3195+
31683196
func (q*FakeQuerier)GetProvisionerLogsAfterID(_ context.Context,arg database.GetProvisionerLogsAfterIDParams) ([]database.ProvisionerJobLog,error) {
31693197
iferr:=validateDatabaseType(arg);err!=nil {
31703198
returnnil,err
@@ -6463,6 +6491,33 @@ func (q *FakeQuerier) InsertProvisionerJobLogs(_ context.Context, arg database.I
64636491
returnlogs,nil
64646492
}
64656493

6494+
func (q*FakeQuerier)InsertProvisionerKey(_ context.Context,arg database.InsertProvisionerKeyParams) (database.ProvisionerKey,error) {
6495+
err:=validateDatabaseType(arg)
6496+
iferr!=nil {
6497+
return database.ProvisionerKey{},err
6498+
}
6499+
6500+
q.mutex.Lock()
6501+
deferq.mutex.Unlock()
6502+
6503+
for_,key:=rangeq.provisionerKeys {
6504+
ifkey.ID==arg.ID|| (key.OrganizationID==arg.OrganizationID&&key.Name==arg.Name) {
6505+
return database.ProvisionerKey{},errUniqueConstraint
6506+
}
6507+
}
6508+
6509+
provisionerKey:= database.ProvisionerKey{
6510+
ID:arg.ID,
6511+
CreatedAt:arg.CreatedAt,
6512+
OrganizationID:arg.OrganizationID,
6513+
Name:arg.Name,
6514+
HashedSecret: []byte(arg.Name),
6515+
}
6516+
q.provisionerKeys=append(q.provisionerKeys,provisionerKey)
6517+
6518+
returnprovisionerKey,nil
6519+
}
6520+
64666521
func (q*FakeQuerier)InsertReplica(_ context.Context,arg database.InsertReplicaParams) (database.Replica,error) {
64676522
iferr:=validateDatabaseType(arg);err!=nil {
64686523
return database.Replica{},err
@@ -7140,6 +7195,25 @@ func (q *FakeQuerier) InsertWorkspaceResourceMetadata(_ context.Context, arg dat
71407195
returnmetadata,nil
71417196
}
71427197

7198+
func (q*FakeQuerier)ListProvisionerKeysByOrganization(ctx context.Context,organizationID uuid.UUID) ([]database.ListProvisionerKeysByOrganizationRow,error) {
7199+
q.mutex.RLock()
7200+
deferq.mutex.RUnlock()
7201+
7202+
keys:=make([]database.ListProvisionerKeysByOrganizationRow,0)
7203+
for_,key:=rangeq.provisionerKeys {
7204+
ifkey.OrganizationID==organizationID {
7205+
keys=append(keys, database.ListProvisionerKeysByOrganizationRow{
7206+
ID:key.ID,
7207+
CreatedAt:key.CreatedAt,
7208+
OrganizationID:key.OrganizationID,
7209+
Name:key.Name,
7210+
})
7211+
}
7212+
}
7213+
7214+
returnkeys,nil
7215+
}
7216+
71437217
func (q*FakeQuerier)ListWorkspaceAgentPortShares(_ context.Context,workspaceID uuid.UUID) ([]database.WorkspaceAgentPortShare,error) {
71447218
q.mutex.Lock()
71457219
deferq.mutex.Unlock()

‎coderd/database/dbmetrics/dbmetrics.go

Lines changed: 28 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dbmock/dbmock.go

Lines changed: 59 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/dump.sql

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎coderd/database/foreign_key_constraint.go

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
DROPTABLE provisioner_keys;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CREATETABLEprovisioner_keys (
2+
id uuidPRIMARY KEY,
3+
created_attimestamptzNOT NULL,
4+
organization_id uuidNOT NULLREFERENCES organizations (id)ON DELETE CASCADE,
5+
namevarchar(64)NOT NULL,
6+
hashed_secretbyteaNOT NULL,
7+
UNIQUE (organization_id, name)
8+
);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp