@bigbinary/neeto-webhooks-frontend 2.2.19 → 2.2.20
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/app/javascript/src/translations/en.json +4 -4
- package/dist/NeetoWebhooks.js +8 -3
- package/dist/NeetoWebhooks.js.map +1 -1
- package/dist/cjs/NeetoWebhooks.js +8 -3
- package/dist/cjs/NeetoWebhooks.js.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +11 -10
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
},
|
|
25
25
|
"errors": {
|
|
26
26
|
"webhook": {
|
|
27
|
-
"required": "
|
|
28
|
-
"invalidUrl": "
|
|
29
|
-
"invalidUrlProtocol": "
|
|
27
|
+
"required": "Enter your endpoint URL",
|
|
28
|
+
"invalidUrl": "Enter a valid URL",
|
|
29
|
+
"invalidUrlProtocol": "Enter a valid URL. URL must begin with http or https",
|
|
30
30
|
"urlNotUnique": "Endpoint URL must be unique",
|
|
31
31
|
"events": {
|
|
32
|
-
"required": "
|
|
32
|
+
"required": "Select at least one webhook event"
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
},
|
package/dist/NeetoWebhooks.js
CHANGED
|
@@ -9,7 +9,6 @@ import { buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
|
9
9
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
10
10
|
import Header$2 from '@bigbinary/neeto-molecules/Header';
|
|
11
11
|
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
12
|
-
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
13
12
|
import NoData from '@bigbinary/neetoui/NoData';
|
|
14
13
|
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
15
14
|
import Table from '@bigbinary/neetoui/Table';
|
|
@@ -469,7 +468,10 @@ var Deliveries = function Deliveries(_ref) {
|
|
|
469
468
|
text: t("neetoWebhooks.delivery.title")
|
|
470
469
|
}]);
|
|
471
470
|
if (isLoading) {
|
|
472
|
-
return /*#__PURE__*/jsx(
|
|
471
|
+
return /*#__PURE__*/jsx("div", {
|
|
472
|
+
className: "flex justify-center items-center w-full h-screen",
|
|
473
|
+
children: /*#__PURE__*/jsx(Spinner, {})
|
|
474
|
+
});
|
|
473
475
|
}
|
|
474
476
|
return /*#__PURE__*/jsxs(Container, {
|
|
475
477
|
className: "w-full",
|
|
@@ -1266,7 +1268,10 @@ var Webhooks = function Webhooks(_ref) {
|
|
|
1266
1268
|
setIsDeleteAlertOpen(true);
|
|
1267
1269
|
}, []);
|
|
1268
1270
|
if (isLoading) {
|
|
1269
|
-
return /*#__PURE__*/jsx(
|
|
1271
|
+
return /*#__PURE__*/jsx("div", {
|
|
1272
|
+
className: "flex justify-center items-center w-full h-screen",
|
|
1273
|
+
children: /*#__PURE__*/jsx(Spinner, {})
|
|
1274
|
+
});
|
|
1270
1275
|
}
|
|
1271
1276
|
return /*#__PURE__*/jsxs(Container, {
|
|
1272
1277
|
className: containerClassName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NeetoWebhooks.js","sources":["../app/javascript/src/constants/urls.js","../app/javascript/src/utils/paths.js","../app/javascript/src/utils/queryClient.js","../app/javascript/src/components/Common/withReactQuery.jsx","../app/javascript/src/apis/deliveries.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useDeliveriesApi.js","../app/javascript/src/components/Deliveries/Details/constants.js","../app/javascript/src/components/Deliveries/Details/Snippet.jsx","../app/javascript/src/components/Deliveries/Details/TransactionDetails.jsx","../app/javascript/src/components/Deliveries/Details/index.jsx","../app/javascript/src/components/Deliveries/utils.jsx","../app/javascript/src/components/Deliveries/index.jsx","../app/javascript/src/apis/webhooks.js","../app/javascript/src/hooks/reactQuery/useWebhooksApi.js","../app/javascript/src/apis/events.js","../app/javascript/src/hooks/reactQuery/useEventsApi.js","../app/javascript/src/components/Webhooks/constants.js","../app/javascript/src/components/Webhooks/EventCheckbox.jsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","../app/javascript/src/components/Webhooks/ToggleActiveSwitch.jsx","../app/javascript/src/components/Webhooks/utils.jsx","../app/javascript/src/components/Webhooks/AddWebhookPane.jsx","../app/javascript/src/components/Webhooks/Header.jsx","../app/javascript/src/components/Webhooks/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/components/NeetoWebhooks.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/initializers\";\n\nexport const HELP_LINK_URLS = {\n webhooks: `https://help.${globalProps.appName}.com/articles/creating-a-webhook`,\n secrets: `https://help.${globalProps.appName}.com/articles/securing-webhook-requests`,\n deliveries: `https://help.${globalProps.appName}.com/articles/managing-webhook-deliveries`,\n};\n","export const getConfigurePath = path => path.split(\"/webhooks\")?.[0];\n\nexport const getDeliveriesPath = webhooksPath =>\n `${webhooksPath}/:webhookId/deliveries`;\n\nexport const getDeliveryDetailsPath = deliveriesPath =>\n `${deliveriesPath}/:deliveryId/`;\n","import { QueryCache, QueryClient } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nconst queryClient = new QueryClient({\n queryCache: new QueryCache(),\n defaultOptions: { queries: { staleTime: DEFAULT_STALE_TIME } },\n});\n\nexport default queryClient;\n","/* eslint-disable sonarjs/prefer-immediate-return */\n/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\n\nimport queryClient from \"utils/queryClient\";\n\nconst withReactQuery = Component => {\n const QueryWrapper = props => (\n <QueryClientProvider client={queryClient}>\n <Component {...props} />\n <ReactQueryDevtools initialIsOpen={false} position=\"bottom\" />\n </QueryClientProvider>\n );\n\n return QueryWrapper;\n};\n\nexport default withReactQuery;\n","import axios from \"axios\";\n\nconst baseUrl = \"/webhooks\";\n\nconst fetch = (webhookId, params) =>\n axios.get(`${baseUrl}/webhooks/${webhookId}/deliveries`, { params });\n\nconst show = (id, webhookId) =>\n axios.get(`${baseUrl}/webhooks/${webhookId}/deliveries/${id}`);\n\nconst redeliver = (delivery_id, webhookId) =>\n axios.post(\n `${baseUrl}/webhooks/${webhookId}/deliveries/${delivery_id}/redeliver`\n );\n\nconst deliveriesApi = { fetch, show, redeliver };\n\nexport default deliveriesApi;\n","export const QUERY_KEYS = {\n DELIVERY_LIST: \"delivery-list\",\n DELIVERY_DETAILS: \"delivery-details\",\n WEBHOOK_LIST: \"webhook-list\",\n WEBHOOK_DETAILS: \"webhook-details\",\n EVENTS_LIST: \"events-list\",\n};\n\nexport const DELIVERY_STALE_TIME = 3_200_000; // 1 hour\nexport const WEBHOOK_STALE_TIME = 3_200_000; // 1 hour\nexport const POST_REDELIVERY_ON_SUCCESS_TIMEOUT = 5000; // 5 seconds\n","import { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\n\nimport deliveriesApi from \"apis/deliveries\";\nimport {\n QUERY_KEYS,\n DELIVERY_STALE_TIME,\n POST_REDELIVERY_ON_SUCCESS_TIMEOUT,\n} from \"src/constants/query\";\n\nexport const useFetchDeliveries = (webhookId, params) =>\n useQuery({\n queryKey: [QUERY_KEYS.DELIVERY_LIST, webhookId, params],\n queryFn: () => deliveriesApi.fetch(webhookId, params),\n staleTime: DELIVERY_STALE_TIME,\n });\n\nexport const useShowDelivery = (id, webhookId) =>\n useQuery({\n queryKey: [QUERY_KEYS.DELIVERY_DETAILS, id, webhookId],\n queryFn: () => deliveriesApi.show(id, webhookId),\n staleTime: DELIVERY_STALE_TIME,\n enabled: !!id,\n });\n\nexport const useRedeliverWebhook = (deliveryId, webhookSid) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: () => deliveriesApi.redeliver(deliveryId, webhookSid),\n onSuccess: () => {\n setTimeout(\n () =>\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.DELIVERY_LIST],\n }),\n POST_REDELIVERY_ON_SUCCESS_TIMEOUT\n );\n },\n });\n};\n","export const DELIVERY_TAB = {\n response: \"response\",\n request: \"request\",\n};\nexport const DELIVERY_STATUS = {\n failure: \"failure\",\n success: \"success\",\n};\n","const Snippet = ({ children, dataCy = \"\" }) => (\n <div\n className=\"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-gray-100 my-2 whitespace-pre-wrap break-all border p-4\"\n data-cy={dataCy}\n >\n {children}\n </div>\n);\n\nexport default Snippet;\n","import { useState } from \"react\";\n\nimport { Typography, Tab, Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DELIVERY_TAB } from \"./constants\";\nimport Snippet from \"./Snippet\";\n\nconst TransactionDetails = ({ delivery }) => {\n const [activeHeader, setActiveHeader] = useState(DELIVERY_TAB.request);\n\n const { t } = useTranslation();\n\n const { status, identifier, responseStatusCode, sid } = delivery;\n\n const renderPayload = () => {\n try {\n return JSON.stringify(JSON.parse(delivery.requestBody), null, 2);\n } catch {\n return \"\";\n }\n };\n\n return (\n <>\n <div className=\"neeto-ui-bg-white sticky top-0 mb-2 flex w-full flex-col\">\n <div className=\"flex w-full flex-col space-y-2 pb-4\">\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.sid\")}:\n <Typography\n className=\"px-2 font-bold\"\n data-cy=\"delivery-sid\"\n style=\"body2\"\n >\n {sid}\n </Typography>\n </span>\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.deliveryId\")}:\n <Typography\n className=\"px-2 font-bold\"\n data-cy=\"delivery-identifier\"\n style=\"body2\"\n >\n {identifier}\n </Typography>\n </span>\n <span className=\"flex items-center\">\n {t(\"neetoWebhooks.common.responseStatus\")}:\n <Typography\n className=\"px-2 font-bold\"\n data-cy=\"delivery-response-code\"\n style=\"body2\"\n >\n {responseStatusCode}\n </Typography>\n <Tag style={status === \"success\" ? \"success\" : \"warning\"}>\n {status}\n </Tag>\n </span>\n </div>\n <Tab>\n <Tab.Item\n active={activeHeader === DELIVERY_TAB.request}\n onClick={() => setActiveHeader(DELIVERY_TAB.request)}\n >\n {t(\"neetoWebhooks.delivery.request\")}\n </Tab.Item>\n <Tab.Item\n active={activeHeader === DELIVERY_TAB.response}\n onClick={() => setActiveHeader(DELIVERY_TAB.response)}\n >\n {t(\"neetoWebhooks.delivery.response\")}\n </Tab.Item>\n </Tab>\n </div>\n <div className=\"mt-2 w-full\">\n {activeHeader === DELIVERY_TAB.request ? (\n <div className=\"space-y-4\">\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataCy=\"delivery-request-header\">\n {delivery.requestHeader}\n </Snippet>\n </div>\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.payload\")}\n </Typography>\n <Snippet dataCy=\"delivery-request-payload\">\n {renderPayload()}\n </Snippet>\n </div>\n </div>\n ) : (\n <div className=\"space-y-4\">\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataCy=\"delivery-response-header\">\n {delivery.responseHeader}\n </Snippet>\n </div>\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.body\")}\n </Typography>\n <Snippet dataCy=\"delivery-response-body\">\n {delivery.responseBody}\n </Snippet>\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport default TransactionDetails;\n","import { isPresent } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Pane, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useRedeliverWebhook,\n useShowDelivery,\n} from \"hooks/reactQuery/useDeliveriesApi\";\n\nimport TransactionDetails from \"./TransactionDetails\";\n\nconst Details = ({ onClose, deliveryId, webhookSid }) => {\n const { t } = useTranslation();\n\n const { isPending: isRedelivering, mutateAsync: redeliverWebhook } =\n useRedeliverWebhook(deliveryId, webhookSid);\n\n const { isPending: isLoading, data: { delivery } = {} } = useShowDelivery(\n deliveryId,\n webhookSid\n );\n\n const handleRedeliverClick = async () => {\n await redeliverWebhook();\n };\n\n return (\n <Pane {...{ onClose }} isOpen={isPresent(deliveryId)} size=\"large\">\n <>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header>\n <>\n <DateFormat.Date\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ style: \"h2\", weight: \"semibold\" }}\n />\n <span> • </span>\n <DateFormat.Time\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ style: \"h2\", weight: \"normal\" }}\n />\n </>\n </Pane.Header>\n <Pane.Body>\n {isPresent(delivery) && <TransactionDetails {...{ delivery }} />}\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n {delivery?.eventId && (\n <Button\n disabled={isRedelivering || delivery.webhook?.versionExpired}\n label={t(\"neetoWebhooks.delivery.redeliver\")}\n loading={isRedelivering}\n style=\"primary\"\n onClick={handleRedeliverClick}\n />\n )}\n <Button\n label={t(\"neetoWebhooks.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </>\n )}\n </>\n </Pane>\n );\n};\n\nexport default Details;\n","import { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Typography } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nexport const buildColumns = ({ deliveryDetailsPath, page }) => [\n {\n title: t(\"neetoWebhooks.delivery.deliveryId\"),\n key: \"identifier\",\n dataIndex: \"identifier\",\n width: 390,\n render: (_, delivery) => (\n <div className=\"flex items-center gap-x-3\">\n <Button\n style=\"link\"\n to={buildUrl(deliveryDetailsPath, { deliveryId: delivery.sid, page })}\n weight=\"semibold\"\n >\n {delivery.identifier}\n </Button>\n {delivery.redelivery && (\n <Tag style=\"info\">{t(\"neetoWebhooks.delivery.redelivery\")}</Tag>\n )}\n </div>\n ),\n },\n {\n title: t(\"neetoWebhooks.tableHeaders.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 280,\n render: createdAt => (\n <div className=\"flex items-center justify-between space-x-1\">\n <Typography>\n <DateFormat.DateTime date={createdAt} />\n </Typography>\n </div>\n ),\n },\n {\n title: t(\"neetoWebhooks.common.responseStatus\"),\n key: \"responseStatusCode\",\n width: 250,\n render: ({ responseStatusCode, status }) => (\n <span className=\"flex items-center\">\n <Typography className=\"px-2\" style=\"body2\">\n {responseStatusCode}\n </Typography>\n <Tag style={status === \"success\" ? \"success\" : \"warning\"}>{status}</Tag>\n </span>\n ),\n },\n {\n title: t(\"neetoWebhooks.common.event\", SINGULAR),\n key: \"event\",\n dataIndex: \"event\",\n width: 270,\n render: prop(\"label\"),\n },\n];\n","import { isNotEmpty, removeBy } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { NoData, Spinner, Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useParams, useRouteMatch } from \"react-router-dom\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchDeliveries } from \"hooks/reactQuery/useDeliveriesApi\";\nimport { getDeliveryDetailsPath, getDeliveriesPath } from \"utils/paths\";\n\nimport Details from \"./Details\";\nimport { buildColumns } from \"./utils\";\n\nconst Deliveries = ({\n webhooksUrl,\n breadcrumbs: hostBreadcrumbs,\n helpLink,\n}) => {\n const { url: deliveriesUrl } = useRouteMatch();\n const history = useHistory();\n const { t } = useTranslation();\n const { webhookId, deliveryId } = useParams();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesUrl);\n\n const {\n isLoading,\n isFetching,\n data: { totalCount, deliveries = [] } = {},\n } = useFetchDeliveries(webhookId, {\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const breadcrumbsWithoutWebhooksTitle = removeBy(\n { text: t(\"neetoWebhooks.webhook.title\") },\n hostBreadcrumbs\n );\n\n const breadcrumbs = [\n ...breadcrumbsWithoutWebhooksTitle,\n { link: webhooksUrl, text: t(\"neetoWebhooks.webhook.title\") },\n { link: window.location.pathname, text: t(\"neetoWebhooks.delivery.title\") },\n ];\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n return (\n <Container className=\"w-full\">\n <Header\n {...{ breadcrumbs }}\n title={t(\"neetoWebhooks.delivery.title\")}\n titleHelpPopoverProps={{\n title: t(\"neetoWebhooks.delivery.title\"),\n description: t(\"neetoWebhooks.delivery.helpDescription\"),\n helpLinkProps: { href: helpLink },\n }}\n />\n {isNotEmpty(deliveries) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n columnData={buildColumns({ deliveryDetailsPath, page })}\n currentPageNumber={page}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={deliveries}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <NoData\n description={t(\"neetoWebhooks.delivery.empty.description\")}\n title={t(\"neetoWebhooks.delivery.empty.title\")}\n />\n </div>\n )}\n <Details\n {...{ deliveryId }}\n webhookSid={webhookId}\n onClose={() =>\n history.replace(buildUrl(deliveriesPath, { webhookId, page }))\n }\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Deliveries);\n","import axios from \"axios\";\n\nconst baseUrl = \"/webhooks/webhooks\";\n\nconst fetch = params => axios.get(baseUrl, { params });\n\nconst create = payload => axios.post(baseUrl, { webhook: payload });\n\nconst show = id => axios.get(`${baseUrl}/${id}`);\n\nconst update = (id, payload) =>\n axios.put(`${baseUrl}/${id}`, { webhook: payload });\n\nconst destroy = id => axios.delete(`${baseUrl}/${id}`);\n\nconst webhooksApi = { fetch, create, show, update, destroy };\n\nexport default webhooksApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport webhooksApi from \"apis/webhooks\";\nimport { QUERY_KEYS, WEBHOOK_STALE_TIME } from \"src/constants/query\";\n\nexport const useFetchWebhooks = params =>\n useQuery({\n queryKey: [QUERY_KEYS.WEBHOOK_LIST, params],\n queryFn: () => webhooksApi.fetch(params),\n staleTime: WEBHOOK_STALE_TIME,\n });\n\nexport const useCreateWebhook = options =>\n useMutationWithInvalidation(webhooksApi.create, {\n keysToInvalidate: [[QUERY_KEYS.WEBHOOK_LIST]],\n onSuccess: () => {\n options?.onSuccess?.();\n },\n });\n\nexport const useShowWebhook = id =>\n useQuery({\n queryKey: [QUERY_KEYS.WEBHOOK_DETAILS, id],\n queryFn: () => webhooksApi.show(id),\n enabled: !!id,\n staleTime: WEBHOOK_STALE_TIME,\n });\n\nexport const useUpdateWebhook = (id, options) =>\n useMutationWithInvalidation(\n ({ id, payload }) => webhooksApi.update(id, payload),\n {\n keysToInvalidate: [\n [QUERY_KEYS.WEBHOOK_LIST],\n [QUERY_KEYS.WEBHOOK_DETAILS, id],\n [QUERY_KEYS.DELIVERY_LIST, id],\n ],\n onSuccess: () => {\n options?.onSuccess?.();\n },\n onError: error => {\n options?.onError?.(error);\n },\n }\n );\n\nexport const useDestroyWebhook = options =>\n useMutationWithInvalidation(webhooksApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.WEBHOOK_LIST]],\n onSuccess: () => {\n options?.onSuccess?.();\n },\n });\n","import axios from \"axios\";\n\nconst baseUrl = \"/webhooks/events/all\";\n\nconst all = () => axios.get(baseUrl);\n\nconst eventsApi = { all };\n\nexport default eventsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport eventsApi from \"apis/events\";\nimport { QUERY_KEYS, WEBHOOK_STALE_TIME } from \"src/constants/query\";\n\nexport const useFetchEvents = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EVENTS_LIST],\n queryFn: eventsApi.all,\n staleTime: WEBHOOK_STALE_TIME,\n });\n","export const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\nexport const WEBHOOK_INITIAL_VALUES = {\n endpoint: \"\",\n events: [],\n secret: \"\",\n isActive: true,\n};\n","import { findIndexBy } from \"neetocist\";\nimport { Checkbox } from \"neetoui\";\nimport { gt } from \"ramda\";\n\nconst EventCheckbox = ({ events, values, arrayHelpers }) => {\n const handleToggle = (isSelected, index, event) => {\n if (isSelected) {\n arrayHelpers.remove(index);\n } else {\n arrayHelpers.push(event);\n }\n };\n\n return (\n <div>\n {events.map(event => {\n const index = findIndexBy(event, values.events);\n const isSelected = gt(index, -1);\n\n return (\n <Checkbox\n checked={isSelected}\n className=\"my-4\"\n key={event.identifier}\n label={event.label}\n onChange={() => handleToggle(isSelected, index, event)}\n />\n );\n })}\n </div>\n );\n};\nexport default EventCheckbox;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { useState, useRef } from \"react\";\n\nimport { Switch } from \"neetoui\";\n\nimport { useUpdateWebhook } from \"hooks/reactQuery/useWebhooksApi\";\n\nconst ToggleActiveSwitch = ({ isActive, webhookId }) => {\n const [status, setStatus] = useState(isActive);\n const previousStatusRef = useRef(isActive);\n\n const { mutate: updateWebhook } = useUpdateWebhook(webhookId, {\n onError: () => {\n // Revert to the previous state\n setStatus(previousStatusRef.current);\n },\n onSuccess: () => {\n // Update the previous status ref on successful update\n previousStatusRef.current = status;\n },\n });\n\n const handleToggle = event => {\n const updatedStatus = event.target.checked;\n // Store the current status as previous before changing\n previousStatusRef.current = status;\n setStatus(updatedStatus);\n updateWebhook({ id: webhookId, payload: { isActive: updatedStatus } });\n };\n\n return <Switch checked={status} onChange={handleToggle} />;\n};\n\nexport default ToggleActiveSwitch;\n","import { t } from \"i18next\";\nimport { findBy, removeById, snakeToCamelCase } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Button, Tag } from \"neetoui\";\nimport { assoc, pluck } from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport { MENU_ITEMS } from \"./constants\";\nimport ToggleActiveSwitch from \"./ToggleActiveSwitch\";\n\nconst getMenuItems = ({ onEdit, onDelete }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoWebhooks.buttons.edit\"),\n \"data-cy\": \"neeto-webhooks-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-cy\": \"neeto-webhooks-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const getValidationSchema = webhooks =>\n yup.object().shape({\n endpoint: yup\n .string()\n .trim()\n .matches(\n /^(https?):\\/\\//i,\n t(\"neetoWebhooks.errors.webhook.invalidUrlProtocol\")\n )\n .url(t(\"neetoWebhooks.errors.webhook.invalidUrl\"))\n .required(t(\"neetoWebhooks.errors.webhook.required\"))\n .test(\n \"Is endpoint unique\",\n t(\"neetoWebhooks.errors.webhook.urlNotUnique\"),\n (endpoint, ctx) =>\n !pluck(\"endpoint\", removeById(ctx.parent.id, webhooks)).includes(\n endpoint?.trim()\n )\n ),\n events: yup\n .array()\n .min(1, t(\"neetoWebhooks.errors.webhook.events.required\")),\n secret: yup.string().trim().nullable(),\n });\n\nexport const buildEventsOptions = events =>\n events.map(event => ({\n label: t(`neetoWebhooks.webhooks.events.${snakeToCamelCase(event)}`),\n value: event,\n }));\n\nexport const buildPayload = ({ isEditing, values, initialValues }) => {\n const events = values.events.map(({ identifier }) => ({ identifier }));\n if (!isEditing) return { ...values, eventsAttributes: events };\n\n const deletable = (initialValues.events ?? [])\n .filter(({ identifier }) => !findBy({ identifier }, values.events))\n .map(assoc(\"_destroy\", true));\n\n const creatable = values.events.filter(\n ({ identifier }) => !findBy({ identifier }, initialValues.events)\n );\n\n return { ...values, eventsAttributes: [...creatable, ...deletable] };\n};\n\nexport const formatTimeUntilExpiration = expiresAt => {\n if (!expiresAt) return null;\n\n const now = new Date();\n const expiry = new Date(expiresAt);\n const diffMs = expiry - now;\n\n if (diffMs <= 0) return null;\n\n const diffHours = Math.floor(diffMs / (1000 * 60 * 60));\n const diffDays = Math.floor(diffHours / 24);\n\n if (diffDays > 0) {\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.days\", {\n count: diffDays,\n });\n }\n const remainingHours = diffHours;\n const remainingMinutes = Math.floor(\n (diffMs % (1000 * 60 * 60)) / (1000 * 60)\n );\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.hoursAndMinutes\", {\n hours: remainingHours,\n hoursPlural: remainingHours !== 1 ? \"s\" : \"\",\n minutes: remainingMinutes,\n minutesPlural: remainingMinutes !== 1 ? \"s\" : \"\",\n });\n};\n\nexport const formatExpiredDate = expiresAt => {\n if (!expiresAt) return null;\n\n const expiry = new Date(expiresAt);\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiredOn\", {\n date: expiry.toLocaleDateString(),\n });\n};\n\nexport const buildColumns = ({ handleDelete, handleEdit, deliveriesPath }) => [\n {\n title: t(\"neetoWebhooks.common.endpoint\"),\n key: \"endpoint\",\n dataIndex: \"endpoint\",\n width: 700,\n render: (endpoint, webhook) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Button\n style=\"link\"\n to={buildUrl(deliveriesPath, { webhookId: webhook.sid })}\n >\n {endpoint}\n </Button>\n <MoreDropdown\n dropdownButtonProps={{ className: \"mr-1 my-1\" }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(webhook.id),\n onDelete: () => handleDelete(webhook.id),\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoWebhooks.webhook.active\"),\n key: \"isActive\",\n dataIndex: \"isActive\",\n render: (isActive, webhook) => (\n <ToggleActiveSwitch {...{ isActive }} webhookId={webhook.id} />\n ),\n width: 150,\n },\n {\n title: t(\"neetoWebhooks.webhook.version\"),\n dataIndex: \"version\",\n key: \"version\",\n render: (version, webhook) => {\n const timeMessage = webhook.versionExpired\n ? formatExpiredDate(webhook.versionExpiresAt)\n : formatTimeUntilExpiration(webhook.versionExpiresAt);\n\n return (\n <div className=\"flex flex-col space-y-1\">\n <div className=\"flex items-center space-x-2\">\n <span>{version}</span>\n {webhook.versionExpired && <Tag label=\"expired\" style=\"danger\" />}\n {webhook.versionDeprecated && !webhook.versionExpired && (\n <Tag label=\"deprecated\" style=\"warning\" />\n )}\n </div>\n {timeMessage && (\n <div className=\"text-xs neeto-ui-text-gray-600\">\n {timeMessage}.{\" \"}\n <a\n className=\"text-blue-600 hover:text-blue-800 underline\"\n href={webhook.defaultVersionPayloadDocUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {t(\"neetoWebhooks.webhook.versionStatus.moreDetails\")}\n </a>\n .\n </div>\n )}\n </div>\n );\n },\n width: 200,\n },\n {\n title: t(\"neetoWebhooks.common.event\", PLURAL),\n dataIndex: \"events\",\n key: \"events\",\n render: events => (\n <span className=\"whitespace-normal\">\n {pluck(\"label\", events).sort().join(\", \")}\n </span>\n ),\n width: 300,\n },\n];\n\nexport const generateRandomSecret = () => uuid().replace(/-/g, \"\");\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Plus } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Button, Pane, Spinner, Typography, Label } from \"neetoui\";\nimport { Input, Form, ActionBlock, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchEvents } from \"hooks/reactQuery/useEventsApi\";\nimport {\n useCreateWebhook,\n useShowWebhook,\n useUpdateWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\n\nimport { WEBHOOK_INITIAL_VALUES } from \"./constants\";\nimport EventCheckbox from \"./EventCheckbox\";\nimport {\n buildPayload,\n generateRandomSecret,\n getValidationSchema,\n} from \"./utils\";\n\nconst AddWebhookPane = ({\n editingWebhookId,\n entityId,\n entityType,\n isOpen,\n onClose,\n onCreate,\n webhooks,\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const { t } = useTranslation();\n const [isSecretInputFieldVisible, setIsSecretInputFieldVisible] =\n useState(false);\n\n const { mutate: createWebhook } = useCreateWebhook({\n onSuccess: () => {\n onClose();\n onCreate?.();\n },\n });\n\n const { data: { webhook = {} } = {} } = useShowWebhook(editingWebhookId, {\n entityId,\n });\n\n const { mutate: updateWebhook } = useUpdateWebhook(editingWebhookId, {\n onSuccess: onClose,\n });\n const endpointRef = useRef();\n\n const { data: events, isLoading } = useFetchEvents();\n\n const initialValues = editingWebhookId\n ? { ...WEBHOOK_INITIAL_VALUES, ...webhook }\n : { ...WEBHOOK_INITIAL_VALUES, events };\n\n const isWebhookExpiredOrDeprecated =\n editingWebhookId && (webhook.versionExpired || webhook.versionDeprecated);\n\n const handleSubmit = values => {\n // Check if webhook is expired or deprecated before allowing edit\n if (\n editingWebhookId &&\n (webhook.versionExpired || webhook.versionDeprecated)\n ) {\n return;\n }\n\n const payload = buildPayload({\n isEditing: editingWebhookId,\n values,\n initialValues,\n });\n\n editingWebhookId\n ? updateWebhook({ id: editingWebhookId, payload, entityId })\n : createWebhook({ ...payload, entityId, entityType });\n };\n\n const handleClick = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n setIsSecretInputFieldVisible(true);\n };\n\n const handleRegenerate = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n };\n\n const handleDelete = setFieldValue => {\n setFieldValue(\"secret\", null);\n setIsSecretInputFieldVisible(false);\n };\n\n useEffect(() => {\n if (webhook?.secret) {\n setIsSecretInputFieldVisible(true);\n }\n }, [webhook]);\n\n return (\n <Pane {...{ isOpen, onClose }} initialFocusRef={endpointRef}>\n <Pane.Header className=\"flex items-center gap-x-2\">\n <Typography\n data-cy=\"add-new-webhook-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {editingWebhookId\n ? t(\"neetoWebhooks.webhook.edit\")\n : t(\"neetoWebhooks.webhook.add\")}\n </Typography>\n <HelpPopover\n description={t(\"neetoWebhooks.webhook.helpDescription\")}\n helpLinkProps={{ href: webhooksHelpLink }}\n title={t(\"neetoWebhooks.webhook.title\")}\n />\n </Pane.Header>\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema(webhooks),\n initialValues,\n onSubmit: values => handleSubmit(getValidationSchema().cast(values)),\n }}\n >\n {({ setFieldValue, values, touched, errors }) =>\n isLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Body className=\"pb-6\">\n <div className=\"w-full space-y-4 md:space-y-6\">\n <Textarea\n required\n data-cy=\"endpoint-input-field\"\n label={t(\"neetoWebhooks.webhook.endpoint\")}\n name=\"endpoint\"\n placeholder={t(\"neetoWebhooks.webhook.endpointPlaceholder\")}\n ref={endpointRef}\n rows={1}\n />\n <div className=\"space-y-2\">\n <Label className=\"flex items-center gap-x-2\">\n {t(\"neetoWebhooks.webhook.secret\")}\n <HelpPopover\n helpLinkProps={{ href: secretsHelpLink }}\n popoverProps={{ position: \"bottom\" }}\n title={t(\"neetoWebhooks.webhook.secretkeyHelpTitle\")}\n description={t(\n \"neetoWebhooks.webhook.secretkeyHelpDescription\"\n )}\n />\n </Label>\n {isSecretInputFieldVisible ? (\n <div className=\"flex items-center justify-between space-x-2\">\n <Input\n data-cy=\"secret-key-input-field\"\n name=\"secret\"\n placeholder={t(\n \"neetoWebhooks.webhook.secretPlaceholder\"\n )}\n />\n <MoreDropdown\n menuItems={[\n {\n key: \"regenerate-secret\",\n label: t(\"neetoWebhooks.buttons.regenerate\"),\n \"data-cy\": \"regenerate-secret\",\n onClick: () => handleRegenerate(setFieldValue),\n },\n {\n key: \"delete-secret\",\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-cy\": \"delete-secret\",\n onClick: () => handleDelete(setFieldValue),\n },\n ]}\n />\n </div>\n ) : (\n <Button\n data-cy=\"add-secret-key\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoWebhooks.buttons.generateSecretKey\")}\n style=\"link\"\n onClick={() => handleClick(setFieldValue)}\n />\n )}\n </div>\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoWebhooks.common.event\", PLURAL)}\n </Label>\n {!isLoading && (\n <FieldArray\n name=\"events\"\n render={arrayHelpers => (\n <div>\n <EventCheckbox\n {...{ arrayHelpers, events, values }}\n />\n {touched.events && errors.events && (\n <div\n className=\"neeto-ui-text-error-800 text-xs mt-1\"\n data-cy=\"event-error-text\"\n >\n {errors.events}\n </div>\n )}\n </div>\n )}\n />\n )}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: isWebhookExpiredOrDeprecated }}\n />\n </Pane.Footer>\n </>\n )\n }\n </Form>\n </Pane>\n );\n};\n\nexport default AddWebhookPane;\n","import { memo } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Typography, Button } from \"neetoui\";\n\nconst Header = withT(\n ({\n t,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n setIsAddWebhookPaneOpen,\n headerSize,\n webhooks,\n webhooksHelpLink,\n }) => (\n <>\n <NeetoHeader\n {...{ breadcrumbs }}\n size={headerSize}\n title={title || t(\"neetoWebhooks.webhook.title\")}\n actionBlock={\n <Button\n data-cy=\"add-new-webhook-button\"\n label={t(\"neetoWebhooks.webhook.add\")}\n onClick={() => setIsAddWebhookPaneOpen(true)}\n />\n }\n titleHelpPopoverProps={{\n description: t(\"neetoWebhooks.webhook.helpDescription\"),\n helpLinkProps: { href: webhooksHelpLink },\n title: t(\"neetoWebhooks.webhook.title\"),\n ...titleHelpPopoverProps,\n }}\n />\n {isNotEmpty(webhooks) && (\n <SubHeader\n leftActionBlock={\n <Typography component=\"h4\" style=\"h4\">\n {t(\"neetoWebhooks.common.webhookWithCount\", {\n count: webhooks.length,\n })}\n </Typography>\n }\n />\n )}\n </>\n )\n);\n\nexport default memo(Header);\n","import { useCallback, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport { NoData, Alert, Table, Button, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport {\n useFetchWebhooks,\n useDestroyWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\n\nimport AddWebhookPane from \"./AddWebhookPane\";\nimport Header from \"./Header\";\nimport { buildColumns } from \"./utils\";\n\nconst Webhooks = ({\n deliveriesPath,\n entityType,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n entityId,\n onCreate,\n onDelete,\n headerSize,\n containerClassName = \"\",\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const [editingWebhookId, setEditingWebhookId] = useState(null);\n const [deletingWebhookId, setDeletingWebhookId] = useState(null);\n const [isAddWebhookPaneOpen, setIsAddWebhookPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n\n const { t } = useTranslation();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n isLoading,\n isFetching,\n data: { webhooks = [], totalCount = 0 } = {},\n } = useFetchWebhooks({\n entityId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { isPending: isDeleting, mutate: destroyWebhook } = useDestroyWebhook({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n onDelete?.();\n },\n });\n\n const handlePaneClose = () => {\n setEditingWebhookId(null);\n setIsAddWebhookPaneOpen(false);\n };\n\n const handleEdit = useCallback(id => {\n setEditingWebhookId(id);\n setIsAddWebhookPaneOpen(true);\n }, []);\n\n const handleDelete = useCallback(id => {\n setDeletingWebhookId(id);\n setIsDeleteAlertOpen(true);\n }, []);\n\n if (isLoading) {\n return <PageLoader />;\n }\n\n return (\n <Container className={containerClassName}>\n <Header\n {...{\n breadcrumbs,\n headerSize,\n setIsAddWebhookPaneOpen,\n title,\n titleHelpPopoverProps,\n webhooks,\n webhooksHelpLink,\n }}\n />\n {isNotEmpty(webhooks) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n currentPageNumber={page}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={webhooks}\n columnData={buildColumns({\n handleDelete,\n handleEdit,\n deliveriesPath,\n })}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <NoData\n title={t(\"neetoWebhooks.webhook.empty\")}\n helpText={\n <Button\n href={webhooksHelpLink}\n label={t(\"neetoWebhooks.webhook.emptyHelpText\")}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n }\n primaryButtonProps={{\n label: t(\"neetoWebhooks.webhook.add\"),\n onClick: () => setIsAddWebhookPaneOpen(true),\n }}\n />\n </div>\n )}\n <AddWebhookPane\n {...{\n editingWebhookId,\n entityId,\n entityType,\n onCreate,\n secretsHelpLink,\n webhooks,\n webhooksHelpLink,\n }}\n isOpen={isAddWebhookPaneOpen}\n onClose={handlePaneClose}\n />\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoWebhooks.buttons.delete\")}\n message={t(\"neetoWebhooks.alert.delete.message\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n title={t(\"neetoWebhooks.alert.delete.title\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={() => destroyWebhook(deletingWebhookId, { entityId })}\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Webhooks);\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { mergeRight } from \"ramda\";\nimport { Switch, Route, useRouteMatch } from \"react-router-dom\";\n\nimport { HELP_LINK_URLS } from \"src/constants/urls\";\nimport { getDeliveriesPath, getDeliveryDetailsPath } from \"utils/paths\";\n\nimport Deliveries from \"./Deliveries\";\nimport Webhooks from \"./Webhooks\";\n\nimport \"../stylesheets/main.scss\";\n\nconst NeetoWebhooks = ({\n entityType,\n entityId,\n breadcrumbs = [],\n title,\n titleHelpPopoverProps,\n onCreate,\n onDelete,\n headerSize,\n containerClassName,\n helpLinkUrls = {},\n}) => {\n const { path: webhooksPath, url: webhooksUrl } = useRouteMatch();\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesPath);\n const helpLinks = mergeRight(HELP_LINK_URLS, helpLinkUrls);\n\n return (\n <Switch>\n <Route\n exact\n path={webhooksPath}\n component={() => (\n <Webhooks\n {...{\n breadcrumbs,\n containerClassName,\n deliveriesPath,\n entityId,\n entityType,\n headerSize,\n onCreate,\n onDelete,\n title,\n titleHelpPopoverProps,\n }}\n secretsHelpLink={helpLinks.secrets}\n webhooksHelpLink={helpLinks.webhooks}\n />\n )}\n />\n <Route\n exact\n path={deliveryDetailsPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n <Route\n path={deliveriesPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n </Switch>\n );\n};\n\nexport default NeetoWebhooks;\n"],"names":["HELP_LINK_URLS","webhooks","concat","globalProps","appName","secrets","deliveries","getDeliveriesPath","webhooksPath","getDeliveryDetailsPath","deliveriesPath","queryClient","QueryClient","queryCache","QueryCache","defaultOptions","queries","staleTime","DEFAULT_STALE_TIME","withReactQuery","Component","QueryWrapper","props","_jsxs","QueryClientProvider","client","children","_jsx","_objectSpread","ReactQueryDevtools","initialIsOpen","position","baseUrl","fetch","webhookId","params","axios","get","show","id","redeliver","delivery_id","post","deliveriesApi","QUERY_KEYS","DELIVERY_LIST","DELIVERY_DETAILS","WEBHOOK_LIST","WEBHOOK_DETAILS","EVENTS_LIST","DELIVERY_STALE_TIME","WEBHOOK_STALE_TIME","POST_REDELIVERY_ON_SUCCESS_TIMEOUT","useFetchDeliveries","useQuery","queryKey","queryFn","useShowDelivery","enabled","useRedeliverWebhook","deliveryId","webhookSid","useQueryClient","useMutation","mutationFn","onSuccess","setTimeout","invalidateQueries","DELIVERY_TAB","response","request","Snippet","_ref","_ref$dataCy","dataCy","className","TransactionDetails","delivery","_useState","useState","_useState2","_slicedToArray","activeHeader","setActiveHeader","_useTranslation","useTranslation","t","status","identifier","responseStatusCode","sid","renderPayload","JSON","stringify","parse","requestBody","_unused","_Fragment","Typography","style","Tag","Tab","Item","active","onClick","requestHeader","responseHeader","responseBody","Details","_delivery$webhook","onClose","_useRedeliverWebhook","isRedelivering","isPending","redeliverWebhook","mutateAsync","_useShowDelivery","isLoading","_useShowDelivery$data","data","_useShowDelivery$data2","handleRedeliverClick","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","arguments","Pane","isOpen","isPresent","size","Spinner","Header","DateFormat","Date","date","createdAt","tooltipProps","disabled","typographyProps","weight","Time","Body","Footer","eventId","Button","webhook","versionExpired","label","loading","buildColumns","deliveryDetailsPath","page","title","key","dataIndex","width","render","_","to","buildUrl","redelivery","DateTime","SINGULAR","prop","Deliveries","webhooksUrl","hostBreadcrumbs","breadcrumbs","helpLink","_useRouteMatch","useRouteMatch","deliveriesUrl","url","history","useHistory","_useParams","useParams","_useQueryParams","useQueryParams","_useQueryParams$page","DEFAULT_PAGE_INDEX","_useFetchDeliveries","pageSize","DEFAULT_PAGE_SIZE","isFetching","_useFetchDeliveries$d","_useFetchDeliveries$d2","totalCount","_useFetchDeliveries$d3","breadcrumbsWithoutWebhooksTitle","removeBy","text","_toConsumableArray","link","window","location","pathname","PageLoader","Container","titleHelpPopoverProps","description","helpLinkProps","href","isNotEmpty","TableWrapper","hasPagination","Table","fixedHeight","columnData","currentPageNumber","defaultPageSize","rowData","NoData","replace","create","payload","update","put","destroy","webhooksApi","useFetchWebhooks","useCreateWebhook","options","useMutationWithInvalidation","keysToInvalidate","_options$onSuccess","call","useShowWebhook","useUpdateWebhook","_options$onSuccess2","onError","error","_options$onError","useDestroyWebhook","_options$onSuccess3","all","eventsApi","useFetchEvents","MENU_ITEMS","EDIT","DELETE","WEBHOOK_INITIAL_VALUES","endpoint","events","secret","isActive","EventCheckbox","values","arrayHelpers","handleToggle","isSelected","index","event","remove","push","map","findIndexBy","gt","Checkbox","checked","onChange","ToggleActiveSwitch","setStatus","previousStatusRef","useRef","_useUpdateWebhook","current","updateWebhook","mutate","updatedStatus","target","Switch","getMenuItems","onEdit","onDelete","getValidationSchema","yup","object","shape","string","trim","matches","required","test","ctx","pluck","removeById","parent","includes","array","min","nullable","buildPayload","_initialValues$events","isEditing","initialValues","_ref3","eventsAttributes","deletable","filter","_ref4","findBy","assoc","creatable","_ref5","formatTimeUntilExpiration","expiresAt","now","expiry","diffMs","diffHours","Math","floor","diffDays","count","remainingHours","remainingMinutes","hours","hoursPlural","minutes","minutesPlural","formatExpiredDate","toLocaleDateString","_ref6","handleDelete","handleEdit","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","appendTo","document","body","menuItems","version","timeMessage","versionExpiresAt","versionDeprecated","defaultVersionPayloadDocUrl","rel","PLURAL","sort","join","generateRandomSecret","uuid","AddWebhookPane","editingWebhookId","entityId","entityType","onCreate","webhooksHelpLink","secretsHelpLink","isSecretInputFieldVisible","setIsSecretInputFieldVisible","_useCreateWebhook","createWebhook","_useShowWebhook","_useShowWebhook$data","_useShowWebhook$data2","_useShowWebhook$data3","endpointRef","_useFetchEvents","isWebhookExpiredOrDeprecated","handleSubmit","handleClick","setFieldValue","randomWebhookSecret","handleRegenerate","useEffect","initialFocusRef","HelpPopover","Form","formikProps","enableReinitialize","validationSchema","onSubmit","cast","touched","errors","Textarea","name","placeholder","ref","rows","Label","popoverProps","Input","icon","Plus","iconPosition","FieldArray","ActionBlock","cancelButtonProps","submitButtonProps","withT","setIsAddWebhookPaneOpen","headerSize","NeetoHeader","actionBlock","SubHeader","leftActionBlock","component","length","memo","Webhooks","_ref$containerClassNa","containerClassName","setEditingWebhookId","_useState3","_useState4","deletingWebhookId","setDeletingWebhookId","_useState5","_useState6","isAddWebhookPaneOpen","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useFetchWebhooks","_useFetchWebhooks$dat","_useFetchWebhooks$dat2","_useFetchWebhooks$dat3","_useFetchWebhooks$dat4","_useDestroyWebhook","isDeleting","destroyWebhook","handlePaneClose","useCallback","helpText","primaryButtonProps","Alert","isSubmitting","submitButtonLabel","message","entity","NeetoWebhooks","_ref$breadcrumbs","_ref$helpLinkUrls","helpLinkUrls","path","helpLinks","mergeRight","Route","exact"],"mappings":"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","x_google_ignoreList":[19,20,21,22,23,29]}
|
|
1
|
+
{"version":3,"file":"NeetoWebhooks.js","sources":["../app/javascript/src/constants/urls.js","../app/javascript/src/utils/paths.js","../app/javascript/src/utils/queryClient.js","../app/javascript/src/components/Common/withReactQuery.jsx","../app/javascript/src/apis/deliveries.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useDeliveriesApi.js","../app/javascript/src/components/Deliveries/Details/constants.js","../app/javascript/src/components/Deliveries/Details/Snippet.jsx","../app/javascript/src/components/Deliveries/Details/TransactionDetails.jsx","../app/javascript/src/components/Deliveries/Details/index.jsx","../app/javascript/src/components/Deliveries/utils.jsx","../app/javascript/src/components/Deliveries/index.jsx","../app/javascript/src/apis/webhooks.js","../app/javascript/src/hooks/reactQuery/useWebhooksApi.js","../app/javascript/src/apis/events.js","../app/javascript/src/hooks/reactQuery/useEventsApi.js","../app/javascript/src/components/Webhooks/constants.js","../app/javascript/src/components/Webhooks/EventCheckbox.jsx","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/v4.js","../app/javascript/src/components/Webhooks/ToggleActiveSwitch.jsx","../app/javascript/src/components/Webhooks/utils.jsx","../app/javascript/src/components/Webhooks/AddWebhookPane.jsx","../app/javascript/src/components/Webhooks/Header.jsx","../app/javascript/src/components/Webhooks/index.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js","../app/javascript/src/components/NeetoWebhooks.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/initializers\";\n\nexport const HELP_LINK_URLS = {\n webhooks: `https://help.${globalProps.appName}.com/articles/creating-a-webhook`,\n secrets: `https://help.${globalProps.appName}.com/articles/securing-webhook-requests`,\n deliveries: `https://help.${globalProps.appName}.com/articles/managing-webhook-deliveries`,\n};\n","export const getConfigurePath = path => path.split(\"/webhooks\")?.[0];\n\nexport const getDeliveriesPath = webhooksPath =>\n `${webhooksPath}/:webhookId/deliveries`;\n\nexport const getDeliveryDetailsPath = deliveriesPath =>\n `${deliveriesPath}/:deliveryId/`;\n","import { QueryCache, QueryClient } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\n\nconst queryClient = new QueryClient({\n queryCache: new QueryCache(),\n defaultOptions: { queries: { staleTime: DEFAULT_STALE_TIME } },\n});\n\nexport default queryClient;\n","/* eslint-disable sonarjs/prefer-immediate-return */\n/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport { QueryClientProvider } from \"@tanstack/react-query\";\nimport { ReactQueryDevtools } from \"@tanstack/react-query-devtools\";\n\nimport queryClient from \"utils/queryClient\";\n\nconst withReactQuery = Component => {\n const QueryWrapper = props => (\n <QueryClientProvider client={queryClient}>\n <Component {...props} />\n <ReactQueryDevtools initialIsOpen={false} position=\"bottom\" />\n </QueryClientProvider>\n );\n\n return QueryWrapper;\n};\n\nexport default withReactQuery;\n","import axios from \"axios\";\n\nconst baseUrl = \"/webhooks\";\n\nconst fetch = (webhookId, params) =>\n axios.get(`${baseUrl}/webhooks/${webhookId}/deliveries`, { params });\n\nconst show = (id, webhookId) =>\n axios.get(`${baseUrl}/webhooks/${webhookId}/deliveries/${id}`);\n\nconst redeliver = (delivery_id, webhookId) =>\n axios.post(\n `${baseUrl}/webhooks/${webhookId}/deliveries/${delivery_id}/redeliver`\n );\n\nconst deliveriesApi = { fetch, show, redeliver };\n\nexport default deliveriesApi;\n","export const QUERY_KEYS = {\n DELIVERY_LIST: \"delivery-list\",\n DELIVERY_DETAILS: \"delivery-details\",\n WEBHOOK_LIST: \"webhook-list\",\n WEBHOOK_DETAILS: \"webhook-details\",\n EVENTS_LIST: \"events-list\",\n};\n\nexport const DELIVERY_STALE_TIME = 3_200_000; // 1 hour\nexport const WEBHOOK_STALE_TIME = 3_200_000; // 1 hour\nexport const POST_REDELIVERY_ON_SUCCESS_TIMEOUT = 5000; // 5 seconds\n","import { useQuery, useMutation, useQueryClient } from \"@tanstack/react-query\";\n\nimport deliveriesApi from \"apis/deliveries\";\nimport {\n QUERY_KEYS,\n DELIVERY_STALE_TIME,\n POST_REDELIVERY_ON_SUCCESS_TIMEOUT,\n} from \"src/constants/query\";\n\nexport const useFetchDeliveries = (webhookId, params) =>\n useQuery({\n queryKey: [QUERY_KEYS.DELIVERY_LIST, webhookId, params],\n queryFn: () => deliveriesApi.fetch(webhookId, params),\n staleTime: DELIVERY_STALE_TIME,\n });\n\nexport const useShowDelivery = (id, webhookId) =>\n useQuery({\n queryKey: [QUERY_KEYS.DELIVERY_DETAILS, id, webhookId],\n queryFn: () => deliveriesApi.show(id, webhookId),\n staleTime: DELIVERY_STALE_TIME,\n enabled: !!id,\n });\n\nexport const useRedeliverWebhook = (deliveryId, webhookSid) => {\n const queryClient = useQueryClient();\n\n return useMutation({\n mutationFn: () => deliveriesApi.redeliver(deliveryId, webhookSid),\n onSuccess: () => {\n setTimeout(\n () =>\n queryClient.invalidateQueries({\n queryKey: [QUERY_KEYS.DELIVERY_LIST],\n }),\n POST_REDELIVERY_ON_SUCCESS_TIMEOUT\n );\n },\n });\n};\n","export const DELIVERY_TAB = {\n response: \"response\",\n request: \"request\",\n};\nexport const DELIVERY_STATUS = {\n failure: \"failure\",\n success: \"success\",\n};\n","const Snippet = ({ children, dataCy = \"\" }) => (\n <div\n className=\"neeto-ui-rounded neeto-ui-border-gray-300 neeto-ui-bg-gray-100 my-2 whitespace-pre-wrap break-all border p-4\"\n data-cy={dataCy}\n >\n {children}\n </div>\n);\n\nexport default Snippet;\n","import { useState } from \"react\";\n\nimport { Typography, Tab, Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DELIVERY_TAB } from \"./constants\";\nimport Snippet from \"./Snippet\";\n\nconst TransactionDetails = ({ delivery }) => {\n const [activeHeader, setActiveHeader] = useState(DELIVERY_TAB.request);\n\n const { t } = useTranslation();\n\n const { status, identifier, responseStatusCode, sid } = delivery;\n\n const renderPayload = () => {\n try {\n return JSON.stringify(JSON.parse(delivery.requestBody), null, 2);\n } catch {\n return \"\";\n }\n };\n\n return (\n <>\n <div className=\"neeto-ui-bg-white sticky top-0 mb-2 flex w-full flex-col\">\n <div className=\"flex w-full flex-col space-y-2 pb-4\">\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.sid\")}:\n <Typography\n className=\"px-2 font-bold\"\n data-cy=\"delivery-sid\"\n style=\"body2\"\n >\n {sid}\n </Typography>\n </span>\n <span className=\"flex items-center space-x-1\">\n {t(\"neetoWebhooks.delivery.deliveryId\")}:\n <Typography\n className=\"px-2 font-bold\"\n data-cy=\"delivery-identifier\"\n style=\"body2\"\n >\n {identifier}\n </Typography>\n </span>\n <span className=\"flex items-center\">\n {t(\"neetoWebhooks.common.responseStatus\")}:\n <Typography\n className=\"px-2 font-bold\"\n data-cy=\"delivery-response-code\"\n style=\"body2\"\n >\n {responseStatusCode}\n </Typography>\n <Tag style={status === \"success\" ? \"success\" : \"warning\"}>\n {status}\n </Tag>\n </span>\n </div>\n <Tab>\n <Tab.Item\n active={activeHeader === DELIVERY_TAB.request}\n onClick={() => setActiveHeader(DELIVERY_TAB.request)}\n >\n {t(\"neetoWebhooks.delivery.request\")}\n </Tab.Item>\n <Tab.Item\n active={activeHeader === DELIVERY_TAB.response}\n onClick={() => setActiveHeader(DELIVERY_TAB.response)}\n >\n {t(\"neetoWebhooks.delivery.response\")}\n </Tab.Item>\n </Tab>\n </div>\n <div className=\"mt-2 w-full\">\n {activeHeader === DELIVERY_TAB.request ? (\n <div className=\"space-y-4\">\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataCy=\"delivery-request-header\">\n {delivery.requestHeader}\n </Snippet>\n </div>\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.payload\")}\n </Typography>\n <Snippet dataCy=\"delivery-request-payload\">\n {renderPayload()}\n </Snippet>\n </div>\n </div>\n ) : (\n <div className=\"space-y-4\">\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.header\")}\n </Typography>\n <Snippet dataCy=\"delivery-response-header\">\n {delivery.responseHeader}\n </Snippet>\n </div>\n <div>\n <Typography style=\"h5\">\n {t(\"neetoWebhooks.delivery.body\")}\n </Typography>\n <Snippet dataCy=\"delivery-response-body\">\n {delivery.responseBody}\n </Snippet>\n </div>\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport default TransactionDetails;\n","import { isPresent } from \"neetocist\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Pane, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useRedeliverWebhook,\n useShowDelivery,\n} from \"hooks/reactQuery/useDeliveriesApi\";\n\nimport TransactionDetails from \"./TransactionDetails\";\n\nconst Details = ({ onClose, deliveryId, webhookSid }) => {\n const { t } = useTranslation();\n\n const { isPending: isRedelivering, mutateAsync: redeliverWebhook } =\n useRedeliverWebhook(deliveryId, webhookSid);\n\n const { isPending: isLoading, data: { delivery } = {} } = useShowDelivery(\n deliveryId,\n webhookSid\n );\n\n const handleRedeliverClick = async () => {\n await redeliverWebhook();\n };\n\n return (\n <Pane {...{ onClose }} isOpen={isPresent(deliveryId)} size=\"large\">\n <>\n {isLoading ? (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Header>\n <>\n <DateFormat.Date\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ style: \"h2\", weight: \"semibold\" }}\n />\n <span> • </span>\n <DateFormat.Time\n date={delivery.createdAt}\n tooltipProps={{ disabled: true }}\n typographyProps={{ style: \"h2\", weight: \"normal\" }}\n />\n </>\n </Pane.Header>\n <Pane.Body>\n {isPresent(delivery) && <TransactionDetails {...{ delivery }} />}\n </Pane.Body>\n <Pane.Footer className=\"gap-x-2\">\n {delivery?.eventId && (\n <Button\n disabled={isRedelivering || delivery.webhook?.versionExpired}\n label={t(\"neetoWebhooks.delivery.redeliver\")}\n loading={isRedelivering}\n style=\"primary\"\n onClick={handleRedeliverClick}\n />\n )}\n <Button\n label={t(\"neetoWebhooks.buttons.cancel\")}\n style=\"text\"\n onClick={onClose}\n />\n </Pane.Footer>\n </>\n )}\n </>\n </Pane>\n );\n};\n\nexport default Details;\n","import { t } from \"i18next\";\nimport { SINGULAR } from \"neetocommons/constants\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport DateFormat from \"neetomolecules/DateFormat\";\nimport { Button, Tag, Typography } from \"neetoui\";\nimport { prop } from \"ramda\";\n\nexport const buildColumns = ({ deliveryDetailsPath, page }) => [\n {\n title: t(\"neetoWebhooks.delivery.deliveryId\"),\n key: \"identifier\",\n dataIndex: \"identifier\",\n width: 390,\n render: (_, delivery) => (\n <div className=\"flex items-center gap-x-3\">\n <Button\n style=\"link\"\n to={buildUrl(deliveryDetailsPath, { deliveryId: delivery.sid, page })}\n weight=\"semibold\"\n >\n {delivery.identifier}\n </Button>\n {delivery.redelivery && (\n <Tag style=\"info\">{t(\"neetoWebhooks.delivery.redelivery\")}</Tag>\n )}\n </div>\n ),\n },\n {\n title: t(\"neetoWebhooks.tableHeaders.createdAt\"),\n key: \"createdAt\",\n dataIndex: \"createdAt\",\n width: 280,\n render: createdAt => (\n <div className=\"flex items-center justify-between space-x-1\">\n <Typography>\n <DateFormat.DateTime date={createdAt} />\n </Typography>\n </div>\n ),\n },\n {\n title: t(\"neetoWebhooks.common.responseStatus\"),\n key: \"responseStatusCode\",\n width: 250,\n render: ({ responseStatusCode, status }) => (\n <span className=\"flex items-center\">\n <Typography className=\"px-2\" style=\"body2\">\n {responseStatusCode}\n </Typography>\n <Tag style={status === \"success\" ? \"success\" : \"warning\"}>{status}</Tag>\n </span>\n ),\n },\n {\n title: t(\"neetoWebhooks.common.event\", SINGULAR),\n key: \"event\",\n dataIndex: \"event\",\n width: 270,\n render: prop(\"label\"),\n },\n];\n","import { isNotEmpty, removeBy } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport Container from \"neetomolecules/Container\";\nimport Header from \"neetomolecules/Header\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Spinner, Table } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\nimport { useHistory, useParams, useRouteMatch } from \"react-router-dom\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport { useFetchDeliveries } from \"hooks/reactQuery/useDeliveriesApi\";\nimport { getDeliveryDetailsPath, getDeliveriesPath } from \"utils/paths\";\n\nimport Details from \"./Details\";\nimport { buildColumns } from \"./utils\";\n\nconst Deliveries = ({\n webhooksUrl,\n breadcrumbs: hostBreadcrumbs,\n helpLink,\n}) => {\n const { url: deliveriesUrl } = useRouteMatch();\n const history = useHistory();\n const { t } = useTranslation();\n const { webhookId, deliveryId } = useParams();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesUrl);\n\n const {\n isLoading,\n isFetching,\n data: { totalCount, deliveries = [] } = {},\n } = useFetchDeliveries(webhookId, {\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const breadcrumbsWithoutWebhooksTitle = removeBy(\n { text: t(\"neetoWebhooks.webhook.title\") },\n hostBreadcrumbs\n );\n\n const breadcrumbs = [\n ...breadcrumbsWithoutWebhooksTitle,\n { link: webhooksUrl, text: t(\"neetoWebhooks.webhook.title\") },\n { link: window.location.pathname, text: t(\"neetoWebhooks.delivery.title\") },\n ];\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center items-center w-full h-screen\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className=\"w-full\">\n <Header\n {...{ breadcrumbs }}\n title={t(\"neetoWebhooks.delivery.title\")}\n titleHelpPopoverProps={{\n title: t(\"neetoWebhooks.delivery.title\"),\n description: t(\"neetoWebhooks.delivery.helpDescription\"),\n helpLinkProps: { href: helpLink },\n }}\n />\n {isNotEmpty(deliveries) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n columnData={buildColumns({ deliveryDetailsPath, page })}\n currentPageNumber={page}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={deliveries}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <NoData\n description={t(\"neetoWebhooks.delivery.empty.description\")}\n title={t(\"neetoWebhooks.delivery.empty.title\")}\n />\n </div>\n )}\n <Details\n {...{ deliveryId }}\n webhookSid={webhookId}\n onClose={() =>\n history.replace(buildUrl(deliveriesPath, { webhookId, page }))\n }\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Deliveries);\n","import axios from \"axios\";\n\nconst baseUrl = \"/webhooks/webhooks\";\n\nconst fetch = params => axios.get(baseUrl, { params });\n\nconst create = payload => axios.post(baseUrl, { webhook: payload });\n\nconst show = id => axios.get(`${baseUrl}/${id}`);\n\nconst update = (id, payload) =>\n axios.put(`${baseUrl}/${id}`, { webhook: payload });\n\nconst destroy = id => axios.delete(`${baseUrl}/${id}`);\n\nconst webhooksApi = { fetch, create, show, update, destroy };\n\nexport default webhooksApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport webhooksApi from \"apis/webhooks\";\nimport { QUERY_KEYS, WEBHOOK_STALE_TIME } from \"src/constants/query\";\n\nexport const useFetchWebhooks = params =>\n useQuery({\n queryKey: [QUERY_KEYS.WEBHOOK_LIST, params],\n queryFn: () => webhooksApi.fetch(params),\n staleTime: WEBHOOK_STALE_TIME,\n });\n\nexport const useCreateWebhook = options =>\n useMutationWithInvalidation(webhooksApi.create, {\n keysToInvalidate: [[QUERY_KEYS.WEBHOOK_LIST]],\n onSuccess: () => {\n options?.onSuccess?.();\n },\n });\n\nexport const useShowWebhook = id =>\n useQuery({\n queryKey: [QUERY_KEYS.WEBHOOK_DETAILS, id],\n queryFn: () => webhooksApi.show(id),\n enabled: !!id,\n staleTime: WEBHOOK_STALE_TIME,\n });\n\nexport const useUpdateWebhook = (id, options) =>\n useMutationWithInvalidation(\n ({ id, payload }) => webhooksApi.update(id, payload),\n {\n keysToInvalidate: [\n [QUERY_KEYS.WEBHOOK_LIST],\n [QUERY_KEYS.WEBHOOK_DETAILS, id],\n [QUERY_KEYS.DELIVERY_LIST, id],\n ],\n onSuccess: () => {\n options?.onSuccess?.();\n },\n onError: error => {\n options?.onError?.(error);\n },\n }\n );\n\nexport const useDestroyWebhook = options =>\n useMutationWithInvalidation(webhooksApi.destroy, {\n keysToInvalidate: [[QUERY_KEYS.WEBHOOK_LIST]],\n onSuccess: () => {\n options?.onSuccess?.();\n },\n });\n","import axios from \"axios\";\n\nconst baseUrl = \"/webhooks/events/all\";\n\nconst all = () => axios.get(baseUrl);\n\nconst eventsApi = { all };\n\nexport default eventsApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport eventsApi from \"apis/events\";\nimport { QUERY_KEYS, WEBHOOK_STALE_TIME } from \"src/constants/query\";\n\nexport const useFetchEvents = () =>\n useQuery({\n queryKey: [QUERY_KEYS.EVENTS_LIST],\n queryFn: eventsApi.all,\n staleTime: WEBHOOK_STALE_TIME,\n });\n","export const MENU_ITEMS = { EDIT: \"edit\", DELETE: \"delete\" };\nexport const WEBHOOK_INITIAL_VALUES = {\n endpoint: \"\",\n events: [],\n secret: \"\",\n isActive: true,\n};\n","import { findIndexBy } from \"neetocist\";\nimport { Checkbox } from \"neetoui\";\nimport { gt } from \"ramda\";\n\nconst EventCheckbox = ({ events, values, arrayHelpers }) => {\n const handleToggle = (isSelected, index, event) => {\n if (isSelected) {\n arrayHelpers.remove(index);\n } else {\n arrayHelpers.push(event);\n }\n };\n\n return (\n <div>\n {events.map(event => {\n const index = findIndexBy(event, values.events);\n const isSelected = gt(index, -1);\n\n return (\n <Checkbox\n checked={isSelected}\n className=\"my-4\"\n key={event.identifier}\n label={event.label}\n onChange={() => handleToggle(isSelected, index, event)}\n />\n );\n })}\n </div>\n );\n};\nexport default EventCheckbox;\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import { useState, useRef } from \"react\";\n\nimport { Switch } from \"neetoui\";\n\nimport { useUpdateWebhook } from \"hooks/reactQuery/useWebhooksApi\";\n\nconst ToggleActiveSwitch = ({ isActive, webhookId }) => {\n const [status, setStatus] = useState(isActive);\n const previousStatusRef = useRef(isActive);\n\n const { mutate: updateWebhook } = useUpdateWebhook(webhookId, {\n onError: () => {\n // Revert to the previous state\n setStatus(previousStatusRef.current);\n },\n onSuccess: () => {\n // Update the previous status ref on successful update\n previousStatusRef.current = status;\n },\n });\n\n const handleToggle = event => {\n const updatedStatus = event.target.checked;\n // Store the current status as previous before changing\n previousStatusRef.current = status;\n setStatus(updatedStatus);\n updateWebhook({ id: webhookId, payload: { isActive: updatedStatus } });\n };\n\n return <Switch checked={status} onChange={handleToggle} />;\n};\n\nexport default ToggleActiveSwitch;\n","import { t } from \"i18next\";\nimport { findBy, removeById, snakeToCamelCase } from \"neetocist\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { buildUrl } from \"neetocommons/utils\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Button, Tag } from \"neetoui\";\nimport { assoc, pluck } from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\nimport * as yup from \"yup\";\n\nimport { MENU_ITEMS } from \"./constants\";\nimport ToggleActiveSwitch from \"./ToggleActiveSwitch\";\n\nconst getMenuItems = ({ onEdit, onDelete }) => [\n {\n key: MENU_ITEMS.EDIT,\n label: t(\"neetoWebhooks.buttons.edit\"),\n \"data-cy\": \"neeto-webhooks-edit-button\",\n onClick: onEdit,\n },\n {\n key: MENU_ITEMS.DELETE,\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-cy\": \"neeto-webhooks-delete-button\",\n onClick: onDelete,\n },\n];\n\nexport const getValidationSchema = webhooks =>\n yup.object().shape({\n endpoint: yup\n .string()\n .trim()\n .matches(\n /^(https?):\\/\\//i,\n t(\"neetoWebhooks.errors.webhook.invalidUrlProtocol\")\n )\n .url(t(\"neetoWebhooks.errors.webhook.invalidUrl\"))\n .required(t(\"neetoWebhooks.errors.webhook.required\"))\n .test(\n \"Is endpoint unique\",\n t(\"neetoWebhooks.errors.webhook.urlNotUnique\"),\n (endpoint, ctx) =>\n !pluck(\"endpoint\", removeById(ctx.parent.id, webhooks)).includes(\n endpoint?.trim()\n )\n ),\n events: yup\n .array()\n .min(1, t(\"neetoWebhooks.errors.webhook.events.required\")),\n secret: yup.string().trim().nullable(),\n });\n\nexport const buildEventsOptions = events =>\n events.map(event => ({\n label: t(`neetoWebhooks.webhooks.events.${snakeToCamelCase(event)}`),\n value: event,\n }));\n\nexport const buildPayload = ({ isEditing, values, initialValues }) => {\n const events = values.events.map(({ identifier }) => ({ identifier }));\n if (!isEditing) return { ...values, eventsAttributes: events };\n\n const deletable = (initialValues.events ?? [])\n .filter(({ identifier }) => !findBy({ identifier }, values.events))\n .map(assoc(\"_destroy\", true));\n\n const creatable = values.events.filter(\n ({ identifier }) => !findBy({ identifier }, initialValues.events)\n );\n\n return { ...values, eventsAttributes: [...creatable, ...deletable] };\n};\n\nexport const formatTimeUntilExpiration = expiresAt => {\n if (!expiresAt) return null;\n\n const now = new Date();\n const expiry = new Date(expiresAt);\n const diffMs = expiry - now;\n\n if (diffMs <= 0) return null;\n\n const diffHours = Math.floor(diffMs / (1000 * 60 * 60));\n const diffDays = Math.floor(diffHours / 24);\n\n if (diffDays > 0) {\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.days\", {\n count: diffDays,\n });\n }\n const remainingHours = diffHours;\n const remainingMinutes = Math.floor(\n (diffMs % (1000 * 60 * 60)) / (1000 * 60)\n );\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiresIn.hoursAndMinutes\", {\n hours: remainingHours,\n hoursPlural: remainingHours !== 1 ? \"s\" : \"\",\n minutes: remainingMinutes,\n minutesPlural: remainingMinutes !== 1 ? \"s\" : \"\",\n });\n};\n\nexport const formatExpiredDate = expiresAt => {\n if (!expiresAt) return null;\n\n const expiry = new Date(expiresAt);\n\n return t(\"neetoWebhooks.webhook.versionStatus.expiredOn\", {\n date: expiry.toLocaleDateString(),\n });\n};\n\nexport const buildColumns = ({ handleDelete, handleEdit, deliveriesPath }) => [\n {\n title: t(\"neetoWebhooks.common.endpoint\"),\n key: \"endpoint\",\n dataIndex: \"endpoint\",\n width: 700,\n render: (endpoint, webhook) => (\n <div className=\"flex items-center justify-between space-x-3\">\n <Button\n style=\"link\"\n to={buildUrl(deliveriesPath, { webhookId: webhook.sid })}\n >\n {endpoint}\n </Button>\n <MoreDropdown\n dropdownButtonProps={{ className: \"mr-1 my-1\" }}\n dropdownProps={{\n strategy: \"fixed\",\n appendTo: () => document.body,\n }}\n menuItems={getMenuItems({\n onEdit: () => handleEdit(webhook.id),\n onDelete: () => handleDelete(webhook.id),\n })}\n />\n </div>\n ),\n },\n {\n title: t(\"neetoWebhooks.webhook.active\"),\n key: \"isActive\",\n dataIndex: \"isActive\",\n render: (isActive, webhook) => (\n <ToggleActiveSwitch {...{ isActive }} webhookId={webhook.id} />\n ),\n width: 150,\n },\n {\n title: t(\"neetoWebhooks.webhook.version\"),\n dataIndex: \"version\",\n key: \"version\",\n render: (version, webhook) => {\n const timeMessage = webhook.versionExpired\n ? formatExpiredDate(webhook.versionExpiresAt)\n : formatTimeUntilExpiration(webhook.versionExpiresAt);\n\n return (\n <div className=\"flex flex-col space-y-1\">\n <div className=\"flex items-center space-x-2\">\n <span>{version}</span>\n {webhook.versionExpired && <Tag label=\"expired\" style=\"danger\" />}\n {webhook.versionDeprecated && !webhook.versionExpired && (\n <Tag label=\"deprecated\" style=\"warning\" />\n )}\n </div>\n {timeMessage && (\n <div className=\"text-xs neeto-ui-text-gray-600\">\n {timeMessage}.{\" \"}\n <a\n className=\"text-blue-600 hover:text-blue-800 underline\"\n href={webhook.defaultVersionPayloadDocUrl}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n >\n {t(\"neetoWebhooks.webhook.versionStatus.moreDetails\")}\n </a>\n .\n </div>\n )}\n </div>\n );\n },\n width: 200,\n },\n {\n title: t(\"neetoWebhooks.common.event\", PLURAL),\n dataIndex: \"events\",\n key: \"events\",\n render: events => (\n <span className=\"whitespace-normal\">\n {pluck(\"label\", events).sort().join(\", \")}\n </span>\n ),\n width: 300,\n },\n];\n\nexport const generateRandomSecret = () => uuid().replace(/-/g, \"\");\n","import { useEffect, useRef, useState } from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport { PLURAL } from \"neetocommons/constants\";\nimport { Plus } from \"neetoicons\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\nimport MoreDropdown from \"neetomolecules/MoreDropdown\";\nimport { Button, Pane, Spinner, Typography, Label } from \"neetoui\";\nimport { Input, Form, ActionBlock, Textarea } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useFetchEvents } from \"hooks/reactQuery/useEventsApi\";\nimport {\n useCreateWebhook,\n useShowWebhook,\n useUpdateWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\n\nimport { WEBHOOK_INITIAL_VALUES } from \"./constants\";\nimport EventCheckbox from \"./EventCheckbox\";\nimport {\n buildPayload,\n generateRandomSecret,\n getValidationSchema,\n} from \"./utils\";\n\nconst AddWebhookPane = ({\n editingWebhookId,\n entityId,\n entityType,\n isOpen,\n onClose,\n onCreate,\n webhooks,\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const { t } = useTranslation();\n const [isSecretInputFieldVisible, setIsSecretInputFieldVisible] =\n useState(false);\n\n const { mutate: createWebhook } = useCreateWebhook({\n onSuccess: () => {\n onClose();\n onCreate?.();\n },\n });\n\n const { data: { webhook = {} } = {} } = useShowWebhook(editingWebhookId, {\n entityId,\n });\n\n const { mutate: updateWebhook } = useUpdateWebhook(editingWebhookId, {\n onSuccess: onClose,\n });\n const endpointRef = useRef();\n\n const { data: events, isLoading } = useFetchEvents();\n\n const initialValues = editingWebhookId\n ? { ...WEBHOOK_INITIAL_VALUES, ...webhook }\n : { ...WEBHOOK_INITIAL_VALUES, events };\n\n const isWebhookExpiredOrDeprecated =\n editingWebhookId && (webhook.versionExpired || webhook.versionDeprecated);\n\n const handleSubmit = values => {\n // Check if webhook is expired or deprecated before allowing edit\n if (\n editingWebhookId &&\n (webhook.versionExpired || webhook.versionDeprecated)\n ) {\n return;\n }\n\n const payload = buildPayload({\n isEditing: editingWebhookId,\n values,\n initialValues,\n });\n\n editingWebhookId\n ? updateWebhook({ id: editingWebhookId, payload, entityId })\n : createWebhook({ ...payload, entityId, entityType });\n };\n\n const handleClick = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n setIsSecretInputFieldVisible(true);\n };\n\n const handleRegenerate = setFieldValue => {\n const randomWebhookSecret = generateRandomSecret();\n setFieldValue(\"secret\", randomWebhookSecret);\n };\n\n const handleDelete = setFieldValue => {\n setFieldValue(\"secret\", null);\n setIsSecretInputFieldVisible(false);\n };\n\n useEffect(() => {\n if (webhook?.secret) {\n setIsSecretInputFieldVisible(true);\n }\n }, [webhook]);\n\n return (\n <Pane {...{ isOpen, onClose }} initialFocusRef={endpointRef}>\n <Pane.Header className=\"flex items-center gap-x-2\">\n <Typography\n data-cy=\"add-new-webhook-pane-header\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {editingWebhookId\n ? t(\"neetoWebhooks.webhook.edit\")\n : t(\"neetoWebhooks.webhook.add\")}\n </Typography>\n <HelpPopover\n description={t(\"neetoWebhooks.webhook.helpDescription\")}\n helpLinkProps={{ href: webhooksHelpLink }}\n title={t(\"neetoWebhooks.webhook.title\")}\n />\n </Pane.Header>\n <Form\n formikProps={{\n enableReinitialize: true,\n validationSchema: getValidationSchema(webhooks),\n initialValues,\n onSubmit: values => handleSubmit(getValidationSchema().cast(values)),\n }}\n >\n {({ setFieldValue, values, touched, errors }) =>\n isLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n <>\n <Pane.Body className=\"pb-6\">\n <div className=\"w-full space-y-4 md:space-y-6\">\n <Textarea\n required\n data-cy=\"endpoint-input-field\"\n label={t(\"neetoWebhooks.webhook.endpoint\")}\n name=\"endpoint\"\n placeholder={t(\"neetoWebhooks.webhook.endpointPlaceholder\")}\n ref={endpointRef}\n rows={1}\n />\n <div className=\"space-y-2\">\n <Label className=\"flex items-center gap-x-2\">\n {t(\"neetoWebhooks.webhook.secret\")}\n <HelpPopover\n helpLinkProps={{ href: secretsHelpLink }}\n popoverProps={{ position: \"bottom\" }}\n title={t(\"neetoWebhooks.webhook.secretkeyHelpTitle\")}\n description={t(\n \"neetoWebhooks.webhook.secretkeyHelpDescription\"\n )}\n />\n </Label>\n {isSecretInputFieldVisible ? (\n <div className=\"flex items-center justify-between space-x-2\">\n <Input\n data-cy=\"secret-key-input-field\"\n name=\"secret\"\n placeholder={t(\n \"neetoWebhooks.webhook.secretPlaceholder\"\n )}\n />\n <MoreDropdown\n menuItems={[\n {\n key: \"regenerate-secret\",\n label: t(\"neetoWebhooks.buttons.regenerate\"),\n \"data-cy\": \"regenerate-secret\",\n onClick: () => handleRegenerate(setFieldValue),\n },\n {\n key: \"delete-secret\",\n label: t(\"neetoWebhooks.buttons.delete\"),\n \"data-cy\": \"delete-secret\",\n onClick: () => handleDelete(setFieldValue),\n },\n ]}\n />\n </div>\n ) : (\n <Button\n data-cy=\"add-secret-key\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoWebhooks.buttons.generateSecretKey\")}\n style=\"link\"\n onClick={() => handleClick(setFieldValue)}\n />\n )}\n </div>\n <div className=\"space-y-2\">\n <Label required>\n {t(\"neetoWebhooks.common.event\", PLURAL)}\n </Label>\n {!isLoading && (\n <FieldArray\n name=\"events\"\n render={arrayHelpers => (\n <div>\n <EventCheckbox\n {...{ arrayHelpers, events, values }}\n />\n {touched.events && errors.events && (\n <div\n className=\"neeto-ui-text-error-800 text-xs mt-1\"\n data-cy=\"event-error-text\"\n >\n {errors.events}\n </div>\n )}\n </div>\n )}\n />\n )}\n </div>\n </div>\n </Pane.Body>\n <Pane.Footer>\n <ActionBlock\n cancelButtonProps={{ onClick: onClose }}\n submitButtonProps={{ disabled: isWebhookExpiredOrDeprecated }}\n />\n </Pane.Footer>\n </>\n )\n }\n </Form>\n </Pane>\n );\n};\n\nexport default AddWebhookPane;\n","import { memo } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport NeetoHeader from \"neetomolecules/Header\";\nimport SubHeader from \"neetomolecules/SubHeader\";\nimport { Typography, Button } from \"neetoui\";\n\nconst Header = withT(\n ({\n t,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n setIsAddWebhookPaneOpen,\n headerSize,\n webhooks,\n webhooksHelpLink,\n }) => (\n <>\n <NeetoHeader\n {...{ breadcrumbs }}\n size={headerSize}\n title={title || t(\"neetoWebhooks.webhook.title\")}\n actionBlock={\n <Button\n data-cy=\"add-new-webhook-button\"\n label={t(\"neetoWebhooks.webhook.add\")}\n onClick={() => setIsAddWebhookPaneOpen(true)}\n />\n }\n titleHelpPopoverProps={{\n description: t(\"neetoWebhooks.webhook.helpDescription\"),\n helpLinkProps: { href: webhooksHelpLink },\n title: t(\"neetoWebhooks.webhook.title\"),\n ...titleHelpPopoverProps,\n }}\n />\n {isNotEmpty(webhooks) && (\n <SubHeader\n leftActionBlock={\n <Typography component=\"h4\" style=\"h4\">\n {t(\"neetoWebhooks.common.webhookWithCount\", {\n count: webhooks.length,\n })}\n </Typography>\n }\n />\n )}\n </>\n )\n);\n\nexport default memo(Header);\n","import { useCallback, useState } from \"react\";\n\nimport { isNotEmpty } from \"neetocist\";\nimport { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE } from \"neetocommons/constants\";\nimport { useQueryParams } from \"neetocommons/react-utils\";\nimport Container from \"neetomolecules/Container\";\nimport TableWrapper from \"neetomolecules/TableWrapper\";\nimport { NoData, Alert, Table, Button, Spinner } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nimport withReactQuery from \"components/Common/withReactQuery\";\nimport {\n useFetchWebhooks,\n useDestroyWebhook,\n} from \"hooks/reactQuery/useWebhooksApi\";\n\nimport AddWebhookPane from \"./AddWebhookPane\";\nimport Header from \"./Header\";\nimport { buildColumns } from \"./utils\";\n\nconst Webhooks = ({\n deliveriesPath,\n entityType,\n breadcrumbs,\n title,\n titleHelpPopoverProps,\n entityId,\n onCreate,\n onDelete,\n headerSize,\n containerClassName = \"\",\n webhooksHelpLink,\n secretsHelpLink,\n}) => {\n const [editingWebhookId, setEditingWebhookId] = useState(null);\n const [deletingWebhookId, setDeletingWebhookId] = useState(null);\n const [isAddWebhookPaneOpen, setIsAddWebhookPaneOpen] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n\n const { t } = useTranslation();\n const { page = DEFAULT_PAGE_INDEX } = useQueryParams();\n\n const {\n isLoading,\n isFetching,\n data: { webhooks = [], totalCount = 0 } = {},\n } = useFetchWebhooks({\n entityId,\n page,\n pageSize: DEFAULT_PAGE_SIZE,\n });\n\n const { isPending: isDeleting, mutate: destroyWebhook } = useDestroyWebhook({\n onSuccess: () => {\n setIsDeleteAlertOpen(false);\n onDelete?.();\n },\n });\n\n const handlePaneClose = () => {\n setEditingWebhookId(null);\n setIsAddWebhookPaneOpen(false);\n };\n\n const handleEdit = useCallback(id => {\n setEditingWebhookId(id);\n setIsAddWebhookPaneOpen(true);\n }, []);\n\n const handleDelete = useCallback(id => {\n setDeletingWebhookId(id);\n setIsDeleteAlertOpen(true);\n }, []);\n\n if (isLoading) {\n return (\n <div className=\"flex justify-center items-center w-full h-screen\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <Container className={containerClassName}>\n <Header\n {...{\n breadcrumbs,\n headerSize,\n setIsAddWebhookPaneOpen,\n title,\n titleHelpPopoverProps,\n webhooks,\n webhooksHelpLink,\n }}\n />\n {isNotEmpty(webhooks) ? (\n <TableWrapper hasPagination={totalCount > DEFAULT_PAGE_SIZE}>\n <Table\n {...{ totalCount }}\n fixedHeight\n currentPageNumber={page}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n loading={isFetching}\n rowData={webhooks}\n columnData={buildColumns({\n handleDelete,\n handleEdit,\n deliveriesPath,\n })}\n />\n </TableWrapper>\n ) : (\n <div className=\"flex justify-center items-center w-full h-full\">\n <NoData\n title={t(\"neetoWebhooks.webhook.empty\")}\n helpText={\n <Button\n href={webhooksHelpLink}\n label={t(\"neetoWebhooks.webhook.emptyHelpText\")}\n rel=\"noreferrer\"\n style=\"link\"\n target=\"_blank\"\n />\n }\n primaryButtonProps={{\n label: t(\"neetoWebhooks.webhook.add\"),\n onClick: () => setIsAddWebhookPaneOpen(true),\n }}\n />\n </div>\n )}\n <AddWebhookPane\n {...{\n editingWebhookId,\n entityId,\n entityType,\n onCreate,\n secretsHelpLink,\n webhooks,\n webhooksHelpLink,\n }}\n isOpen={isAddWebhookPaneOpen}\n onClose={handlePaneClose}\n />\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoWebhooks.buttons.delete\")}\n message={t(\"neetoWebhooks.alert.delete.message\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n title={t(\"neetoWebhooks.alert.delete.title\", {\n entity: t(\"neetoWebhooks.entity.webhook\"),\n })}\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={() => destroyWebhook(deletingWebhookId, { entityId })}\n />\n </Container>\n );\n};\n\nexport default withReactQuery(Webhooks);\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n","import { mergeRight } from \"ramda\";\nimport { Switch, Route, useRouteMatch } from \"react-router-dom\";\n\nimport { HELP_LINK_URLS } from \"src/constants/urls\";\nimport { getDeliveriesPath, getDeliveryDetailsPath } from \"utils/paths\";\n\nimport Deliveries from \"./Deliveries\";\nimport Webhooks from \"./Webhooks\";\n\nimport \"../stylesheets/main.scss\";\n\nconst NeetoWebhooks = ({\n entityType,\n entityId,\n breadcrumbs = [],\n title,\n titleHelpPopoverProps,\n onCreate,\n onDelete,\n headerSize,\n containerClassName,\n helpLinkUrls = {},\n}) => {\n const { path: webhooksPath, url: webhooksUrl } = useRouteMatch();\n\n const deliveriesPath = getDeliveriesPath(webhooksUrl);\n const deliveryDetailsPath = getDeliveryDetailsPath(deliveriesPath);\n const helpLinks = mergeRight(HELP_LINK_URLS, helpLinkUrls);\n\n return (\n <Switch>\n <Route\n exact\n path={webhooksPath}\n component={() => (\n <Webhooks\n {...{\n breadcrumbs,\n containerClassName,\n deliveriesPath,\n entityId,\n entityType,\n headerSize,\n onCreate,\n onDelete,\n title,\n titleHelpPopoverProps,\n }}\n secretsHelpLink={helpLinks.secrets}\n webhooksHelpLink={helpLinks.webhooks}\n />\n )}\n />\n <Route\n exact\n path={deliveryDetailsPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n <Route\n path={deliveriesPath}\n render={() => (\n <Deliveries\n {...{ breadcrumbs, webhooksUrl }}\n helpLink={helpLinks.deliveries}\n />\n )}\n />\n </Switch>\n );\n};\n\nexport default NeetoWebhooks;\n"],"names":["HELP_LINK_URLS","webhooks","concat","globalProps","appName","secrets","deliveries","getDeliveriesPath","webhooksPath","getDeliveryDetailsPath","deliveriesPath","queryClient","QueryClient","queryCache","QueryCache","defaultOptions","queries","staleTime","DEFAULT_STALE_TIME","withReactQuery","Component","QueryWrapper","props","_jsxs","QueryClientProvider","client","children","_jsx","_objectSpread","ReactQueryDevtools","initialIsOpen","position","baseUrl","fetch","webhookId","params","axios","get","show","id","redeliver","delivery_id","post","deliveriesApi","QUERY_KEYS","DELIVERY_LIST","DELIVERY_DETAILS","WEBHOOK_LIST","WEBHOOK_DETAILS","EVENTS_LIST","DELIVERY_STALE_TIME","WEBHOOK_STALE_TIME","POST_REDELIVERY_ON_SUCCESS_TIMEOUT","useFetchDeliveries","useQuery","queryKey","queryFn","useShowDelivery","enabled","useRedeliverWebhook","deliveryId","webhookSid","useQueryClient","useMutation","mutationFn","onSuccess","setTimeout","invalidateQueries","DELIVERY_TAB","response","request","Snippet","_ref","_ref$dataCy","dataCy","className","TransactionDetails","delivery","_useState","useState","_useState2","_slicedToArray","activeHeader","setActiveHeader","_useTranslation","useTranslation","t","status","identifier","responseStatusCode","sid","renderPayload","JSON","stringify","parse","requestBody","_unused","_Fragment","Typography","style","Tag","Tab","Item","active","onClick","requestHeader","responseHeader","responseBody","Details","_delivery$webhook","onClose","_useRedeliverWebhook","isRedelivering","isPending","redeliverWebhook","mutateAsync","_useShowDelivery","isLoading","_useShowDelivery$data","data","_useShowDelivery$data2","handleRedeliverClick","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context","prev","next","stop","apply","arguments","Pane","isOpen","isPresent","size","Spinner","Header","DateFormat","Date","date","createdAt","tooltipProps","disabled","typographyProps","weight","Time","Body","Footer","eventId","Button","webhook","versionExpired","label","loading","buildColumns","deliveryDetailsPath","page","title","key","dataIndex","width","render","_","to","buildUrl","redelivery","DateTime","SINGULAR","prop","Deliveries","webhooksUrl","hostBreadcrumbs","breadcrumbs","helpLink","_useRouteMatch","useRouteMatch","deliveriesUrl","url","history","useHistory","_useParams","useParams","_useQueryParams","useQueryParams","_useQueryParams$page","DEFAULT_PAGE_INDEX","_useFetchDeliveries","pageSize","DEFAULT_PAGE_SIZE","isFetching","_useFetchDeliveries$d","_useFetchDeliveries$d2","totalCount","_useFetchDeliveries$d3","breadcrumbsWithoutWebhooksTitle","removeBy","text","_toConsumableArray","link","window","location","pathname","Container","titleHelpPopoverProps","description","helpLinkProps","href","isNotEmpty","TableWrapper","hasPagination","Table","fixedHeight","columnData","currentPageNumber","defaultPageSize","rowData","NoData","replace","create","payload","update","put","destroy","webhooksApi","useFetchWebhooks","useCreateWebhook","options","useMutationWithInvalidation","keysToInvalidate","_options$onSuccess","call","useShowWebhook","useUpdateWebhook","_options$onSuccess2","onError","error","_options$onError","useDestroyWebhook","_options$onSuccess3","all","eventsApi","useFetchEvents","MENU_ITEMS","EDIT","DELETE","WEBHOOK_INITIAL_VALUES","endpoint","events","secret","isActive","EventCheckbox","values","arrayHelpers","handleToggle","isSelected","index","event","remove","push","map","findIndexBy","gt","Checkbox","checked","onChange","ToggleActiveSwitch","setStatus","previousStatusRef","useRef","_useUpdateWebhook","current","updateWebhook","mutate","updatedStatus","target","Switch","getMenuItems","onEdit","onDelete","getValidationSchema","yup","object","shape","string","trim","matches","required","test","ctx","pluck","removeById","parent","includes","array","min","nullable","buildPayload","_initialValues$events","isEditing","initialValues","_ref3","eventsAttributes","deletable","filter","_ref4","findBy","assoc","creatable","_ref5","formatTimeUntilExpiration","expiresAt","now","expiry","diffMs","diffHours","Math","floor","diffDays","count","remainingHours","remainingMinutes","hours","hoursPlural","minutes","minutesPlural","formatExpiredDate","toLocaleDateString","_ref6","handleDelete","handleEdit","MoreDropdown","dropdownButtonProps","dropdownProps","strategy","appendTo","document","body","menuItems","version","timeMessage","versionExpiresAt","versionDeprecated","defaultVersionPayloadDocUrl","rel","PLURAL","sort","join","generateRandomSecret","uuid","AddWebhookPane","editingWebhookId","entityId","entityType","onCreate","webhooksHelpLink","secretsHelpLink","isSecretInputFieldVisible","setIsSecretInputFieldVisible","_useCreateWebhook","createWebhook","_useShowWebhook","_useShowWebhook$data","_useShowWebhook$data2","_useShowWebhook$data3","endpointRef","_useFetchEvents","isWebhookExpiredOrDeprecated","handleSubmit","handleClick","setFieldValue","randomWebhookSecret","handleRegenerate","useEffect","initialFocusRef","HelpPopover","Form","formikProps","enableReinitialize","validationSchema","onSubmit","cast","touched","errors","Textarea","name","placeholder","ref","rows","Label","popoverProps","Input","icon","Plus","iconPosition","FieldArray","ActionBlock","cancelButtonProps","submitButtonProps","withT","setIsAddWebhookPaneOpen","headerSize","NeetoHeader","actionBlock","SubHeader","leftActionBlock","component","length","memo","Webhooks","_ref$containerClassNa","containerClassName","setEditingWebhookId","_useState3","_useState4","deletingWebhookId","setDeletingWebhookId","_useState5","_useState6","isAddWebhookPaneOpen","_useState7","_useState8","isDeleteAlertOpen","setIsDeleteAlertOpen","_useFetchWebhooks","_useFetchWebhooks$dat","_useFetchWebhooks$dat2","_useFetchWebhooks$dat3","_useFetchWebhooks$dat4","_useDestroyWebhook","isDeleting","destroyWebhook","handlePaneClose","useCallback","helpText","primaryButtonProps","Alert","isSubmitting","submitButtonLabel","message","entity","NeetoWebhooks","_ref$breadcrumbs","_ref$helpLinkUrls","helpLinkUrls","path","helpLinks","mergeRight","Route","exact"],"mappings":"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","x_google_ignoreList":[19,20,21,22,23,29]}
|