- Notifications
You must be signed in to change notification settings - Fork928
feat: create database tables and queries for notifications#13536
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes fromall commits
9789693
8a92c8f
703559c
c1a3010
c25950f
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -817,6 +817,13 @@ func (q *querier) AcquireLock(ctx context.Context, id int64) error { | ||
return q.db.AcquireLock(ctx, id) | ||
} | ||
func (q *querier) AcquireNotificationMessages(ctx context.Context, arg database.AcquireNotificationMessagesParams) ([]database.AcquireNotificationMessagesRow, error) { | ||
if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceSystem); err != nil { | ||
dannykopping marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
return nil, err | ||
} | ||
return q.db.AcquireNotificationMessages(ctx, arg) | ||
} | ||
// TODO: We need to create a ProvisionerJob resource type | ||
func (q *querier) AcquireProvisionerJob(ctx context.Context, arg database.AcquireProvisionerJobParams) (database.ProvisionerJob, error) { | ||
// if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceSystem); err != nil { | ||
@@ -861,6 +868,20 @@ func (q *querier) BatchUpdateWorkspaceLastUsedAt(ctx context.Context, arg databa | ||
return q.db.BatchUpdateWorkspaceLastUsedAt(ctx, arg) | ||
} | ||
func (q *querier) BulkMarkNotificationMessagesFailed(ctx context.Context, arg database.BulkMarkNotificationMessagesFailedParams) (int64, error) { | ||
if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceSystem); err != nil { | ||
return 0, err | ||
} | ||
return q.db.BulkMarkNotificationMessagesFailed(ctx, arg) | ||
} | ||
func (q *querier) BulkMarkNotificationMessagesSent(ctx context.Context, arg database.BulkMarkNotificationMessagesSentParams) (int64, error) { | ||
if err := q.authorizeContext(ctx, policy.ActionUpdate, rbac.ResourceSystem); err != nil { | ||
return 0, err | ||
} | ||
return q.db.BulkMarkNotificationMessagesSent(ctx, arg) | ||
} | ||
func (q *querier) CleanTailnetCoordinators(ctx context.Context) error { | ||
if err := q.authorizeContext(ctx, policy.ActionDelete, rbac.ResourceTailnetCoordinator); err != nil { | ||
return err | ||
@@ -1010,6 +1031,13 @@ func (q *querier) DeleteOAuth2ProviderAppTokensByAppAndUserID(ctx context.Contex | ||
return q.db.DeleteOAuth2ProviderAppTokensByAppAndUserID(ctx, arg) | ||
} | ||
func (q *querier) DeleteOldNotificationMessages(ctx context.Context) error { | ||
if err := q.authorizeContext(ctx, policy.ActionDelete, rbac.ResourceSystem); err != nil { | ||
return err | ||
} | ||
return q.db.DeleteOldNotificationMessages(ctx) | ||
} | ||
func (q *querier) DeleteOldProvisionerDaemons(ctx context.Context) error { | ||
if err := q.authorizeContext(ctx, policy.ActionDelete, rbac.ResourceSystem); err != nil { | ||
return err | ||
@@ -1114,13 +1142,27 @@ func (q *querier) DeleteWorkspaceAgentPortSharesByTemplate(ctx context.Context, | ||
return q.db.DeleteWorkspaceAgentPortSharesByTemplate(ctx, templateID) | ||
} | ||
func (q *querier) EnqueueNotificationMessage(ctx context.Context, arg database.EnqueueNotificationMessageParams) (database.NotificationMessage, error) { | ||
if err := q.authorizeContext(ctx, policy.ActionCreate, rbac.ResourceSystem); err != nil { | ||
return database.NotificationMessage{}, err | ||
} | ||
return q.db.EnqueueNotificationMessage(ctx, arg) | ||
} | ||
func (q *querier) FavoriteWorkspace(ctx context.Context, id uuid.UUID) error { | ||
fetch := func(ctx context.Context, id uuid.UUID) (database.Workspace, error) { | ||
return q.db.GetWorkspaceByID(ctx, id) | ||
} | ||
return update(q.log, q.auth, fetch, q.db.FavoriteWorkspace)(ctx, id) | ||
} | ||
func (q *querier) FetchNewMessageMetadata(ctx context.Context, arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow, error) { | ||
if err := q.authorizeContext(ctx, policy.ActionRead, rbac.ResourceSystem); err != nil { | ||
return database.FetchNewMessageMetadataRow{}, err | ||
} | ||
return q.db.FetchNewMessageMetadata(ctx, arg) | ||
} | ||
func (q *querier) GetAPIKeyByID(ctx context.Context, id string) (database.APIKey, error) { | ||
return fetch(q.log, q.auth, q.db.GetAPIKeyByID)(ctx, id) | ||
} | ||
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -907,6 +907,15 @@ func (*FakeQuerier) AcquireLock(_ context.Context, _ int64) error { | ||
return xerrors.New("AcquireLock must only be called within a transaction") | ||
} | ||
func (*FakeQuerier) AcquireNotificationMessages(_ context.Context, arg database.AcquireNotificationMessagesParams) ([]database.AcquireNotificationMessagesRow, error) { | ||
err := validateDatabaseType(arg) | ||
if err != nil { | ||
return nil, err | ||
} | ||
// nolint:nilnil // Irrelevant. | ||
dannykopping marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
return nil, nil | ||
} | ||
func (q *FakeQuerier) AcquireProvisionerJob(_ context.Context, arg database.AcquireProvisionerJobParams) (database.ProvisionerJob, error) { | ||
if err := validateDatabaseType(arg); err != nil { | ||
return database.ProvisionerJob{}, err | ||
@@ -1169,6 +1178,22 @@ func (q *FakeQuerier) BatchUpdateWorkspaceLastUsedAt(_ context.Context, arg data | ||
return nil | ||
} | ||
func (*FakeQuerier) BulkMarkNotificationMessagesFailed(_ context.Context, arg database.BulkMarkNotificationMessagesFailedParams) (int64, error) { | ||
err := validateDatabaseType(arg) | ||
if err != nil { | ||
return 0, err | ||
} | ||
return -1, nil | ||
} | ||
func (*FakeQuerier) BulkMarkNotificationMessagesSent(_ context.Context, arg database.BulkMarkNotificationMessagesSentParams) (int64, error) { | ||
err := validateDatabaseType(arg) | ||
if err != nil { | ||
return 0, err | ||
} | ||
return -1, nil | ||
} | ||
func (*FakeQuerier) CleanTailnetCoordinators(_ context.Context) error { | ||
return ErrUnimplemented | ||
} | ||
@@ -1504,6 +1529,10 @@ func (q *FakeQuerier) DeleteOAuth2ProviderAppTokensByAppAndUserID(_ context.Cont | ||
return nil | ||
} | ||
func (*FakeQuerier) DeleteOldNotificationMessages(_ context.Context) error { | ||
return nil | ||
} | ||
func (q *FakeQuerier) DeleteOldProvisionerDaemons(_ context.Context) error { | ||
q.mutex.Lock() | ||
defer q.mutex.Unlock() | ||
@@ -1737,6 +1766,14 @@ func (q *FakeQuerier) DeleteWorkspaceAgentPortSharesByTemplate(_ context.Context | ||
return nil | ||
} | ||
func (*FakeQuerier) EnqueueNotificationMessage(_ context.Context, arg database.EnqueueNotificationMessageParams) (database.NotificationMessage, error) { | ||
err := validateDatabaseType(arg) | ||
if err != nil { | ||
return database.NotificationMessage{}, err | ||
} | ||
return database.NotificationMessage{}, nil | ||
} | ||
func (q *FakeQuerier) FavoriteWorkspace(_ context.Context, arg uuid.UUID) error { | ||
err := validateDatabaseType(arg) | ||
if err != nil { | ||
@@ -1756,6 +1793,14 @@ func (q *FakeQuerier) FavoriteWorkspace(_ context.Context, arg uuid.UUID) error | ||
return nil | ||
} | ||
func (*FakeQuerier) FetchNewMessageMetadata(_ context.Context, arg database.FetchNewMessageMetadataParams) (database.FetchNewMessageMetadataRow, error) { | ||
err := validateDatabaseType(arg) | ||
if err != nil { | ||
return database.FetchNewMessageMetadataRow{}, err | ||
} | ||
return database.FetchNewMessageMetadataRow{}, nil | ||
} | ||
func (q *FakeQuerier) GetAPIKeyByID(_ context.Context, id string) (database.APIKey, error) { | ||
q.mutex.RLock() | ||
defer q.mutex.RUnlock() | ||
Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.
Uh oh!
There was an error while loading.Please reload this page.
Some generated files are not rendered by default. Learn more abouthow customized files appear on GitHub.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.