mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) GET endpoint for webhooks returns now data in format {webhooks:[...]}
Summary:
Rework of endpoint GET for webhooks to make it coherent with other endpoints. Now data should be return in {webhooks:[{id:"...",fields:{"..."}]} format
```
{
"webhooks": [
{
"id": ...
"fields": {
"url": ...
"unsubscribeKey": ...
"eventTypes": [
"add",
"update"
],
"isReadyColumn": null,
"tableId": "...",
"enabled": false,
"name": "...",
"memo": "..."
},
"usage": {
"status": "idle",
"numWaiting": 0,
"lastEventBatch": null
}
},
{
"id": "...",
"fields": {
"url": "...",
"unsubscribeKey": "...",
"eventTypes": [
"add",
"update"
],
"isReadyColumn": null,
"tableId": "...",
"enabled": true,
"name": "...",
"memo": "..."
},
"usage": {
"status": "error",
"numWaiting": 0,
"updatedTime": 1689076978098,
"lastEventBatch": {
"status": "rejected",
"httpStatus": 404,
"errorMessage": "{\"success\":false,\"error\":{\"message\":\"Alias 5a9bf6a8-4865-403a-bec6-b4ko not found\",\"id\":null}}",
"size": 49,
"attempts": 5
},
"lastSuccessTime": null,
"lastFailureTime": 1689076978097,
"lastErrorMessage": "{\"success\":false,\"error\":{\"message\":\"Alias 5a9bf6a8-4865-403a-bec6-b4ko not found\",\"id\":null}}",
"lastHttpStatus": 404
}
}
]
}
```
Test Plan: new test added to check if GET data fromat is correct. Other tests fixed to handle changed endpoint.
Reviewers: paulfitz
Reviewed By: paulfitz
Differential Revision: https://phab.getgrist.com/D3966
This commit is contained in:
@@ -135,7 +135,7 @@ class WebhookExternalTable implements IExternalTable {
|
||||
}
|
||||
|
||||
public async fetchAll(): Promise<TableDataAction> {
|
||||
const webhooks = await this._docApi.getWebhooks();
|
||||
const webhooks = (await this._docApi.getWebhooks()).webhooks;
|
||||
this._initalizeWebhookList(webhooks);
|
||||
const indices = range(webhooks.length);
|
||||
return ['TableData', this.name, indices.map(i => i + 1),
|
||||
@@ -222,7 +222,7 @@ class WebhookExternalTable implements IExternalTable {
|
||||
// brute force, on the assumption that there won't be many
|
||||
// webhooks, or that "updating" something that hasn't actually
|
||||
// changed is not disruptive.
|
||||
const webhooks = await this._docApi.getWebhooks();
|
||||
const webhooks = (await this._docApi.getWebhooks()).webhooks;
|
||||
this._initalizeWebhookList(webhooks);
|
||||
for (const webhook of webhooks) {
|
||||
const values = _mapWebhookValues(webhook);
|
||||
|
||||
Reference in New Issue
Block a user