@bigbinary/neeto-webhooks-frontend 1.5.9 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +552 -291
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +554 -295
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import React, { createElement, isValidElement, cloneElement, createContext, useContext, useState, useRef, useEffect, useCallback } from 'react';
|
|
2
|
-
import { useParams,
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { dateFormat, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
6
|
-
import { Close, Check, Info, MenuHorizontal } from '@bigbinary/neeto-icons';
|
|
2
|
+
import { useParams, useRouteMatch, Switch as Switch$1, Route } from 'react-router-dom';
|
|
3
|
+
import { isPresent, removeBy, isNotEmpty, removeById, findBy } from '@bigbinary/neeto-commons-frontend/pure';
|
|
4
|
+
import Container from '@bigbinary/neeto-molecules/Container';
|
|
7
5
|
import Header$2 from '@bigbinary/neeto-molecules/Header';
|
|
8
6
|
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
7
|
+
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
8
|
+
import { Spinner, Typography, Tag, Tab, Pane, Button, Table, NoData, Dropdown, Alert } from '@bigbinary/neetoui';
|
|
11
9
|
import { QueryClient, QueryCache, QueryClientProvider, useQuery, useQueryClient, useMutation } from 'react-query';
|
|
12
10
|
import { ReactQueryDevtools } from 'react-query/devtools';
|
|
11
|
+
import { DEFAULT_STALE_TIME, SINGULAR, PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
13
12
|
import axios from 'axios';
|
|
14
|
-
import
|
|
13
|
+
import DateFormat from '@bigbinary/neeto-molecules/DateFormat';
|
|
14
|
+
import { prop, pluck, assoc } from 'ramda';
|
|
15
|
+
import { MenuHorizontal, Info } from '@bigbinary/neeto-icons';
|
|
16
|
+
import { Form, Input, Select, Switch, ActionBlock } from '@bigbinary/neetoui/formik';
|
|
17
|
+
import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
15
18
|
import * as yup from 'yup';
|
|
16
19
|
|
|
17
20
|
const consoleLogger = {
|
|
@@ -2852,6 +2855,12 @@ function useTranslation(ns) {
|
|
|
2852
2855
|
});
|
|
2853
2856
|
}
|
|
2854
2857
|
|
|
2858
|
+
var common = {
|
|
2859
|
+
event_one: "Event",
|
|
2860
|
+
event_other: "Events",
|
|
2861
|
+
endpoint: "Endpoint",
|
|
2862
|
+
responseStatus: "Response status"
|
|
2863
|
+
};
|
|
2855
2864
|
var entity = {
|
|
2856
2865
|
webhook: "webhook",
|
|
2857
2866
|
configure: "Configure"
|
|
@@ -2859,14 +2868,19 @@ var entity = {
|
|
|
2859
2868
|
var buttons = {
|
|
2860
2869
|
saveChanges: "Save changes",
|
|
2861
2870
|
cancel: "Cancel",
|
|
2862
|
-
"delete": "Delete"
|
|
2871
|
+
"delete": "Delete",
|
|
2872
|
+
edit: "Edit",
|
|
2873
|
+
viewDetails: "View details"
|
|
2863
2874
|
};
|
|
2864
2875
|
var errors = {
|
|
2865
2876
|
webhook: {
|
|
2866
2877
|
required: "Please enter your endpoint URL",
|
|
2867
2878
|
invalidUrl: "Please enter a valid URL",
|
|
2868
2879
|
invalidUrlProtocol: "Please enter a valid URL. URL must begin with http or https",
|
|
2869
|
-
urlNotUnique: "Endpoint URL must be unique"
|
|
2880
|
+
urlNotUnique: "Endpoint URL must be unique",
|
|
2881
|
+
events: {
|
|
2882
|
+
required: "Please select atleast one webhook event"
|
|
2883
|
+
}
|
|
2870
2884
|
}
|
|
2871
2885
|
};
|
|
2872
2886
|
var delivery = {
|
|
@@ -2878,6 +2892,7 @@ var delivery = {
|
|
|
2878
2892
|
header: "Header",
|
|
2879
2893
|
body: "Body",
|
|
2880
2894
|
payload: "Payload",
|
|
2895
|
+
identifier: "Identifier",
|
|
2881
2896
|
empty: {
|
|
2882
2897
|
title: "There are no deliveries to show.",
|
|
2883
2898
|
description: "No events have been sent to this webhook"
|
|
@@ -2889,10 +2904,18 @@ var webhook = {
|
|
|
2889
2904
|
empty: "There are no webhooks defined currently",
|
|
2890
2905
|
add: "Add new webhook",
|
|
2891
2906
|
endpoint: "Endpoint",
|
|
2907
|
+
event_one: "Event",
|
|
2908
|
+
event_other: "Events",
|
|
2892
2909
|
endpointPlaceholder: "Enter endpoint URL",
|
|
2910
|
+
eventPlaceholder: "Select webhook events",
|
|
2893
2911
|
secret: "Secret key (optional) <helpLink><info></helpLink>",
|
|
2894
2912
|
secretPlaceholder: "Enter secret key",
|
|
2895
|
-
edit: "Edit Webhook"
|
|
2913
|
+
edit: "Edit Webhook",
|
|
2914
|
+
active: "Active",
|
|
2915
|
+
activeStatuses: {
|
|
2916
|
+
yes: "Yes",
|
|
2917
|
+
no: "No"
|
|
2918
|
+
}
|
|
2896
2919
|
};
|
|
2897
2920
|
var operation = {
|
|
2898
2921
|
edit: "Edit",
|
|
@@ -2904,14 +2927,21 @@ var alert = {
|
|
|
2904
2927
|
message: "You are deleting the {{entity}}."
|
|
2905
2928
|
}
|
|
2906
2929
|
};
|
|
2930
|
+
var tableHeaders = {
|
|
2931
|
+
active: "Active",
|
|
2932
|
+
details: "Details",
|
|
2933
|
+
createdAt: "Created at"
|
|
2934
|
+
};
|
|
2907
2935
|
var en = {
|
|
2936
|
+
common: common,
|
|
2908
2937
|
entity: entity,
|
|
2909
2938
|
buttons: buttons,
|
|
2910
2939
|
errors: errors,
|
|
2911
2940
|
delivery: delivery,
|
|
2912
2941
|
webhook: webhook,
|
|
2913
2942
|
operation: operation,
|
|
2914
|
-
alert: alert
|
|
2943
|
+
alert: alert,
|
|
2944
|
+
tableHeaders: tableHeaders
|
|
2915
2945
|
};
|
|
2916
2946
|
|
|
2917
2947
|
instance.use(initReactI18next).init({
|
|
@@ -2958,6 +2988,124 @@ function _toConsumableArray(arr) {
|
|
|
2958
2988
|
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
2959
2989
|
}
|
|
2960
2990
|
|
|
2991
|
+
function _arrayWithHoles(arr) {
|
|
2992
|
+
if (Array.isArray(arr)) return arr;
|
|
2993
|
+
}
|
|
2994
|
+
|
|
2995
|
+
function _iterableToArrayLimit(arr, i) {
|
|
2996
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
2997
|
+
if (null != _i) {
|
|
2998
|
+
var _s,
|
|
2999
|
+
_e,
|
|
3000
|
+
_x,
|
|
3001
|
+
_r,
|
|
3002
|
+
_arr = [],
|
|
3003
|
+
_n = !0,
|
|
3004
|
+
_d = !1;
|
|
3005
|
+
try {
|
|
3006
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
3007
|
+
if (Object(_i) !== _i) return;
|
|
3008
|
+
_n = !1;
|
|
3009
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
3010
|
+
} catch (err) {
|
|
3011
|
+
_d = !0, _e = err;
|
|
3012
|
+
} finally {
|
|
3013
|
+
try {
|
|
3014
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
3015
|
+
} finally {
|
|
3016
|
+
if (_d) throw _e;
|
|
3017
|
+
}
|
|
3018
|
+
}
|
|
3019
|
+
return _arr;
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
3022
|
+
|
|
3023
|
+
function _nonIterableRest() {
|
|
3024
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3025
|
+
}
|
|
3026
|
+
|
|
3027
|
+
function _slicedToArray(arr, i) {
|
|
3028
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
3029
|
+
}
|
|
3030
|
+
|
|
3031
|
+
var queryClient = new QueryClient({
|
|
3032
|
+
queryCache: new QueryCache(),
|
|
3033
|
+
defaultOptions: {
|
|
3034
|
+
queries: {
|
|
3035
|
+
staleTime: DEFAULT_STALE_TIME
|
|
3036
|
+
}
|
|
3037
|
+
}
|
|
3038
|
+
});
|
|
3039
|
+
|
|
3040
|
+
/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */
|
|
3041
|
+
var withReactQuery = function withReactQuery(Component) {
|
|
3042
|
+
var QueryWrapper = function QueryWrapper(props) {
|
|
3043
|
+
return /*#__PURE__*/React.createElement(QueryClientProvider, {
|
|
3044
|
+
client: queryClient
|
|
3045
|
+
}, /*#__PURE__*/React.createElement(Component, props), /*#__PURE__*/React.createElement(ReactQueryDevtools, {
|
|
3046
|
+
initialIsOpen: false,
|
|
3047
|
+
position: "bottom-right"
|
|
3048
|
+
}));
|
|
3049
|
+
};
|
|
3050
|
+
return QueryWrapper;
|
|
3051
|
+
};
|
|
3052
|
+
|
|
3053
|
+
var baseUrl$2 = "/webhooks/deliveries";
|
|
3054
|
+
var fetch$1 = function fetch(params) {
|
|
3055
|
+
return axios.get(baseUrl$2, {
|
|
3056
|
+
params: params
|
|
3057
|
+
});
|
|
3058
|
+
};
|
|
3059
|
+
var show$1 = function show(id) {
|
|
3060
|
+
return axios.get("".concat(baseUrl$2, "/").concat(id));
|
|
3061
|
+
};
|
|
3062
|
+
var redeliver = function redeliver(id) {
|
|
3063
|
+
return axios.post("".concat(baseUrl$2, "/").concat(id, "/redeliver"));
|
|
3064
|
+
};
|
|
3065
|
+
var deliveriesApi = {
|
|
3066
|
+
fetch: fetch$1,
|
|
3067
|
+
show: show$1,
|
|
3068
|
+
redeliver: redeliver
|
|
3069
|
+
};
|
|
3070
|
+
|
|
3071
|
+
var QUERY_KEYS = {
|
|
3072
|
+
DELIVERY_LIST: "delivery-list",
|
|
3073
|
+
DELIVERY_DETAILS: "delivery-details",
|
|
3074
|
+
WEBHOOK_LIST: "webhook-list",
|
|
3075
|
+
WEBHOOK_DETAILS: "webhook-details",
|
|
3076
|
+
EVENTS_LIST: "events-list"
|
|
3077
|
+
};
|
|
3078
|
+
var DELIVERY_STALE_TIME = 3200000; // 1 hour
|
|
3079
|
+
var WEBHOOK_STALE_TIME = 3200000; // 1 hour
|
|
3080
|
+
var POST_REDELIVERY_ON_SUCCESS_TIMEOUT = 5000; // 5 seconds
|
|
3081
|
+
|
|
3082
|
+
var useFetchDeliveries = function useFetchDeliveries(params) {
|
|
3083
|
+
return useQuery([QUERY_KEYS.DELIVERY_LIST, params], function () {
|
|
3084
|
+
return deliveriesApi.fetch(params);
|
|
3085
|
+
}, {
|
|
3086
|
+
staleTime: DELIVERY_STALE_TIME
|
|
3087
|
+
});
|
|
3088
|
+
};
|
|
3089
|
+
var useShowDelivery = function useShowDelivery(id) {
|
|
3090
|
+
return useQuery([QUERY_KEYS.DELIVERY_DETAILS, id], function () {
|
|
3091
|
+
return deliveriesApi.show(id);
|
|
3092
|
+
}, {
|
|
3093
|
+
staleTime: DELIVERY_STALE_TIME
|
|
3094
|
+
});
|
|
3095
|
+
};
|
|
3096
|
+
var useRedeliverWebhook = function useRedeliverWebhook() {
|
|
3097
|
+
var queryClient = useQueryClient();
|
|
3098
|
+
return useMutation(deliveriesApi.redeliver, {
|
|
3099
|
+
onSuccess: function onSuccess() {
|
|
3100
|
+
setTimeout(function () {
|
|
3101
|
+
return queryClient.invalidateQueries(QUERY_KEYS.DELIVERY_LIST);
|
|
3102
|
+
}, POST_REDELIVERY_ON_SUCCESS_TIMEOUT);
|
|
3103
|
+
}
|
|
3104
|
+
});
|
|
3105
|
+
};
|
|
3106
|
+
|
|
3107
|
+
var DEFAULT_PAGE_SIZE = 10;
|
|
3108
|
+
|
|
2961
3109
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
2962
3110
|
try {
|
|
2963
3111
|
var info = gen[key](arg);
|
|
@@ -3338,137 +3486,24 @@ try {
|
|
|
3338
3486
|
|
|
3339
3487
|
var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
|
|
3340
3488
|
|
|
3341
|
-
var queryClient = new QueryClient({
|
|
3342
|
-
queryCache: new QueryCache()
|
|
3343
|
-
});
|
|
3344
|
-
|
|
3345
|
-
var withReactQuery = function withReactQuery(Component) {
|
|
3346
|
-
var QueryWrapper = function QueryWrapper(props) {
|
|
3347
|
-
return /*#__PURE__*/React.createElement(QueryClientProvider, {
|
|
3348
|
-
client: queryClient
|
|
3349
|
-
}, /*#__PURE__*/React.createElement(Component, props), /*#__PURE__*/React.createElement(ReactQueryDevtools, {
|
|
3350
|
-
initialIsOpen: false,
|
|
3351
|
-
position: "bottom-right"
|
|
3352
|
-
}));
|
|
3353
|
-
};
|
|
3354
|
-
return QueryWrapper;
|
|
3355
|
-
};
|
|
3356
|
-
|
|
3357
|
-
var baseUrl$1 = "/webhooks/deliveries";
|
|
3358
|
-
var fetch$1 = function fetch(webhook_id) {
|
|
3359
|
-
return axios.get(baseUrl$1, {
|
|
3360
|
-
params: {
|
|
3361
|
-
webhook_id: webhook_id
|
|
3362
|
-
}
|
|
3363
|
-
});
|
|
3364
|
-
};
|
|
3365
|
-
var show$1 = function show(id) {
|
|
3366
|
-
return axios.get("".concat(baseUrl$1, "/").concat(id));
|
|
3367
|
-
};
|
|
3368
|
-
var redeliver = function redeliver(id) {
|
|
3369
|
-
return axios.post("".concat(baseUrl$1, "/").concat(id, "/redeliver"));
|
|
3370
|
-
};
|
|
3371
|
-
var deliveriesApi = {
|
|
3372
|
-
fetch: fetch$1,
|
|
3373
|
-
show: show$1,
|
|
3374
|
-
redeliver: redeliver
|
|
3375
|
-
};
|
|
3376
|
-
|
|
3377
|
-
var QUERY_KEYS = {
|
|
3378
|
-
DELIVERY_LIST: "delivery-list",
|
|
3379
|
-
DELIVERY_DETAILS: "delivery-details",
|
|
3380
|
-
WEBHOOK_LIST: "webhook-list",
|
|
3381
|
-
WEBHOOK_DETAILS: "webhook-details"
|
|
3382
|
-
};
|
|
3383
|
-
var DELIVERY_STALE_TIME = 3200000; // 1 hour
|
|
3384
|
-
var WEBHOOK_STALE_TIME = 3200000; // 1 hour
|
|
3385
|
-
var POST_REDELIVERY_ON_SUCCESS_TIMEOUT = 5000; // 5 seconds
|
|
3386
|
-
|
|
3387
|
-
var useFetchDeliveries = function useFetchDeliveries(webhookId) {
|
|
3388
|
-
return useQuery([QUERY_KEYS.DELIVERY_LIST, webhookId], function () {
|
|
3389
|
-
return deliveriesApi.fetch(webhookId);
|
|
3390
|
-
}, {
|
|
3391
|
-
staleTime: DELIVERY_STALE_TIME
|
|
3392
|
-
});
|
|
3393
|
-
};
|
|
3394
|
-
var useShowDelivery = function useShowDelivery(id) {
|
|
3395
|
-
return useQuery([QUERY_KEYS.DELIVERY_DETAILS, id], function () {
|
|
3396
|
-
return deliveriesApi.show(id);
|
|
3397
|
-
}, {
|
|
3398
|
-
staleTime: DELIVERY_STALE_TIME
|
|
3399
|
-
});
|
|
3400
|
-
};
|
|
3401
|
-
var useRedeliverWebhook = function useRedeliverWebhook() {
|
|
3402
|
-
var queryClient = useQueryClient();
|
|
3403
|
-
return useMutation(deliveriesApi.redeliver, {
|
|
3404
|
-
onSuccess: function onSuccess() {
|
|
3405
|
-
setTimeout(function () {
|
|
3406
|
-
return queryClient.invalidateQueries(QUERY_KEYS.DELIVERY_LIST);
|
|
3407
|
-
}, POST_REDELIVERY_ON_SUCCESS_TIMEOUT);
|
|
3408
|
-
}
|
|
3409
|
-
});
|
|
3410
|
-
};
|
|
3411
|
-
|
|
3412
3489
|
var DELIVERY_TAB = {
|
|
3413
3490
|
response: "response",
|
|
3414
3491
|
request: "request"
|
|
3415
3492
|
};
|
|
3416
|
-
var DELIVERY_STATUS = {
|
|
3417
|
-
failure: "failure",
|
|
3418
|
-
success: "success"
|
|
3419
|
-
};
|
|
3420
|
-
|
|
3421
|
-
function _arrayWithHoles(arr) {
|
|
3422
|
-
if (Array.isArray(arr)) return arr;
|
|
3423
|
-
}
|
|
3424
|
-
|
|
3425
|
-
function _iterableToArrayLimit(arr, i) {
|
|
3426
|
-
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
3427
|
-
if (null != _i) {
|
|
3428
|
-
var _s,
|
|
3429
|
-
_e,
|
|
3430
|
-
_x,
|
|
3431
|
-
_r,
|
|
3432
|
-
_arr = [],
|
|
3433
|
-
_n = !0,
|
|
3434
|
-
_d = !1;
|
|
3435
|
-
try {
|
|
3436
|
-
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
3437
|
-
if (Object(_i) !== _i) return;
|
|
3438
|
-
_n = !1;
|
|
3439
|
-
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
3440
|
-
} catch (err) {
|
|
3441
|
-
_d = !0, _e = err;
|
|
3442
|
-
} finally {
|
|
3443
|
-
try {
|
|
3444
|
-
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
3445
|
-
} finally {
|
|
3446
|
-
if (_d) throw _e;
|
|
3447
|
-
}
|
|
3448
|
-
}
|
|
3449
|
-
return _arr;
|
|
3450
|
-
}
|
|
3451
|
-
}
|
|
3452
|
-
|
|
3453
|
-
function _nonIterableRest() {
|
|
3454
|
-
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3455
|
-
}
|
|
3456
|
-
|
|
3457
|
-
function _slicedToArray(arr, i) {
|
|
3458
|
-
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
3459
|
-
}
|
|
3460
3493
|
|
|
3461
3494
|
var Snippet = function Snippet(_ref) {
|
|
3462
3495
|
var children = _ref.children;
|
|
3463
3496
|
return /*#__PURE__*/React.createElement("div", {
|
|
3464
|
-
className: "my-2 whitespace-pre-wrap break-all
|
|
3497
|
+
className: "neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-gray-100 my-2 whitespace-pre-wrap break-all border p-4"
|
|
3465
3498
|
}, children);
|
|
3466
3499
|
};
|
|
3467
3500
|
|
|
3468
|
-
var
|
|
3469
|
-
var
|
|
3470
|
-
|
|
3471
|
-
|
|
3501
|
+
var TransactionDetails = function TransactionDetails(_ref) {
|
|
3502
|
+
var delivery = _ref.delivery;
|
|
3503
|
+
var deliveryId = delivery.id,
|
|
3504
|
+
status = delivery.status,
|
|
3505
|
+
identifier = delivery.identifier,
|
|
3506
|
+
responseStatusCode = delivery.responseStatusCode;
|
|
3472
3507
|
var _useState = useState(DELIVERY_TAB.request),
|
|
3473
3508
|
_useState2 = _slicedToArray(_useState, 2),
|
|
3474
3509
|
activeHeader = _useState2[0],
|
|
@@ -3480,17 +3515,29 @@ var DeliveryItem = function DeliveryItem(_ref) {
|
|
|
3480
3515
|
_useShowDelivery$data = _useShowDelivery.data,
|
|
3481
3516
|
_useShowDelivery$data2 = _useShowDelivery$data === void 0 ? {} : _useShowDelivery$data,
|
|
3482
3517
|
_useShowDelivery$data3 = _useShowDelivery$data2.delivery,
|
|
3483
|
-
|
|
3518
|
+
deliveryDetails = _useShowDelivery$data3 === void 0 ? {} : _useShowDelivery$data3;
|
|
3484
3519
|
if (isLoading) {
|
|
3485
3520
|
return /*#__PURE__*/React.createElement("div", {
|
|
3486
|
-
className: "flex items-center justify-center py-6"
|
|
3521
|
+
className: "flex w-full items-center justify-center py-6"
|
|
3487
3522
|
}, /*#__PURE__*/React.createElement(Spinner, null));
|
|
3488
3523
|
}
|
|
3489
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
3490
|
-
className: "
|
|
3491
|
-
}, /*#__PURE__*/React.createElement(
|
|
3492
|
-
className: "
|
|
3493
|
-
}, /*#__PURE__*/React.createElement(
|
|
3524
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
3525
|
+
className: "neeto-ui-bg-white sticky top-0 mb-2 flex w-full flex-col"
|
|
3526
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
3527
|
+
className: "flex w-full flex-col space-y-2 pb-4"
|
|
3528
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
3529
|
+
className: "flex items-center space-x-1"
|
|
3530
|
+
}, t("delivery.identifier"), ":", /*#__PURE__*/React.createElement(Typography, {
|
|
3531
|
+
className: "px-2 font-bold",
|
|
3532
|
+
style: "body2"
|
|
3533
|
+
}, identifier)), /*#__PURE__*/React.createElement("span", {
|
|
3534
|
+
className: "flex items-center"
|
|
3535
|
+
}, t("common.responseStatus"), ":", /*#__PURE__*/React.createElement(Typography, {
|
|
3536
|
+
className: "px-2 font-bold",
|
|
3537
|
+
style: "body2"
|
|
3538
|
+
}, responseStatusCode), /*#__PURE__*/React.createElement(Tag, {
|
|
3539
|
+
style: status === "success" ? "success" : "warning"
|
|
3540
|
+
}, status))), /*#__PURE__*/React.createElement(Tab, null, /*#__PURE__*/React.createElement(Tab.Item, {
|
|
3494
3541
|
active: activeHeader === DELIVERY_TAB.request,
|
|
3495
3542
|
onClick: function onClick() {
|
|
3496
3543
|
return setActiveHeader(DELIVERY_TAB.request);
|
|
@@ -3500,65 +3547,190 @@ var DeliveryItem = function DeliveryItem(_ref) {
|
|
|
3500
3547
|
onClick: function onClick() {
|
|
3501
3548
|
return setActiveHeader(DELIVERY_TAB.response);
|
|
3502
3549
|
}
|
|
3503
|
-
}, t("delivery.response")), /*#__PURE__*/React.createElement("div", {
|
|
3504
|
-
className: "
|
|
3505
|
-
}, /*#__PURE__*/React.createElement(
|
|
3506
|
-
className: "mr-2 mb-2",
|
|
3507
|
-
label: t("delivery.redeliver"),
|
|
3508
|
-
loading: isRedelivering,
|
|
3509
|
-
style: "secondary",
|
|
3510
|
-
onClick: function onClick() {
|
|
3511
|
-
return onRedeliverClick(delivery.id);
|
|
3512
|
-
}
|
|
3513
|
-
}))), activeHeader === DELIVERY_TAB.request ? /*#__PURE__*/React.createElement("div", {
|
|
3550
|
+
}, t("delivery.response")))), /*#__PURE__*/React.createElement("div", {
|
|
3551
|
+
className: "mt-2"
|
|
3552
|
+
}, activeHeader === DELIVERY_TAB.request ? /*#__PURE__*/React.createElement("div", {
|
|
3514
3553
|
className: "space-y-4"
|
|
3515
3554
|
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
|
|
3516
3555
|
style: "h5"
|
|
3517
|
-
}, t("delivery.header")), /*#__PURE__*/React.createElement(Snippet, null,
|
|
3556
|
+
}, t("delivery.header")), /*#__PURE__*/React.createElement(Snippet, null, deliveryDetails.requestHeader)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
|
|
3518
3557
|
style: "h5"
|
|
3519
|
-
}, t("delivery.payload")), /*#__PURE__*/React.createElement(Snippet, null, JSON.stringify(JSON.parse(
|
|
3558
|
+
}, t("delivery.payload")), /*#__PURE__*/React.createElement(Snippet, null, JSON.stringify(JSON.parse(deliveryDetails.requestBody), null, 2)))) : /*#__PURE__*/React.createElement("div", {
|
|
3520
3559
|
className: "space-y-4"
|
|
3521
3560
|
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
|
|
3522
3561
|
style: "h5"
|
|
3523
|
-
}, t("delivery.header")), /*#__PURE__*/React.createElement(Snippet, null,
|
|
3562
|
+
}, t("delivery.header")), /*#__PURE__*/React.createElement(Snippet, null, deliveryDetails.responseHeader)), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Typography, {
|
|
3524
3563
|
style: "h5"
|
|
3525
|
-
}, t("delivery.body")), /*#__PURE__*/React.createElement(Snippet, null,
|
|
3564
|
+
}, t("delivery.body")), /*#__PURE__*/React.createElement(Snippet, null, deliveryDetails.responseBody)))));
|
|
3526
3565
|
};
|
|
3527
3566
|
|
|
3528
|
-
var
|
|
3529
|
-
var
|
|
3530
|
-
|
|
3567
|
+
var Details = function Details(_ref) {
|
|
3568
|
+
var delivery = _ref.delivery,
|
|
3569
|
+
onClose = _ref.onClose;
|
|
3570
|
+
var createdAt = delivery.createdAt,
|
|
3571
|
+
id = delivery.id;
|
|
3531
3572
|
var _useTranslation = useTranslation(),
|
|
3532
3573
|
t = _useTranslation.t;
|
|
3533
|
-
var _useParams = useParams(),
|
|
3534
|
-
webhookId = _useParams.webhookId;
|
|
3535
|
-
var _useFetchDeliveries = useFetchDeliveries(webhookId),
|
|
3536
|
-
isLoading = _useFetchDeliveries.isLoading,
|
|
3537
|
-
_useFetchDeliveries$d = _useFetchDeliveries.data,
|
|
3538
|
-
_useFetchDeliveries$d2 = _useFetchDeliveries$d === void 0 ? {} : _useFetchDeliveries$d,
|
|
3539
|
-
endpoint = _useFetchDeliveries$d2.endpoint,
|
|
3540
|
-
_useFetchDeliveries$d3 = _useFetchDeliveries$d2.deliveries,
|
|
3541
|
-
deliveries = _useFetchDeliveries$d3 === void 0 ? [] : _useFetchDeliveries$d3;
|
|
3542
3574
|
var _useRedeliverWebhook = useRedeliverWebhook(),
|
|
3543
3575
|
isRedelivering = _useRedeliverWebhook.isLoading,
|
|
3544
3576
|
redeliverWebhook = _useRedeliverWebhook.mutateAsync;
|
|
3545
|
-
var
|
|
3546
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(
|
|
3577
|
+
var handleRedeliverClick = /*#__PURE__*/function () {
|
|
3578
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
3547
3579
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
3548
3580
|
while (1) switch (_context.prev = _context.next) {
|
|
3549
3581
|
case 0:
|
|
3550
3582
|
_context.next = 2;
|
|
3551
|
-
return redeliverWebhook(
|
|
3583
|
+
return redeliverWebhook(id);
|
|
3552
3584
|
case 2:
|
|
3553
3585
|
case "end":
|
|
3554
3586
|
return _context.stop();
|
|
3555
3587
|
}
|
|
3556
3588
|
}, _callee);
|
|
3557
3589
|
}));
|
|
3558
|
-
return function
|
|
3590
|
+
return function handleRedeliverClick() {
|
|
3559
3591
|
return _ref2.apply(this, arguments);
|
|
3560
3592
|
};
|
|
3561
3593
|
}();
|
|
3594
|
+
return /*#__PURE__*/React.createElement(Pane, {
|
|
3595
|
+
isOpen: isPresent(delivery),
|
|
3596
|
+
size: "large",
|
|
3597
|
+
onClose: onClose
|
|
3598
|
+
}, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DateFormat.Date, {
|
|
3599
|
+
date: createdAt,
|
|
3600
|
+
typographyProps: {
|
|
3601
|
+
style: "h2",
|
|
3602
|
+
weight: "semibold"
|
|
3603
|
+
}
|
|
3604
|
+
}), /*#__PURE__*/React.createElement("span", null, " \u2022 "), /*#__PURE__*/React.createElement(DateFormat.Time, {
|
|
3605
|
+
date: createdAt,
|
|
3606
|
+
typographyProps: {
|
|
3607
|
+
style: "h2",
|
|
3608
|
+
weight: "normal"
|
|
3609
|
+
}
|
|
3610
|
+
}))), /*#__PURE__*/React.createElement(Pane.Body, null, isPresent(delivery) && /*#__PURE__*/React.createElement(TransactionDetails, {
|
|
3611
|
+
delivery: delivery
|
|
3612
|
+
})), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
3613
|
+
className: "gap-x-2"
|
|
3614
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
3615
|
+
disabled: isRedelivering,
|
|
3616
|
+
label: t("delivery.redeliver"),
|
|
3617
|
+
loading: isRedelivering,
|
|
3618
|
+
style: "primary",
|
|
3619
|
+
onClick: handleRedeliverClick
|
|
3620
|
+
}), /*#__PURE__*/React.createElement(Button, {
|
|
3621
|
+
label: t("buttons.cancel"),
|
|
3622
|
+
style: "text",
|
|
3623
|
+
onClick: onClose
|
|
3624
|
+
})));
|
|
3625
|
+
};
|
|
3626
|
+
|
|
3627
|
+
var buildColumns$1 = function buildColumns(_ref) {
|
|
3628
|
+
var handleDetailsClick = _ref.handleDetailsClick;
|
|
3629
|
+
return [{
|
|
3630
|
+
title: t$2("delivery.identifier", SINGULAR),
|
|
3631
|
+
key: "identifier",
|
|
3632
|
+
width: 300,
|
|
3633
|
+
render: function render(_ref2) {
|
|
3634
|
+
var identifier = _ref2.identifier,
|
|
3635
|
+
redelivery = _ref2.redelivery;
|
|
3636
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3637
|
+
className: "flex space-x-1"
|
|
3638
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3639
|
+
className: "px-2",
|
|
3640
|
+
style: "body2",
|
|
3641
|
+
weight: "semibold"
|
|
3642
|
+
}, identifier), redelivery && /*#__PURE__*/React.createElement(Tag, {
|
|
3643
|
+
style: "info"
|
|
3644
|
+
}, t$2("delivery.redelivery")));
|
|
3645
|
+
}
|
|
3646
|
+
}, {
|
|
3647
|
+
title: t$2("tableHeaders.createdAt"),
|
|
3648
|
+
key: "createdAt",
|
|
3649
|
+
dataIndex: "createdAt",
|
|
3650
|
+
width: 300,
|
|
3651
|
+
render: function render(createdAt) {
|
|
3652
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3653
|
+
className: "flex items-center justify-between space-x-1"
|
|
3654
|
+
}, /*#__PURE__*/React.createElement(Typography, null, /*#__PURE__*/React.createElement(DateFormat.Date, {
|
|
3655
|
+
date: createdAt,
|
|
3656
|
+
typographyProps: {
|
|
3657
|
+
style: "body1",
|
|
3658
|
+
weight: "semibold"
|
|
3659
|
+
}
|
|
3660
|
+
}), /*#__PURE__*/React.createElement("span", null, " \u2022 "), /*#__PURE__*/React.createElement(DateFormat.Time, {
|
|
3661
|
+
date: createdAt,
|
|
3662
|
+
typographyProps: {
|
|
3663
|
+
style: "body1"
|
|
3664
|
+
}
|
|
3665
|
+
})));
|
|
3666
|
+
}
|
|
3667
|
+
}, {
|
|
3668
|
+
title: t$2("common.responseStatus"),
|
|
3669
|
+
key: "responseStatusCode",
|
|
3670
|
+
width: 150,
|
|
3671
|
+
render: function render(_ref3) {
|
|
3672
|
+
var responseStatusCode = _ref3.responseStatusCode,
|
|
3673
|
+
status = _ref3.status;
|
|
3674
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
3675
|
+
className: "flex items-center"
|
|
3676
|
+
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3677
|
+
className: "px-2 font-bold",
|
|
3678
|
+
style: "body2"
|
|
3679
|
+
}, responseStatusCode), /*#__PURE__*/React.createElement(Tag, {
|
|
3680
|
+
style: status === "success" ? "success" : "warning"
|
|
3681
|
+
}, status));
|
|
3682
|
+
}
|
|
3683
|
+
}, {
|
|
3684
|
+
title: t$2("common.event", SINGULAR),
|
|
3685
|
+
key: "event",
|
|
3686
|
+
dataIndex: "event",
|
|
3687
|
+
width: 100,
|
|
3688
|
+
render: prop("label")
|
|
3689
|
+
}, {
|
|
3690
|
+
title: t$2("tableHeaders.details"),
|
|
3691
|
+
key: "details",
|
|
3692
|
+
dataIndex: "details",
|
|
3693
|
+
width: 150,
|
|
3694
|
+
render: function render(_, delivery) {
|
|
3695
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
3696
|
+
label: t$2("buttons.viewDetails"),
|
|
3697
|
+
size: "small",
|
|
3698
|
+
onClick: function onClick() {
|
|
3699
|
+
return handleDetailsClick(delivery);
|
|
3700
|
+
}
|
|
3701
|
+
});
|
|
3702
|
+
}
|
|
3703
|
+
}];
|
|
3704
|
+
};
|
|
3705
|
+
|
|
3706
|
+
var Deliveries = function Deliveries(_ref) {
|
|
3707
|
+
var webhooksUrl = _ref.webhooksUrl,
|
|
3708
|
+
hostBreadcrumbs = _ref.breadcrumbs;
|
|
3709
|
+
var _useState = useState(1),
|
|
3710
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3711
|
+
pageNumber = _useState2[0],
|
|
3712
|
+
setPageNumber = _useState2[1];
|
|
3713
|
+
var _useState3 = useState({}),
|
|
3714
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3715
|
+
selectedDelivery = _useState4[0],
|
|
3716
|
+
setSelectedDelivery = _useState4[1];
|
|
3717
|
+
var _useTranslation = useTranslation(),
|
|
3718
|
+
t = _useTranslation.t;
|
|
3719
|
+
var _useParams = useParams(),
|
|
3720
|
+
webhookId = _useParams.webhookId;
|
|
3721
|
+
var _useFetchDeliveries = useFetchDeliveries({
|
|
3722
|
+
webhookId: webhookId,
|
|
3723
|
+
page: pageNumber,
|
|
3724
|
+
limit: DEFAULT_PAGE_SIZE
|
|
3725
|
+
}),
|
|
3726
|
+
isLoading = _useFetchDeliveries.isLoading,
|
|
3727
|
+
isFetching = _useFetchDeliveries.isFetching,
|
|
3728
|
+
_useFetchDeliveries$d = _useFetchDeliveries.data,
|
|
3729
|
+
_useFetchDeliveries$d2 = _useFetchDeliveries$d === void 0 ? {} : _useFetchDeliveries$d,
|
|
3730
|
+
endpoint = _useFetchDeliveries$d2.endpoint,
|
|
3731
|
+
totalCount = _useFetchDeliveries$d2.totalCount,
|
|
3732
|
+
_useFetchDeliveries$d3 = _useFetchDeliveries$d2.deliveries,
|
|
3733
|
+
deliveries = _useFetchDeliveries$d3 === void 0 ? [] : _useFetchDeliveries$d3;
|
|
3562
3734
|
var breadcrumbsWithoutWebhooksTitle = removeBy({
|
|
3563
3735
|
text: t("webhook.title")
|
|
3564
3736
|
}, hostBreadcrumbs);
|
|
@@ -3570,86 +3742,61 @@ var Deliveries = function Deliveries(_ref) {
|
|
|
3570
3742
|
text: endpoint
|
|
3571
3743
|
}]);
|
|
3572
3744
|
if (isLoading) return /*#__PURE__*/React.createElement(PageLoader, null);
|
|
3573
|
-
return /*#__PURE__*/React.createElement(
|
|
3574
|
-
className: "w-full
|
|
3745
|
+
return /*#__PURE__*/React.createElement(Container, {
|
|
3746
|
+
className: "w-full"
|
|
3575
3747
|
}, /*#__PURE__*/React.createElement(Header$2, {
|
|
3576
3748
|
breadcrumbs: breadcrumbs,
|
|
3577
3749
|
title: t("delivery.title")
|
|
3578
|
-
}), /*#__PURE__*/React.createElement(
|
|
3579
|
-
|
|
3580
|
-
}, /*#__PURE__*/React.createElement(
|
|
3581
|
-
|
|
3582
|
-
|
|
3750
|
+
}), isNotEmpty(deliveries) ? /*#__PURE__*/React.createElement(TableWrapper, {
|
|
3751
|
+
hasPagination: totalCount > DEFAULT_PAGE_SIZE
|
|
3752
|
+
}, /*#__PURE__*/React.createElement(Table, {
|
|
3753
|
+
totalCount: totalCount,
|
|
3754
|
+
fixedHeight: true,
|
|
3755
|
+
currentPageNumber: pageNumber,
|
|
3756
|
+
defaultPageSize: DEFAULT_PAGE_SIZE,
|
|
3757
|
+
handlePageChange: function handlePageChange(page) {
|
|
3758
|
+
return setPageNumber(page);
|
|
3759
|
+
},
|
|
3760
|
+
loading: isFetching,
|
|
3761
|
+
rowData: deliveries,
|
|
3762
|
+
columnData: buildColumns$1({
|
|
3763
|
+
handleDetailsClick: setSelectedDelivery
|
|
3583
3764
|
})
|
|
3584
|
-
}
|
|
3585
|
-
|
|
3586
|
-
status = _ref3.status,
|
|
3587
|
-
identifier = _ref3.identifier,
|
|
3588
|
-
action = _ref3.action,
|
|
3589
|
-
redelivery = _ref3.redelivery,
|
|
3590
|
-
createdAt = _ref3.createdAt;
|
|
3591
|
-
return /*#__PURE__*/React.createElement(Accordion.Item, {
|
|
3592
|
-
key: id,
|
|
3593
|
-
title: /*#__PURE__*/React.createElement("div", {
|
|
3594
|
-
className: "flex flex-1 justify-between"
|
|
3595
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
3596
|
-
className: "flex items-center gap-2"
|
|
3597
|
-
}, /*#__PURE__*/React.createElement("span", null, status === DELIVERY_STATUS.failure ? /*#__PURE__*/React.createElement(Close, {
|
|
3598
|
-
className: "neeto-ui-text-error-600",
|
|
3599
|
-
size: 20,
|
|
3600
|
-
strokeWidth: 2.5
|
|
3601
|
-
}) : /*#__PURE__*/React.createElement(Check, {
|
|
3602
|
-
className: "neeto-ui-text-success-600",
|
|
3603
|
-
size: 24,
|
|
3604
|
-
strokeWidth: 2
|
|
3605
|
-
})), /*#__PURE__*/React.createElement(Typography, {
|
|
3606
|
-
style: "h5"
|
|
3607
|
-
}, identifier), /*#__PURE__*/React.createElement(Tag, {
|
|
3608
|
-
label: action,
|
|
3609
|
-
style: "info"
|
|
3610
|
-
}), redelivery && /*#__PURE__*/React.createElement(Tag, {
|
|
3611
|
-
label: t("delivery.redelivery")
|
|
3612
|
-
})), /*#__PURE__*/React.createElement(Typography, {
|
|
3613
|
-
className: "mr-8",
|
|
3614
|
-
style: "body2"
|
|
3615
|
-
}, dateFormat.dateTime(createdAt)))
|
|
3616
|
-
}, /*#__PURE__*/React.createElement(DeliveryItem, {
|
|
3617
|
-
deliveryId: id,
|
|
3618
|
-
isRedelivering: isRedelivering,
|
|
3619
|
-
onRedeliverClick: onRedeliverClick
|
|
3620
|
-
}));
|
|
3621
|
-
})), isEmpty(deliveries) && /*#__PURE__*/React.createElement("div", {
|
|
3622
|
-
className: "flex h-full items-center justify-center"
|
|
3765
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
3766
|
+
className: "flex h-full w-full items-center justify-center"
|
|
3623
3767
|
}, /*#__PURE__*/React.createElement(NoData, {
|
|
3624
3768
|
description: t("delivery.empty.description"),
|
|
3625
3769
|
title: t("delivery.empty.title")
|
|
3626
|
-
}))
|
|
3770
|
+
})), /*#__PURE__*/React.createElement(Details, {
|
|
3771
|
+
delivery: selectedDelivery,
|
|
3772
|
+
onClose: function onClose() {
|
|
3773
|
+
return setSelectedDelivery({});
|
|
3774
|
+
}
|
|
3775
|
+
}));
|
|
3627
3776
|
};
|
|
3628
3777
|
var Deliveries$1 = withReactQuery(Deliveries);
|
|
3629
3778
|
|
|
3630
|
-
var baseUrl = "/webhooks/webhooks";
|
|
3631
|
-
var fetch = function fetch(
|
|
3632
|
-
return axios.get(baseUrl, {
|
|
3633
|
-
params:
|
|
3634
|
-
entity_id: entity_id
|
|
3635
|
-
}
|
|
3779
|
+
var baseUrl$1 = "/webhooks/webhooks";
|
|
3780
|
+
var fetch = function fetch(params) {
|
|
3781
|
+
return axios.get(baseUrl$1, {
|
|
3782
|
+
params: params
|
|
3636
3783
|
});
|
|
3637
3784
|
};
|
|
3638
3785
|
var create = function create(payload) {
|
|
3639
|
-
return axios.post(baseUrl, {
|
|
3786
|
+
return axios.post(baseUrl$1, {
|
|
3640
3787
|
webhook: payload
|
|
3641
3788
|
});
|
|
3642
3789
|
};
|
|
3643
3790
|
var show = function show(id) {
|
|
3644
|
-
return axios.get("".concat(baseUrl, "/").concat(id));
|
|
3791
|
+
return axios.get("".concat(baseUrl$1, "/").concat(id));
|
|
3645
3792
|
};
|
|
3646
3793
|
var update = function update(id, payload) {
|
|
3647
|
-
return axios.put("".concat(baseUrl, "/").concat(id), {
|
|
3794
|
+
return axios.put("".concat(baseUrl$1, "/").concat(id), {
|
|
3648
3795
|
webhook: payload
|
|
3649
3796
|
});
|
|
3650
3797
|
};
|
|
3651
3798
|
var destroy = function destroy(id) {
|
|
3652
|
-
return axios["delete"]("".concat(baseUrl, "/").concat(id));
|
|
3799
|
+
return axios["delete"]("".concat(baseUrl$1, "/").concat(id));
|
|
3653
3800
|
};
|
|
3654
3801
|
var webhooksApi = {
|
|
3655
3802
|
fetch: fetch,
|
|
@@ -3659,9 +3806,9 @@ var webhooksApi = {
|
|
|
3659
3806
|
destroy: destroy
|
|
3660
3807
|
};
|
|
3661
3808
|
|
|
3662
|
-
var useFetchWebhooks = function useFetchWebhooks(
|
|
3663
|
-
return useQuery([QUERY_KEYS.WEBHOOK_LIST,
|
|
3664
|
-
return webhooksApi.fetch(
|
|
3809
|
+
var useFetchWebhooks = function useFetchWebhooks(params) {
|
|
3810
|
+
return useQuery([QUERY_KEYS.WEBHOOK_LIST, params], function () {
|
|
3811
|
+
return webhooksApi.fetch(params);
|
|
3665
3812
|
}, {
|
|
3666
3813
|
staleTime: WEBHOOK_STALE_TIME
|
|
3667
3814
|
});
|
|
@@ -3752,16 +3899,125 @@ function _defineProperty(obj, key, value) {
|
|
|
3752
3899
|
return obj;
|
|
3753
3900
|
}
|
|
3754
3901
|
|
|
3902
|
+
var baseUrl = "/webhooks/events/all";
|
|
3903
|
+
var all = function all() {
|
|
3904
|
+
return axios.get(baseUrl);
|
|
3905
|
+
};
|
|
3906
|
+
var eventsApi = {
|
|
3907
|
+
all: all
|
|
3908
|
+
};
|
|
3909
|
+
|
|
3910
|
+
var useFetchEvents = function useFetchEvents() {
|
|
3911
|
+
return useQuery([QUERY_KEYS.EVENTS_LIST], eventsApi.all, {
|
|
3912
|
+
staleTime: WEBHOOK_STALE_TIME
|
|
3913
|
+
});
|
|
3914
|
+
};
|
|
3915
|
+
|
|
3755
3916
|
var WEBHOOK_HELP_URL = "https://help.neetocal.com/articles/webhook";
|
|
3756
3917
|
|
|
3918
|
+
var Menu = Dropdown.Menu,
|
|
3919
|
+
MenuItem = Dropdown.MenuItem;
|
|
3920
|
+
var ActionDropdown = function ActionDropdown(_ref) {
|
|
3921
|
+
var onEdit = _ref.onEdit,
|
|
3922
|
+
onDelete = _ref.onDelete;
|
|
3923
|
+
var _useTranslation = useTranslation(),
|
|
3924
|
+
t = _useTranslation.t;
|
|
3925
|
+
return /*#__PURE__*/React.createElement(Dropdown, {
|
|
3926
|
+
buttonStyle: "text",
|
|
3927
|
+
icon: MenuHorizontal,
|
|
3928
|
+
strategy: "fixed"
|
|
3929
|
+
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
3930
|
+
onClick: onEdit
|
|
3931
|
+
}, t("buttons.edit")), /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
3932
|
+
style: "danger",
|
|
3933
|
+
onClick: onDelete
|
|
3934
|
+
}, t("buttons.delete"))));
|
|
3935
|
+
};
|
|
3936
|
+
|
|
3937
|
+
function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3938
|
+
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3757
3939
|
var getValidationSchema = function getValidationSchema(webhooks) {
|
|
3758
3940
|
return yup.object().shape({
|
|
3759
3941
|
endpoint: yup.string().trim().matches(/^(https?):\/\//i, t$2("errors.webhook.invalidUrlProtocol")).url(t$2("errors.webhook.invalidUrl")).required(t$2("errors.webhook.required")).test("Is endpoint unique", t$2("errors.webhook.urlNotUnique"), function (endpoint, ctx) {
|
|
3760
3942
|
return !pluck("endpoint", removeById(ctx.parent.id, webhooks)).includes(endpoint === null || endpoint === void 0 ? void 0 : endpoint.trim());
|
|
3761
3943
|
}),
|
|
3944
|
+
events: yup.array().min(1, t$2("errors.webhook.events.required")),
|
|
3762
3945
|
secret: yup.string().trim().nullable()
|
|
3763
3946
|
});
|
|
3764
3947
|
};
|
|
3948
|
+
var buildPayload = function buildPayload(_ref) {
|
|
3949
|
+
var _initialValues$events;
|
|
3950
|
+
var isEditing = _ref.isEditing,
|
|
3951
|
+
values = _ref.values,
|
|
3952
|
+
initialValues = _ref.initialValues;
|
|
3953
|
+
var events = values.events.map(function (_ref2) {
|
|
3954
|
+
var identifier = _ref2.identifier;
|
|
3955
|
+
return {
|
|
3956
|
+
identifier: identifier
|
|
3957
|
+
};
|
|
3958
|
+
});
|
|
3959
|
+
if (!isEditing) return _objectSpread$1(_objectSpread$1({}, values), {}, {
|
|
3960
|
+
eventsAttributes: events
|
|
3961
|
+
});
|
|
3962
|
+
var deletable = ((_initialValues$events = initialValues.events) !== null && _initialValues$events !== void 0 ? _initialValues$events : []).filter(function (_ref3) {
|
|
3963
|
+
var identifier = _ref3.identifier;
|
|
3964
|
+
return !findBy({
|
|
3965
|
+
identifier: identifier
|
|
3966
|
+
}, values.events);
|
|
3967
|
+
}).map(assoc("_destroy", true));
|
|
3968
|
+
var creatable = values.events.filter(function (_ref4) {
|
|
3969
|
+
var identifier = _ref4.identifier;
|
|
3970
|
+
return !findBy({
|
|
3971
|
+
identifier: identifier
|
|
3972
|
+
}, initialValues.events);
|
|
3973
|
+
});
|
|
3974
|
+
return _objectSpread$1(_objectSpread$1({}, values), {}, {
|
|
3975
|
+
eventsAttributes: [].concat(_toConsumableArray(creatable), _toConsumableArray(deletable))
|
|
3976
|
+
});
|
|
3977
|
+
};
|
|
3978
|
+
var buildColumns = function buildColumns(_ref5) {
|
|
3979
|
+
var handleDelete = _ref5.handleDelete,
|
|
3980
|
+
handleEdit = _ref5.handleEdit,
|
|
3981
|
+
deliveriesPath = _ref5.deliveriesPath;
|
|
3982
|
+
return [{
|
|
3983
|
+
title: t$2("common.endpoint"),
|
|
3984
|
+
key: "endpoint",
|
|
3985
|
+
dataIndex: "endpoint",
|
|
3986
|
+
render: function render(endpoint, webhook) {
|
|
3987
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
3988
|
+
className: "flex items-center justify-between space-x-3"
|
|
3989
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
3990
|
+
style: "link",
|
|
3991
|
+
to: buildUrl(deliveriesPath, {
|
|
3992
|
+
webhookId: webhook.id
|
|
3993
|
+
})
|
|
3994
|
+
}, endpoint), /*#__PURE__*/React.createElement(ActionDropdown, {
|
|
3995
|
+
onDelete: function onDelete() {
|
|
3996
|
+
return handleDelete(webhook.id);
|
|
3997
|
+
},
|
|
3998
|
+
onEdit: function onEdit() {
|
|
3999
|
+
return handleEdit(webhook.id);
|
|
4000
|
+
}
|
|
4001
|
+
}));
|
|
4002
|
+
}
|
|
4003
|
+
}, {
|
|
4004
|
+
title: t$2("webhook.active"),
|
|
4005
|
+
key: "isActive",
|
|
4006
|
+
dataIndex: "isActive",
|
|
4007
|
+
render: function render(isActive) {
|
|
4008
|
+
return isActive ? t$2("webhook.activeStatuses.yes") : t$2("webhook.activeStatuses.no");
|
|
4009
|
+
},
|
|
4010
|
+
width: 100
|
|
4011
|
+
}, {
|
|
4012
|
+
title: t$2("common.event", PLURAL),
|
|
4013
|
+
dataIndex: "events",
|
|
4014
|
+
key: "events",
|
|
4015
|
+
render: function render(events) {
|
|
4016
|
+
return pluck("label", events).sort().join(", ");
|
|
4017
|
+
},
|
|
4018
|
+
width: 200
|
|
4019
|
+
}];
|
|
4020
|
+
};
|
|
3765
4021
|
|
|
3766
4022
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3767
4023
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -3792,15 +4048,25 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
|
|
|
3792
4048
|
}),
|
|
3793
4049
|
updateWebhook = _useUpdateWebhook.mutate;
|
|
3794
4050
|
var endpointRef = useRef();
|
|
4051
|
+
var _useFetchEvents = useFetchEvents(),
|
|
4052
|
+
events = _useFetchEvents.data,
|
|
4053
|
+
isLoading = _useFetchEvents.isLoading;
|
|
3795
4054
|
var initialValues = editingWebhookId ? webhook : {
|
|
3796
4055
|
endpoint: "",
|
|
3797
|
-
|
|
4056
|
+
events: events,
|
|
4057
|
+
secret: "",
|
|
4058
|
+
isActive: true
|
|
3798
4059
|
};
|
|
3799
4060
|
var handleSubmit = function handleSubmit(values) {
|
|
4061
|
+
var payload = buildPayload({
|
|
4062
|
+
isEditing: editingWebhookId,
|
|
4063
|
+
values: values,
|
|
4064
|
+
initialValues: initialValues
|
|
4065
|
+
});
|
|
3800
4066
|
editingWebhookId ? updateWebhook({
|
|
3801
4067
|
id: editingWebhookId,
|
|
3802
|
-
payload:
|
|
3803
|
-
}) : createWebhook(_objectSpread(_objectSpread({},
|
|
4068
|
+
payload: payload
|
|
4069
|
+
}) : createWebhook(_objectSpread(_objectSpread({}, payload), {}, {
|
|
3804
4070
|
entityId: entityId,
|
|
3805
4071
|
entityType: entityType
|
|
3806
4072
|
}));
|
|
@@ -3833,8 +4099,11 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
|
|
|
3833
4099
|
}
|
|
3834
4100
|
}, function (_ref2) {
|
|
3835
4101
|
var dirty = _ref2.dirty,
|
|
3836
|
-
isSubmitting = _ref2.isSubmitting
|
|
3837
|
-
|
|
4102
|
+
isSubmitting = _ref2.isSubmitting,
|
|
4103
|
+
isValid = _ref2.isValid;
|
|
4104
|
+
return isLoading ? /*#__PURE__*/React.createElement("div", {
|
|
4105
|
+
className: "flex items-center justify-center"
|
|
4106
|
+
}, /*#__PURE__*/React.createElement(Spinner, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
|
|
3838
4107
|
className: "w-full space-y-4"
|
|
3839
4108
|
}, /*#__PURE__*/React.createElement(Input, {
|
|
3840
4109
|
required: true,
|
|
@@ -3843,6 +4112,15 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
|
|
|
3843
4112
|
name: "endpoint",
|
|
3844
4113
|
placeholder: t("webhook.endpointPlaceholder"),
|
|
3845
4114
|
ref: endpointRef
|
|
4115
|
+
}), !isLoading && /*#__PURE__*/React.createElement(Select, {
|
|
4116
|
+
isMulti: true,
|
|
4117
|
+
required: true,
|
|
4118
|
+
getOptionLabel: prop("label"),
|
|
4119
|
+
getOptionValue: prop("identifier"),
|
|
4120
|
+
label: t("common.event", PLURAL),
|
|
4121
|
+
name: "events",
|
|
4122
|
+
options: events,
|
|
4123
|
+
placeholder: t("webhook.eventPlaceholder")
|
|
3846
4124
|
}), /*#__PURE__*/React.createElement(Input, {
|
|
3847
4125
|
"data-cy": "secret-key-input-field",
|
|
3848
4126
|
name: "secret",
|
|
@@ -3861,6 +4139,9 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
|
|
|
3861
4139
|
})
|
|
3862
4140
|
}
|
|
3863
4141
|
})
|
|
4142
|
+
}), /*#__PURE__*/React.createElement(Switch, {
|
|
4143
|
+
label: t("webhook.active"),
|
|
4144
|
+
name: "isActive"
|
|
3864
4145
|
}))), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
3865
4146
|
className: "flex gap-2"
|
|
3866
4147
|
}, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
@@ -3872,7 +4153,7 @@ var AddWebhookPane = function AddWebhookPane(_ref) {
|
|
|
3872
4153
|
},
|
|
3873
4154
|
submitButtonProps: {
|
|
3874
4155
|
label: t("buttons.saveChanges"),
|
|
3875
|
-
disabled: !dirty,
|
|
4156
|
+
disabled: !dirty || !isValid,
|
|
3876
4157
|
loading: isSubmitting
|
|
3877
4158
|
}
|
|
3878
4159
|
})));
|
|
@@ -3903,44 +4184,6 @@ var Header = function Header(_ref) {
|
|
|
3903
4184
|
};
|
|
3904
4185
|
var Header$1 = /*#__PURE__*/React.memo(Header);
|
|
3905
4186
|
|
|
3906
|
-
var Menu = Dropdown.Menu,
|
|
3907
|
-
MenuItem = Dropdown.MenuItem;
|
|
3908
|
-
var WebhookItem = function WebhookItem(_ref) {
|
|
3909
|
-
var webhook = _ref.webhook,
|
|
3910
|
-
onDeleteClick = _ref.onDeleteClick,
|
|
3911
|
-
onEditClick = _ref.onEditClick,
|
|
3912
|
-
deliveriesPath = _ref.deliveriesPath;
|
|
3913
|
-
var _useTranslation = useTranslation(),
|
|
3914
|
-
t = _useTranslation.t;
|
|
3915
|
-
return /*#__PURE__*/React.createElement(Link, {
|
|
3916
|
-
className: "neeto-ui-rounded-lg neeto-ui-border-gray-300 flex cursor-pointer items-center justify-between gap-4 border px-4 py-2",
|
|
3917
|
-
to: buildUrl(deliveriesPath, {
|
|
3918
|
-
webhookId: webhook.id
|
|
3919
|
-
})
|
|
3920
|
-
}, /*#__PURE__*/React.createElement(Typography, {
|
|
3921
|
-
className: "neeto-ui-text-primary-800 break-all",
|
|
3922
|
-
component: "span",
|
|
3923
|
-
style: "body1"
|
|
3924
|
-
}, webhook.endpoint), /*#__PURE__*/React.createElement("div", {
|
|
3925
|
-
onClick: function onClick(e) {
|
|
3926
|
-
e.preventDefault();
|
|
3927
|
-
e.stopPropagation();
|
|
3928
|
-
}
|
|
3929
|
-
}, /*#__PURE__*/React.createElement(Dropdown, {
|
|
3930
|
-
buttonStyle: "text",
|
|
3931
|
-
icon: MenuHorizontal
|
|
3932
|
-
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
3933
|
-
onClick: function onClick() {
|
|
3934
|
-
return onEditClick(webhook.id);
|
|
3935
|
-
}
|
|
3936
|
-
}, t("operation.edit")), /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
3937
|
-
onClick: function onClick() {
|
|
3938
|
-
return onDeleteClick(webhook.id);
|
|
3939
|
-
}
|
|
3940
|
-
}, t("operation.delete"))))));
|
|
3941
|
-
};
|
|
3942
|
-
var WebhookItem$1 = /*#__PURE__*/React.memo(WebhookItem);
|
|
3943
|
-
|
|
3944
4187
|
var Webhooks = function Webhooks(_ref) {
|
|
3945
4188
|
var deliveriesPath = _ref.deliveriesPath,
|
|
3946
4189
|
entityType = _ref.entityType,
|
|
@@ -3962,14 +4205,25 @@ var Webhooks = function Webhooks(_ref) {
|
|
|
3962
4205
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
3963
4206
|
isDeleteAlertOpen = _useState8[0],
|
|
3964
4207
|
setIsDeleteAlertOpen = _useState8[1];
|
|
4208
|
+
var _useState9 = useState(1),
|
|
4209
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
4210
|
+
pageNumber = _useState10[0],
|
|
4211
|
+
setPageNumber = _useState10[1];
|
|
3965
4212
|
var _useTranslation = useTranslation(),
|
|
3966
4213
|
t = _useTranslation.t;
|
|
3967
|
-
var _useFetchWebhooks = useFetchWebhooks(
|
|
4214
|
+
var _useFetchWebhooks = useFetchWebhooks({
|
|
4215
|
+
entityId: entityId,
|
|
4216
|
+
page: pageNumber,
|
|
4217
|
+
limit: DEFAULT_PAGE_SIZE
|
|
4218
|
+
}),
|
|
3968
4219
|
isLoading = _useFetchWebhooks.isLoading,
|
|
4220
|
+
isFetching = _useFetchWebhooks.isFetching,
|
|
3969
4221
|
_useFetchWebhooks$dat = _useFetchWebhooks.data,
|
|
3970
4222
|
_useFetchWebhooks$dat2 = _useFetchWebhooks$dat === void 0 ? {} : _useFetchWebhooks$dat,
|
|
3971
4223
|
_useFetchWebhooks$dat3 = _useFetchWebhooks$dat2.webhooks,
|
|
3972
|
-
webhooks = _useFetchWebhooks$dat3 === void 0 ? [] : _useFetchWebhooks$dat3
|
|
4224
|
+
webhooks = _useFetchWebhooks$dat3 === void 0 ? [] : _useFetchWebhooks$dat3,
|
|
4225
|
+
_useFetchWebhooks$dat4 = _useFetchWebhooks$dat2.totalCount,
|
|
4226
|
+
totalCount = _useFetchWebhooks$dat4 === void 0 ? 0 : _useFetchWebhooks$dat4;
|
|
3973
4227
|
var _useDestroyWebhook = useDestroyWebhook({
|
|
3974
4228
|
onSuccess: function onSuccess() {
|
|
3975
4229
|
return setIsDeleteAlertOpen(false);
|
|
@@ -3992,28 +4246,33 @@ var Webhooks = function Webhooks(_ref) {
|
|
|
3992
4246
|
if (isLoading) {
|
|
3993
4247
|
return /*#__PURE__*/React.createElement(PageLoader, null);
|
|
3994
4248
|
}
|
|
3995
|
-
return /*#__PURE__*/React.createElement(
|
|
3996
|
-
className: "w-full
|
|
3997
|
-
}, /*#__PURE__*/React.createElement(
|
|
3998
|
-
className: "neeto-ui-bg-white sticky top-0 z-50 w-full"
|
|
3999
|
-
}), /*#__PURE__*/React.createElement(Header$1, {
|
|
4249
|
+
return /*#__PURE__*/React.createElement(Container, {
|
|
4250
|
+
className: "w-full"
|
|
4251
|
+
}, /*#__PURE__*/React.createElement(Header$1, {
|
|
4000
4252
|
breadcrumbs: breadcrumbs,
|
|
4001
4253
|
setIsAddWebhookPaneOpen: setIsAddWebhookPaneOpen
|
|
4002
|
-
}), /*#__PURE__*/React.createElement(
|
|
4003
|
-
|
|
4004
|
-
},
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
}
|
|
4012
|
-
|
|
4013
|
-
|
|
4254
|
+
}), isNotEmpty(webhooks) ? /*#__PURE__*/React.createElement(TableWrapper, {
|
|
4255
|
+
hasPagination: totalCount > DEFAULT_PAGE_SIZE
|
|
4256
|
+
}, /*#__PURE__*/React.createElement(Table, {
|
|
4257
|
+
totalCount: totalCount,
|
|
4258
|
+
fixedHeight: true,
|
|
4259
|
+
currentPageNumber: pageNumber,
|
|
4260
|
+
defaultPageSize: DEFAULT_PAGE_SIZE,
|
|
4261
|
+
handlePageChange: function handlePageChange(page) {
|
|
4262
|
+
return setPageNumber(page);
|
|
4263
|
+
},
|
|
4264
|
+
loading: isFetching,
|
|
4265
|
+
rowData: webhooks,
|
|
4266
|
+
columnData: buildColumns({
|
|
4267
|
+
handleDelete: handleDelete,
|
|
4268
|
+
handleEdit: handleEdit,
|
|
4269
|
+
deliveriesPath: deliveriesPath
|
|
4270
|
+
})
|
|
4271
|
+
})) : /*#__PURE__*/React.createElement("div", {
|
|
4272
|
+
className: "flex h-full w-full items-center justify-center"
|
|
4014
4273
|
}, /*#__PURE__*/React.createElement(NoData, {
|
|
4015
4274
|
title: t("webhook.empty")
|
|
4016
|
-
}))
|
|
4275
|
+
})), /*#__PURE__*/React.createElement(AddWebhookPane, {
|
|
4017
4276
|
editingWebhookId: editingWebhookId,
|
|
4018
4277
|
entityId: entityId,
|
|
4019
4278
|
entityType: entityType,
|
|
@@ -4049,7 +4308,7 @@ var NeetoWebhooks = function NeetoWebhooks(_ref) {
|
|
|
4049
4308
|
webhooksPath = _useRouteMatch.path,
|
|
4050
4309
|
webhooksUrl = _useRouteMatch.url;
|
|
4051
4310
|
var deliveriesPath = getDeliveriesPath(webhooksUrl);
|
|
4052
|
-
return /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {
|
|
4311
|
+
return /*#__PURE__*/React.createElement(Switch$1, null, /*#__PURE__*/React.createElement(Route, {
|
|
4053
4312
|
exact: true,
|
|
4054
4313
|
path: webhooksPath,
|
|
4055
4314
|
component: function component() {
|