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

Commit25636ec

Browse files
committed
feat: database tables & queries
1 parent7958c52 commit25636ec

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
@@ -785,6 +785,13 @@ func (q *querier) AcquireLock(ctx context.Context, id int64) error {
785785
returnq.db.AcquireLock(ctx,id)
786786
}
787787

788+
func (q*querier)AcquireNotificationMessages(ctx context.Context,arg database.AcquireNotificationMessagesParams) ([]database.AcquireNotificationMessagesRow,error) {
789+
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceSystem);err!=nil {
790+
returnnil,err
791+
}
792+
returnq.db.AcquireNotificationMessages(ctx,arg)
793+
}
794+
788795
// TODO: We need to create a ProvisionerJob resource type
789796
func (q*querier)AcquireProvisionerJob(ctx context.Context,arg database.AcquireProvisionerJobParams) (database.ProvisionerJob,error) {
790797
// if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceSystem); err != nil {
@@ -829,6 +836,20 @@ func (q *querier) BatchUpdateWorkspaceLastUsedAt(ctx context.Context, arg databa
829836
returnq.db.BatchUpdateWorkspaceLastUsedAt(ctx,arg)
830837
}
831838

839+
func (q*querier)BulkMarkNotificationMessagesFailed(ctx context.Context,arg database.BulkMarkNotificationMessagesFailedParams) (int64,error) {
840+
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceSystem);err!=nil {
841+
return0,err
842+
}
843+
returnq.db.BulkMarkNotificationMessagesFailed(ctx,arg)
844+
}
845+
846+
func (q*querier)BulkMarkNotificationMessagesSent(ctx context.Context,arg database.BulkMarkNotificationMessagesSentParams) (int64,error) {
847+
iferr:=q.authorizeContext(ctx,policy.ActionUpdate,rbac.ResourceSystem);err!=nil {
848+
return0,err
849+
}
850+
returnq.db.BulkMarkNotificationMessagesSent(ctx,arg)
851+
}
852+
832853
func (q*querier)CleanTailnetCoordinators(ctx context.Context)error {
833854
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceTailnetCoordinator);err!=nil {
834855
returnerr
@@ -978,6 +999,13 @@ func (q *querier) DeleteOAuth2ProviderAppTokensByAppAndUserID(ctx context.Contex
978999
returnq.db.DeleteOAuth2ProviderAppTokensByAppAndUserID(ctx,arg)
9791000
}
9801001

1002+
func (q*querier)DeleteOldNotificationMessages(ctx context.Context)error {
1003+
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceSystem);err!=nil {
1004+
returnerr
1005+
}
1006+
returnq.db.DeleteOldNotificationMessages(ctx)
1007+
}
1008+
9811009
func (q*querier)DeleteOldProvisionerDaemons(ctx context.Context)error {
9821010
iferr:=q.authorizeContext(ctx,policy.ActionDelete,rbac.ResourceSystem);err!=nil {
9831011
returnerr
@@ -1072,13 +1100,27 @@ func (q *querier) DeleteWorkspaceAgentPortSharesByTemplate(ctx context.Context,
10721100
returnq.db.DeleteWorkspaceAgentPortSharesByTemplate(ctx,templateID)
10731101
}
10741102

1103+
func (q*querier)EnqueueNotificationMessage(ctx context.Context,arg database.EnqueueNotificationMessageParams) (database.NotificationMessage,error) {
1104+
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceSystem);err!=nil {
1105+
return database.NotificationMessage{},err
1106+
}
1107+
returnq.db.EnqueueNotificationMessage(ctx,arg)
1108+
}
1109+
10751110
func (q*querier)FavoriteWorkspace(ctx context.Context,id uuid.UUID)error {
10761111
fetch:=func(ctx context.Context,id uuid.UUID) (database.Workspace,error) {
10771112
returnq.db.GetWorkspaceByID(ctx,id)
10781113
}
10791114
returnupdate(q.log,q.auth,fetch,q.db.FavoriteWorkspace)(ctx,id)
10801115
}
10811116

1117+
func (q*querier)FetchNewMessageMetadata(ctx context.Context,arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow,error) {
1118+
iferr:=q.authorizeContext(ctx,policy.ActionRead,rbac.ResourceSystem);err!=nil {
1119+
return database.FetchNewMessageMetadataRow{},err
1120+
}
1121+
returnq.db.FetchNewMessageMetadata(ctx,arg)
1122+
}
1123+
10821124
func (q*querier)GetAPIKeyByID(ctx context.Context,idstring) (database.APIKey,error) {
10831125
returnfetch(q.log,q.auth,q.db.GetAPIKeyByID)(ctx,id)
10841126
}
@@ -2433,6 +2475,13 @@ func (q *querier) InsertMissingGroups(ctx context.Context, arg database.InsertMi
24332475
returnq.db.InsertMissingGroups(ctx,arg)
24342476
}
24352477

2478+
func (q*querier)InsertNotificationTemplate(ctx context.Context,arg database.InsertNotificationTemplateParams) (database.NotificationTemplate,error) {
2479+
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceSystem);err!=nil {
2480+
return database.NotificationTemplate{},err
2481+
}
2482+
returnq.db.InsertNotificationTemplate(ctx,arg)
2483+
}
2484+
24362485
func (q*querier)InsertOAuth2ProviderApp(ctx context.Context,arg database.InsertOAuth2ProviderAppParams) (database.OAuth2ProviderApp,error) {
24372486
iferr:=q.authorizeContext(ctx,policy.ActionCreate,rbac.ResourceOauth2App);err!=nil {
24382487
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