mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) deleting queue from single webhook
Summary: Using standard tost notification, message about webhook queue being overflown was added. message is permanent as long as queue is full. Message contains linkt to the webhook setings Test Plan: two nbrowser test was added - one to check if message is show when queue is full, and second to check if message is dismiss when queue was cleaned. Reviewers: georgegevoian Reviewed By: georgegevoian Subscribers: jarek Differential Revision: https://phab.getgrist.com/D3929
This commit is contained in:
@@ -2,8 +2,8 @@ import {ActionGroup} from 'app/common/ActionGroup';
|
||||
import {DocAction} from 'app/common/DocActions';
|
||||
import {FilteredDocUsageSummary} from 'app/common/DocUsage';
|
||||
import {Product} from 'app/common/Features';
|
||||
import {StringUnion} from 'app/common/StringUnion';
|
||||
import {UserProfile} from 'app/common/LoginSessionAPI';
|
||||
import {StringUnion} from 'app/common/StringUnion';
|
||||
|
||||
export const ValidEvent = StringUnion(
|
||||
'docListAction', 'docUserAction', 'docShutdown', 'docError',
|
||||
@@ -90,11 +90,17 @@ export interface CommDocUserAction extends CommMessageBase {
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
export enum WebhookMessageType {
|
||||
Update = 'webhookUpdate',
|
||||
Overflow = 'webhookOverflowError'
|
||||
}
|
||||
export interface CommDocChatter extends CommMessageBase {
|
||||
type: 'docChatter';
|
||||
docFD: number;
|
||||
data: {
|
||||
webhooks?: {
|
||||
type: WebhookMessageType,
|
||||
// If present, something happened related to webhooks.
|
||||
// Currently, we give no details, leaving it to client
|
||||
// to call back for details if it cares.
|
||||
|
||||
@@ -4,18 +4,18 @@ import {AssistanceRequest, AssistanceResponse} from 'app/common/AssistancePrompt
|
||||
import {BaseAPI, IOptions} from 'app/common/BaseAPI';
|
||||
import {BillingAPI, BillingAPIImpl} from 'app/common/BillingAPI';
|
||||
import {BrowserSettings} from 'app/common/BrowserSettings';
|
||||
import {ICustomWidget} from 'app/common/CustomWidget';
|
||||
import {BulkColValues, TableColValues, TableRecordValue, TableRecordValues, UserAction} from 'app/common/DocActions';
|
||||
import {DocCreationInfo, OpenDocMode} from 'app/common/DocListAPI';
|
||||
import {OrgUsageSummary} from 'app/common/DocUsage';
|
||||
import {Product} from 'app/common/Features';
|
||||
import {ICustomWidget} from 'app/common/CustomWidget';
|
||||
import {isClient} from 'app/common/gristUrls';
|
||||
import {encodeQueryParams} from 'app/common/gutil';
|
||||
import {FullUser, UserProfile} from 'app/common/LoginSessionAPI';
|
||||
import {OrgPrefs, UserOrgPrefs, UserPrefs} from 'app/common/Prefs';
|
||||
import * as roles from 'app/common/roles';
|
||||
import {addCurrentOrgToPath} from 'app/common/urlUtils';
|
||||
import {encodeQueryParams} from 'app/common/gutil';
|
||||
import {WebhookFields, WebhookSubscribe, WebhookSummary, WebhookUpdate} from 'app/common/Triggers';
|
||||
import {addCurrentOrgToPath} from 'app/common/urlUtils';
|
||||
import omitBy from 'lodash/omitBy';
|
||||
|
||||
|
||||
@@ -463,6 +463,7 @@ export interface DocAPI {
|
||||
// Update webhook
|
||||
updateWebhook(webhook: WebhookUpdate): Promise<void>;
|
||||
flushWebhooks(): Promise<void>;
|
||||
flushWebhook(webhookId: string): Promise<void>;
|
||||
|
||||
getAssistance(params: AssistanceRequest): Promise<AssistanceResponse>;
|
||||
}
|
||||
@@ -949,6 +950,12 @@ export class DocAPIImpl extends BaseAPI implements DocAPI {
|
||||
});
|
||||
}
|
||||
|
||||
public async flushWebhook(id: string): Promise<void> {
|
||||
await this.request(`${this._url}/webhooks/queue/${id}`, {
|
||||
method: 'DELETE'
|
||||
});
|
||||
}
|
||||
|
||||
public async forceReload(): Promise<void> {
|
||||
await this.request(`${this._url}/force-reload`, {
|
||||
method: 'POST'
|
||||
|
||||
Reference in New Issue
Block a user