Refactoring 2
This commit is contained in:
parent
dd14dfe72e
commit
e4b78ceec2
76 changed files with 870 additions and 734 deletions
163
packages/bridge-ui/config/webhooks.ts
Normal file
163
packages/bridge-ui/config/webhooks.ts
Normal file
|
|
@ -0,0 +1,163 @@
|
|||
import { selectAllAction } from "../actions/service";
|
||||
import { ServiceConfig } from "../lib/service";
|
||||
import { getServiceTable } from "../config/config";
|
||||
|
||||
const getHTTPMethodOptions = async () => [
|
||||
{ value: "post", label: "POST" },
|
||||
{ value: "put", label: "PUT" },
|
||||
];
|
||||
|
||||
const getBackendTypeOptions = async (_formState: any) => [
|
||||
{ value: "whatsapp", label: "WhatsApp" },
|
||||
{ value: "facebook", label: "Facebook" },
|
||||
{ value: "signal", label: "Signal" },
|
||||
];
|
||||
|
||||
const getBackendIDOptions = async (formState: any) => {
|
||||
if (!formState || !formState.values.backendType) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const table = getServiceTable(formState.values.backendType);
|
||||
const result = await selectAllAction(table);
|
||||
|
||||
return result.map((item: any) => ({
|
||||
value: item.id,
|
||||
label: item.name,
|
||||
}));
|
||||
};
|
||||
|
||||
export const webhooksConfig: ServiceConfig = {
|
||||
entity: "webhooks",
|
||||
table: "Webhook",
|
||||
displayName: "Webhook",
|
||||
createFields: [
|
||||
{
|
||||
name: "name",
|
||||
label: "Name",
|
||||
required: true,
|
||||
size: 12,
|
||||
},
|
||||
{
|
||||
name: "description",
|
||||
label: "Description",
|
||||
size: 12,
|
||||
lines: 3,
|
||||
},
|
||||
{
|
||||
name: "httpMethod",
|
||||
label: "HTTP Method",
|
||||
kind: "select",
|
||||
getOptions: getHTTPMethodOptions,
|
||||
defaultValue: "post",
|
||||
required: true,
|
||||
size: 2,
|
||||
},
|
||||
{
|
||||
name: "endpointUrl",
|
||||
label: "Endpoint",
|
||||
required: true,
|
||||
size: 10,
|
||||
},
|
||||
{
|
||||
name: "backendType",
|
||||
label: "Backend Type",
|
||||
kind: "select",
|
||||
getOptions: getBackendTypeOptions,
|
||||
defaultValue: "facebook",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "backendId",
|
||||
label: "Backend ID",
|
||||
kind: "select",
|
||||
getOptions: getBackendIDOptions,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "headers",
|
||||
label: "HTTP Headers",
|
||||
kind: "multi",
|
||||
size: 12,
|
||||
helperText: "Useful for authentication, etc.",
|
||||
},
|
||||
],
|
||||
updateFields: [
|
||||
{
|
||||
name: "name",
|
||||
label: "Name",
|
||||
required: true,
|
||||
size: 12,
|
||||
},
|
||||
{
|
||||
name: "description",
|
||||
label: "Description",
|
||||
size: 12,
|
||||
lines: 3,
|
||||
},
|
||||
{
|
||||
name: "httpMethod",
|
||||
label: "HTTP Method",
|
||||
kind: "select",
|
||||
getOptions: getHTTPMethodOptions,
|
||||
defaultValue: "post",
|
||||
required: true,
|
||||
size: 2,
|
||||
},
|
||||
{
|
||||
name: "endpointUrl",
|
||||
label: "Endpoint",
|
||||
required: true,
|
||||
size: 10,
|
||||
},
|
||||
{
|
||||
name: "backendType",
|
||||
label: "Backend Type",
|
||||
kind: "select",
|
||||
getOptions: getBackendTypeOptions,
|
||||
defaultValue: "facebook",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "backendId",
|
||||
label: "Backend ID",
|
||||
kind: "select",
|
||||
getOptions: getBackendIDOptions,
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "headers",
|
||||
label: "HTTP Headers",
|
||||
kind: "multi",
|
||||
size: 12,
|
||||
helperText: "Useful for authentication, etc.",
|
||||
},
|
||||
],
|
||||
displayFields: [
|
||||
{ name: "name", label: "Name", required: true, size: 12 },
|
||||
{
|
||||
name: "description",
|
||||
label: "Description",
|
||||
required: true,
|
||||
size: 12,
|
||||
},
|
||||
],
|
||||
listColumns: [
|
||||
{
|
||||
field: "name",
|
||||
headerName: "Name",
|
||||
flex: 1,
|
||||
},
|
||||
{
|
||||
field: "description",
|
||||
headerName: "Description",
|
||||
flex: 2,
|
||||
},
|
||||
{
|
||||
field: "updatedAt",
|
||||
headerName: "Updated At",
|
||||
valueGetter: (value: any) => new Date(value).toLocaleString(),
|
||||
flex: 1,
|
||||
},
|
||||
],
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue