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

Commit6ccaba1

Browse files
committed
feat: database tables & queries
1 parenta11f8b0 commit6ccaba1

File tree

17 files changed

+1109
-3
lines changed

17 files changed

+1109
-3
lines changed

‎coderd/database/dbauthz/dbauthz.go

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -811,6 +811,13 @@ func (q *querier) AcquireLock(ctx context.Context, id int64) error {
811811
returnq.db.AcquireLock(ctx,id)
812812
}
813813

814+
func (q*querier)AcquireNotificationMessages(ctx context.Context,arg database.AcquireNotificationMessagesParams) ([]database.AcquireNotificationMessagesRow,error) {
815+
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceSystem);err!=nil {
816+
returnnil,err
817+
}
818+
returnq.db.AcquireNotificationMessages(ctx,arg)
819+
}
820+
814821
// TODO: We need to create a ProvisionerJob resource type
815822
func (q*querier)AcquireProvisionerJob(ctx context.Context,arg database.AcquireProvisionerJobParams) (database.ProvisionerJob,error) {
816823
// if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceSystem); err != nil {
@@ -855,6 +862,20 @@ func (q *querier) BatchUpdateWorkspaceLastUsedAt(ctx context.Context, arg databa
855862
returnq.db.BatchUpdateWorkspaceLastUsedAt(ctx,arg)
856863
}
857864

865+
func (q*querier)BulkMarkNotificationMessagesFailed(ctx context.Context,arg database.BulkMarkNotificationMessagesFailedParams) (int64,error) {
866+
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceSystem);err!=nil {
867+
return0,err
868+
}
869+
returnq.db.BulkMarkNotificationMessagesFailed(ctx,arg)
870+
}
871+
872+
func (q*querier)BulkMarkNotificationMessagesSent(ctx context.Context,arg database.BulkMarkNotificationMessagesSentParams) (int64,error) {
873+
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceSystem);err!=nil {
874+
return0,err
875+
}
876+
returnq.db.BulkMarkNotificationMessagesSent(ctx,arg)
877+
}
878+
858879
func (q*querier)CleanTailnetCoordinators(ctx context.Context)error {
859880
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceTailnetCoordinator);err!=nil {
860881
returnerr
@@ -1004,6 +1025,13 @@ func (q *querier) DeleteOAuth2ProviderAppTokensByAppAndUserID(ctx context.Contex
10041025
returnq.db.DeleteOAuth2ProviderAppTokensByAppAndUserID(ctx,arg)
10051026
}
10061027

1028+
func (q*querier)DeleteOldNotificationMessages(ctx context.Context)error {
1029+
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceSystem);err!=nil {
1030+
returnerr
1031+
}
1032+
returnq.db.DeleteOldNotificationMessages(ctx)
1033+
}
1034+
10071035
func (q*querier)DeleteOldProvisionerDaemons(ctx context.Context)error {
10081036
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceSystem);err!=nil {
10091037
returnerr
@@ -1098,13 +1126,27 @@ func (q *querier) DeleteWorkspaceAgentPortSharesByTemplate(ctx context.Context,
10981126
returnq.db.DeleteWorkspaceAgentPortSharesByTemplate(ctx,templateID)
10991127
}
11001128

1129+
func (q*querier)EnqueueNotificationMessage(ctx context.Context,arg database.EnqueueNotificationMessageParams) (database.NotificationMessage,error) {
1130+
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceSystem);err!=nil {
1131+
return database.NotificationMessage{},err
1132+
}
1133+
returnq.db.EnqueueNotificationMessage(ctx,arg)
1134+
}
1135+
11011136
func (q*querier)FavoriteWorkspace(ctx context.Context,id uuid.UUID)error {
11021137
fetch:=func(ctx context.Context,id uuid.UUID) (database.Workspace,error) {
11031138
returnq.db.GetWorkspaceByID(ctx,id)
11041139
}
11051140
returnupdate(q.log,q.auth,fetch,q.db.FavoriteWorkspace)(ctx,id)
11061141
}
11071142

1143+
func (q*querier)FetchNewMessageMetadata(ctx context.Context,arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow,error) {
1144+
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceSystem);err!=nil {
1145+
return database.FetchNewMessageMetadataRow{},err
1146+
}
1147+
returnq.db.FetchNewMessageMetadata(ctx,arg)
1148+
}
1149+
11081150
func (q*querier)GetAPIKeyByID(ctx context.Context,idstring) (database.APIKey,error) {
11091151
returnfetch(q.log,q.auth,q.db.GetAPIKeyByID)(ctx,id)
11101152
}
@@ -2459,6 +2501,13 @@ func (q *querier) InsertMissingGroups(ctx context.Context, arg database.InsertMi
24592501
returnq.db.InsertMissingGroups(ctx,arg)
24602502
}
24612503

2504+
func (q*querier)InsertNotificationTemplate(ctx context.Context,arg database.InsertNotificationTemplateParams) (database.NotificationTemplate,error) {
2505+
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceSystem);err!=nil {
2506+
return database.NotificationTemplate{},err
2507+
}
2508+
returnq.db.InsertNotificationTemplate(ctx,arg)
2509+
}
2510+
24622511
func (q*querier)InsertOAuth2ProviderApp(ctx context.Context,arg database.InsertOAuth2ProviderAppParams) (database.OAuth2ProviderApp,error) {
24632512
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceOauth2App);err!=nil {
24642513
return database.OAuth2ProviderApp{},err

‎coderd/database/dbauthz/dbauthz_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2435,6 +2435,36 @@ func (s *MethodTestSuite) TestSystemFunctions() {
24352435
AgentID:uuid.New(),
24362436
}).Asserts(tpl,policy.ActionCreate)
24372437
}))
2438+
s.Run("AcquireNotificationMessages",s.Subtest(func(db database.Store,check*expects) {
2439+
// TODO: update this test once we have a specific role for notifications
2440+
check.Args(database.AcquireNotificationMessagesParams{}).Asserts(rbac.ResourceSystem,policy.ActionUpdate)
2441+
}))
2442+
s.Run("BulkMarkNotificationMessagesFailed",s.Subtest(func(db database.Store,check*expects) {
2443+
// TODO: update this test once we have a specific role for notifications
2444+
check.Args(database.BulkMarkNotificationMessagesFailedParams{}).Asserts(rbac.ResourceSystem,policy.ActionUpdate)
2445+
}))
2446+
s.Run("BulkMarkNotificationMessagesSent",s.Subtest(func(db database.Store,check*expects) {
2447+
// TODO: update this test once we have a specific role for notifications
2448+
check.Args(database.BulkMarkNotificationMessagesSentParams{}).Asserts(rbac.ResourceSystem,policy.ActionUpdate)
2449+
}))
2450+
s.Run("DeleteOldNotificationMessages",s.Subtest(func(db database.Store,check*expects) {
2451+
// TODO: update this test once we have a specific role for notifications
2452+
check.Args().Asserts(rbac.ResourceSystem,policy.ActionDelete)
2453+
}))
2454+
s.Run("EnqueueNotificationMessage",s.Subtest(func(db database.Store,check*expects) {
2455+
// TODO: update this test once we have a specific role for notifications
2456+
check.Args(database.EnqueueNotificationMessageParams{
2457+
Method:database.NotificationMethodWebhook,
2458+
}).Asserts(rbac.ResourceSystem,policy.ActionCreate)
2459+
}))
2460+
s.Run("FetchNewMessageMetadata",s.Subtest(func(db database.Store,check*expects) {
2461+
// TODO: update this test once we have a specific role for notifications
2462+
check.Args(database.FetchNewMessageMetadataParams{}).Asserts(rbac.ResourceSystem,policy.ActionRead)
2463+
}))
2464+
s.Run("InsertNotificationTemplate",s.Subtest(func(db database.Store,check*expects) {
2465+
// TODO: update this test once we have a specific role for notifications
2466+
check.Args(database.InsertNotificationTemplateParams{}).Asserts(rbac.ResourceSystem,policy.ActionCreate)
2467+
}))
24382468
}
24392469

24402470
func (s*MethodTestSuite)TestOAuth2ProviderApps() {

‎coderd/database/dbmem/dbmem.go

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,15 @@ func (*FakeQuerier) AcquireLock(_ context.Context, _ int64) error {
905905
returnxerrors.New("AcquireLock must only be called within a transaction")
906906
}
907907

908+
func (*FakeQuerier)AcquireNotificationMessages(_ context.Context,arg database.AcquireNotificationMessagesParams) ([]database.AcquireNotificationMessagesRow,error) {
909+
err:=validateDatabaseType(arg)
910+
iferr!=nil {
911+
returnnil,err
912+
}
913+
// nolint:nilnil // Irrelevant.
914+
returnnil,nil
915+
}
916+
908917
func (q*FakeQuerier)AcquireProvisionerJob(_ context.Context,arg database.AcquireProvisionerJobParams) (database.ProvisionerJob,error) {
909918
iferr:=validateDatabaseType(arg);err!=nil {
910919
return database.ProvisionerJob{},err
@@ -1167,6 +1176,22 @@ func (q *FakeQuerier) BatchUpdateWorkspaceLastUsedAt(_ context.Context, arg data
11671176
returnnil
11681177
}
11691178

1179+
func (*FakeQuerier)BulkMarkNotificationMessagesFailed(_ context.Context,arg database.BulkMarkNotificationMessagesFailedParams) (int64,error) {
1180+
err:=validateDatabaseType(arg)
1181+
iferr!=nil {
1182+
return0,err
1183+
}
1184+
return-1,nil
1185+
}
1186+
1187+
func (*FakeQuerier)BulkMarkNotificationMessagesSent(_ context.Context,arg database.BulkMarkNotificationMessagesSentParams) (int64,error) {
1188+
err:=validateDatabaseType(arg)
1189+
iferr!=nil {
1190+
return0,err
1191+
}
1192+
return-1,nil
1193+
}
1194+
11701195
func (*FakeQuerier)CleanTailnetCoordinators(_ context.Context)error {
11711196
returnErrUnimplemented
11721197
}
@@ -1502,6 +1527,10 @@ func (q *FakeQuerier) DeleteOAuth2ProviderAppTokensByAppAndUserID(_ context.Cont
15021527
returnnil
15031528
}
15041529

1530+
func (*FakeQuerier)DeleteOldNotificationMessages(_ context.Context)error {
1531+
returnnil
1532+
}
1533+
15051534
func (q*FakeQuerier)DeleteOldProvisionerDaemons(_ context.Context)error {
15061535
q.mutex.Lock()
15071536
deferq.mutex.Unlock()
@@ -1717,6 +1746,14 @@ func (q *FakeQuerier) DeleteWorkspaceAgentPortSharesByTemplate(_ context.Context
17171746
returnnil
17181747
}
17191748

1749+
func (*FakeQuerier)EnqueueNotificationMessage(_ context.Context,arg database.EnqueueNotificationMessageParams) (database.NotificationMessage,error) {
1750+
err:=validateDatabaseType(arg)
1751+
iferr!=nil {
1752+
return database.NotificationMessage{},err
1753+
}
1754+
return database.NotificationMessage{},nil
1755+
}
1756+
17201757
func (q*FakeQuerier)FavoriteWorkspace(_ context.Context,arg uuid.UUID)error {
17211758
err:=validateDatabaseType(arg)
17221759
iferr!=nil {
@@ -1736,6 +1773,14 @@ func (q *FakeQuerier) FavoriteWorkspace(_ context.Context, arg uuid.UUID) error
17361773
returnnil
17371774
}
17381775

1776+
func (*FakeQuerier)FetchNewMessageMetadata(_ context.Context,arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow,error) {
1777+
err:=validateDatabaseType(arg)
1778+
iferr!=nil {
1779+
return database.FetchNewMessageMetadataRow{},err
1780+
}
1781+
return database.FetchNewMessageMetadataRow{},nil
1782+
}
1783+
17391784
func (q*FakeQuerier)GetAPIKeyByID(_ context.Context,idstring) (database.APIKey,error) {
17401785
q.mutex.RLock()
17411786
deferq.mutex.RUnlock()
@@ -6063,6 +6108,14 @@ func (q *FakeQuerier) InsertMissingGroups(_ context.Context, arg database.Insert
60636108
returnnewGroups,nil
60646109
}
60656110

6111+
func (*FakeQuerier)InsertNotificationTemplate(_ context.Context,arg database.InsertNotificationTemplateParams) (database.NotificationTemplate,error) {
6112+
err:=validateDatabaseType(arg)
6113+
iferr!=nil {
6114+
return database.NotificationTemplate{},err
6115+
}
6116+
return database.NotificationTemplate{},nil
6117+
}
6118+
60666119
func (q*FakeQuerier)InsertOAuth2ProviderApp(_ context.Context,arg database.InsertOAuth2ProviderAppParams) (database.OAuth2ProviderApp,error) {
60676120
err:=validateDatabaseType(arg)
60686121
iferr!=nil {

‎coderd/database/dbmetrics/dbmetrics.go

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

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp