@cundi/refine-xaf 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -43,8 +43,12 @@ __export(index_exports, {
43
43
  DrawioEditor: () => DrawioEditor,
44
44
  Header: () => Header,
45
45
  HttpError: () => HttpError,
46
+ HttpMethodType: () => HttpMethodType,
46
47
  KeycloakLoginPage: () => KeycloakLoginPage,
47
48
  LoginPage: () => LoginPage,
49
+ MirrorTypeMappingConfigCreate: () => MirrorTypeMappingConfigCreate,
50
+ MirrorTypeMappingConfigEdit: () => MirrorTypeMappingConfigEdit,
51
+ MirrorTypeMappingConfigList: () => MirrorTypeMappingConfigList,
48
52
  RelatedList: () => RelatedList,
49
53
  RoleCreate: () => RoleCreate,
50
54
  RoleEdit: () => RoleEdit,
@@ -54,6 +58,11 @@ __export(index_exports, {
54
58
  SmartList: () => SmartList,
55
59
  TOKEN_KEY: () => TOKEN_KEY,
56
60
  TiptapEditor: () => TiptapEditor,
61
+ TriggerEventType: () => TriggerEventType,
62
+ TriggerLogList: () => TriggerLogList,
63
+ TriggerRuleCreate: () => TriggerRuleCreate,
64
+ TriggerRuleEdit: () => TriggerRuleEdit,
65
+ TriggerRuleList: () => TriggerRuleList,
57
66
  authProvider: () => authProvider,
58
67
  authService: () => authService,
59
68
  dataProvider: () => dataProvider,
@@ -620,7 +629,7 @@ var parseFilter = (filter) => {
620
629
 
621
630
  // src/dataProvider.ts
622
631
  var dataProvider = (apiUrl) => ({
623
- getList: async ({ resource, pagination, sorters, filters }) => {
632
+ getList: async ({ resource, pagination, sorters, filters, meta }) => {
624
633
  const url = new URL(`${apiUrl}/${resource}`, window.location.origin);
625
634
  if (pagination) {
626
635
  const { current, pageSize } = pagination;
@@ -637,6 +646,12 @@ var dataProvider = (apiUrl) => ({
637
646
  if (filterString) {
638
647
  url.searchParams.append("$filter", filterString);
639
648
  }
649
+ if (meta?.expand) {
650
+ const expand = meta.expand.map((item) => item.field ?? item).join(",");
651
+ if (expand) {
652
+ url.searchParams.append("$expand", expand);
653
+ }
654
+ }
640
655
  url.searchParams.append("$count", "true");
641
656
  const response = await httpClient(url.toString());
642
657
  if (!response) {
@@ -766,6 +781,20 @@ var SecurityPermissionState = /* @__PURE__ */ ((SecurityPermissionState2) => {
766
781
  SecurityPermissionState2["Deny"] = "Deny";
767
782
  return SecurityPermissionState2;
768
783
  })(SecurityPermissionState || {});
784
+ var HttpMethodType = /* @__PURE__ */ ((HttpMethodType2) => {
785
+ HttpMethodType2["Post"] = "Post";
786
+ HttpMethodType2["Get"] = "Get";
787
+ HttpMethodType2["Put"] = "Put";
788
+ HttpMethodType2["Patch"] = "Patch";
789
+ HttpMethodType2["Delete"] = "Delete";
790
+ return HttpMethodType2;
791
+ })(HttpMethodType || {});
792
+ var TriggerEventType = /* @__PURE__ */ ((TriggerEventType2) => {
793
+ TriggerEventType2["Create"] = "Create";
794
+ TriggerEventType2["Update"] = "Update";
795
+ TriggerEventType2["Delete"] = "Delete";
796
+ return TriggerEventType2;
797
+ })(TriggerEventType || {});
769
798
 
770
799
  // src/utils/passwordUtils.ts
771
800
  var generatePassword = (length = 12) => {
@@ -892,7 +921,118 @@ var en = {
892
921
  users: "Users",
893
922
  roles: "Roles",
894
923
  settings: "Settings",
895
- backgroundJobs: "Background Jobs"
924
+ backgroundJobs: "Background Jobs",
925
+ triggerRules: "Trigger Rules",
926
+ triggerLogs: "Trigger Logs",
927
+ mirrorConfigs: "Mirror Configs"
928
+ },
929
+ users: {
930
+ fields: {
931
+ photo: "Photo",
932
+ displayName: "Display Name",
933
+ userName: "User Name",
934
+ email: "Email",
935
+ isActive: "Active",
936
+ accessFailedCount: "Access Failed Count"
937
+ },
938
+ actions: {
939
+ resetPassword: "Reset Password"
940
+ },
941
+ resetPasswordModal: {
942
+ title: "Reset Password for",
943
+ newPassword: "New Password",
944
+ inputPlaceholder: "Enter new password",
945
+ inputRequired: "Please input the new password!",
946
+ generatePassword: "Generate Complex Password"
947
+ }
948
+ },
949
+ roles: {
950
+ fields: {
951
+ name: "Name",
952
+ isAdministrative: "Is Administrative",
953
+ permissionPolicy: "Permission Policy",
954
+ typePermissions: "Type Permissions"
955
+ }
956
+ },
957
+ triggerRules: {
958
+ fields: {
959
+ name: "Name",
960
+ description: "Description",
961
+ targetTypeName: "Target Type Name",
962
+ onCreated: "On Create",
963
+ onModified: "On Modify",
964
+ onRemoved: "On Delete",
965
+ isActive: "Active",
966
+ httpMethod: "HTTP Method",
967
+ webhookUrl: "Webhook URL",
968
+ customHeaders: "Custom Headers (JSON)",
969
+ onlyObjectFitsCriteria: "Only Trigger if Criteria Matches",
970
+ criteria: "Criteria Expression",
971
+ triggerEvents: "Trigger Events"
972
+ },
973
+ tooltips: {
974
+ targetTypeName: "Select the business object type to monitor",
975
+ customHeaders: 'Example: {"X-API-Key": "your-api-key", "X-Custom": "value"}',
976
+ criteria: "Leave empty to trigger for all objects of the target type"
977
+ },
978
+ placeholders: {
979
+ name: "Enter rule name",
980
+ description: "Optional description",
981
+ webhookUrl: "https://example.com/webhook",
982
+ customHeaders: '{"X-API-Key": "your-api-key"}',
983
+ criteria: "e.g., [Status] = 'Active'"
984
+ },
985
+ validation: {
986
+ nameRequired: "Please enter a name",
987
+ webhookUrlRequired: "Please enter webhook URL",
988
+ webhookUrlInvalid: "Please enter a valid URL"
989
+ }
990
+ },
991
+ triggerLogs: {
992
+ fields: {
993
+ executionTime: "Execution Time",
994
+ status: "Status",
995
+ eventType: "Event",
996
+ objectType: "Object Type",
997
+ objectKey: "Object Key",
998
+ httpMethod: "HTTP Method",
999
+ statusCode: "Status Code",
1000
+ error: "Error",
1001
+ payload: "Payload",
1002
+ responseBody: "Response"
1003
+ },
1004
+ status: {
1005
+ success: "Success",
1006
+ failed: "Failed"
1007
+ },
1008
+ drawer: {
1009
+ title: "Trigger Log Details"
1010
+ }
1011
+ },
1012
+ mirrorConfigs: {
1013
+ fields: {
1014
+ sourceTypeName: "Source Type Name",
1015
+ localTypeName: "Local Type Name",
1016
+ isActive: "Active",
1017
+ description: "Description",
1018
+ status: "Status"
1019
+ },
1020
+ tooltips: {
1021
+ sourceTypeName: "Full type name from the source system (e.g., 'Sample.Module.BusinessObjects.TriggerDemo')",
1022
+ localTypeName: "Select the local mirrored type"
1023
+ },
1024
+ placeholders: {
1025
+ sourceTypeName: "e.g., SourceNamespace.SourceObject",
1026
+ description: "Optional description"
1027
+ },
1028
+ validation: {
1029
+ sourceTypeNameRequired: "Please enter source type name",
1030
+ localTypeNameRequired: "Please select local type name"
1031
+ },
1032
+ statusLabels: {
1033
+ active: "Active",
1034
+ inactive: "Inactive"
1035
+ }
896
1036
  },
897
1037
  backgroundJobs: {
898
1038
  title: "Background Jobs",
@@ -1042,7 +1182,118 @@ var zhTW = {
1042
1182
  users: "\u4F7F\u7528\u8005",
1043
1183
  roles: "\u89D2\u8272",
1044
1184
  settings: "\u8A2D\u5B9A",
1045
- backgroundJobs: "\u80CC\u666F\u6392\u7A0B"
1185
+ backgroundJobs: "\u80CC\u666F\u6392\u7A0B",
1186
+ triggerRules: "\u89F8\u767C\u898F\u5247",
1187
+ triggerLogs: "\u89F8\u767C\u7D00\u9304",
1188
+ mirrorConfigs: "\u93E1\u5C04\u8A2D\u5B9A"
1189
+ },
1190
+ users: {
1191
+ fields: {
1192
+ photo: "\u982D\u50CF",
1193
+ displayName: "\u986F\u793A\u540D\u7A31",
1194
+ userName: "\u4F7F\u7528\u8005\u540D\u7A31",
1195
+ email: "\u96FB\u5B50\u90F5\u4EF6",
1196
+ isActive: "\u555F\u7528",
1197
+ accessFailedCount: "\u767B\u5165\u5931\u6557\u6B21\u6578"
1198
+ },
1199
+ actions: {
1200
+ resetPassword: "\u91CD\u8A2D\u5BC6\u78BC"
1201
+ },
1202
+ resetPasswordModal: {
1203
+ title: "\u91CD\u8A2D\u5BC6\u78BC",
1204
+ newPassword: "\u65B0\u5BC6\u78BC",
1205
+ inputPlaceholder: "\u8ACB\u8F38\u5165\u65B0\u5BC6\u78BC",
1206
+ inputRequired: "\u8ACB\u8F38\u5165\u65B0\u5BC6\u78BC\uFF01",
1207
+ generatePassword: "\u7522\u751F\u8907\u96DC\u5BC6\u78BC"
1208
+ }
1209
+ },
1210
+ roles: {
1211
+ fields: {
1212
+ name: "\u540D\u7A31",
1213
+ isAdministrative: "\u7BA1\u7406\u54E1\u6B0A\u9650",
1214
+ permissionPolicy: "\u6B0A\u9650\u653F\u7B56",
1215
+ typePermissions: "\u985E\u578B\u6B0A\u9650"
1216
+ }
1217
+ },
1218
+ triggerRules: {
1219
+ fields: {
1220
+ name: "\u540D\u7A31",
1221
+ description: "\u63CF\u8FF0",
1222
+ targetTypeName: "\u76EE\u6A19\u985E\u578B\u540D\u7A31",
1223
+ onCreated: "\u65B0\u589E\u6642\u89F8\u767C",
1224
+ onModified: "\u4FEE\u6539\u6642\u89F8\u767C",
1225
+ onRemoved: "\u522A\u9664\u6642\u89F8\u767C",
1226
+ isActive: "\u555F\u7528",
1227
+ httpMethod: "HTTP \u65B9\u6CD5",
1228
+ webhookUrl: "Webhook \u7DB2\u5740",
1229
+ customHeaders: "\u81EA\u8A02\u6A19\u982D (JSON)",
1230
+ onlyObjectFitsCriteria: "\u50C5\u5728\u7B26\u5408\u689D\u4EF6\u6642\u89F8\u767C",
1231
+ criteria: "\u689D\u4EF6\u904B\u7B97\u5F0F",
1232
+ triggerEvents: "\u89F8\u767C\u4E8B\u4EF6"
1233
+ },
1234
+ tooltips: {
1235
+ targetTypeName: "\u9078\u64C7\u8981\u76E3\u63A7\u7684\u696D\u52D9\u7269\u4EF6\u985E\u578B",
1236
+ customHeaders: '\u7BC4\u4F8B: {"X-API-Key": "your-api-key", "X-Custom": "value"}',
1237
+ criteria: "\u7559\u7A7A\u5247\u5C0D\u6240\u6709\u8A72\u985E\u578B\u7684\u7269\u4EF6\u89F8\u767C"
1238
+ },
1239
+ placeholders: {
1240
+ name: "\u8ACB\u8F38\u5165\u898F\u5247\u540D\u7A31",
1241
+ description: "\u9078\u586B\u8AAA\u660E",
1242
+ webhookUrl: "https://example.com/webhook",
1243
+ customHeaders: '{"X-API-Key": "your-api-key"}',
1244
+ criteria: "\u4F8B\u5982\uFF1A[Status] = 'Active'"
1245
+ },
1246
+ validation: {
1247
+ nameRequired: "\u8ACB\u8F38\u5165\u540D\u7A31",
1248
+ webhookUrlRequired: "\u8ACB\u8F38\u5165 Webhook \u7DB2\u5740",
1249
+ webhookUrlInvalid: "\u8ACB\u8F38\u5165\u6709\u6548\u7684\u7DB2\u5740"
1250
+ }
1251
+ },
1252
+ triggerLogs: {
1253
+ fields: {
1254
+ executionTime: "\u57F7\u884C\u6642\u9593",
1255
+ status: "\u72C0\u614B",
1256
+ eventType: "\u4E8B\u4EF6",
1257
+ objectType: "\u7269\u4EF6\u985E\u578B",
1258
+ objectKey: "\u7269\u4EF6\u9375\u503C",
1259
+ httpMethod: "HTTP \u65B9\u6CD5",
1260
+ statusCode: "\u72C0\u614B\u78BC",
1261
+ error: "\u932F\u8AA4",
1262
+ payload: "\u8CC7\u6599\u5167\u5BB9",
1263
+ responseBody: "\u56DE\u61C9"
1264
+ },
1265
+ status: {
1266
+ success: "\u6210\u529F",
1267
+ failed: "\u5931\u6557"
1268
+ },
1269
+ drawer: {
1270
+ title: "\u89F8\u767C\u7D00\u9304\u8A73\u60C5"
1271
+ }
1272
+ },
1273
+ mirrorConfigs: {
1274
+ fields: {
1275
+ sourceTypeName: "\u4F86\u6E90\u985E\u578B\u540D\u7A31",
1276
+ localTypeName: "\u672C\u5730\u985E\u578B\u540D\u7A31",
1277
+ isActive: "\u555F\u7528",
1278
+ description: "\u63CF\u8FF0",
1279
+ status: "\u72C0\u614B"
1280
+ },
1281
+ tooltips: {
1282
+ sourceTypeName: "\u4F86\u6E90\u7CFB\u7D71\u7684\u5B8C\u6574\u985E\u578B\u540D\u7A31\uFF08\u4F8B\u5982\uFF1A'Sample.Module.BusinessObjects.TriggerDemo'\uFF09",
1283
+ localTypeName: "\u9078\u64C7\u672C\u5730\u93E1\u5C04\u985E\u578B"
1284
+ },
1285
+ placeholders: {
1286
+ sourceTypeName: "\u4F8B\u5982\uFF1ASourceNamespace.SourceObject",
1287
+ description: "\u9078\u586B\u8AAA\u660E"
1288
+ },
1289
+ validation: {
1290
+ sourceTypeNameRequired: "\u8ACB\u8F38\u5165\u4F86\u6E90\u985E\u578B\u540D\u7A31",
1291
+ localTypeNameRequired: "\u8ACB\u9078\u64C7\u672C\u5730\u985E\u578B\u540D\u7A31"
1292
+ },
1293
+ statusLabels: {
1294
+ active: "\u555F\u7528",
1295
+ inactive: "\u505C\u7528"
1296
+ }
1046
1297
  },
1047
1298
  backgroundJobs: {
1048
1299
  title: "\u80CC\u666F\u6392\u7A0B",
@@ -1397,12 +1648,14 @@ var import_react_i18next3 = require("react-i18next");
1397
1648
  var SmartList = ({
1398
1649
  children,
1399
1650
  resource,
1400
- searchFields
1651
+ searchFields,
1652
+ meta
1401
1653
  }) => {
1402
1654
  const { t } = (0, import_react_i18next3.useTranslation)();
1403
1655
  const { tableProps, searchFormProps, tableQuery, setFilters } = (0, import_antd2.useTable)({
1404
1656
  resource,
1405
1657
  syncWithLocation: true,
1658
+ meta,
1406
1659
  onSearch: (params) => {
1407
1660
  const filters = [];
1408
1661
  const { search } = params;
@@ -1419,11 +1672,17 @@ var SmartList = ({
1419
1672
  return filters;
1420
1673
  }
1421
1674
  });
1675
+ const getDataIndexKey = (dataIndex) => {
1676
+ if (Array.isArray(dataIndex)) {
1677
+ return dataIndex.join(".");
1678
+ }
1679
+ return String(dataIndex || "unknown");
1680
+ };
1422
1681
  const columns = (0, import_react4.useMemo)(
1423
1682
  () => import_react4.default.Children.toArray(children).map((child) => {
1424
1683
  const props = child.props || {};
1425
1684
  return {
1426
- key: String(props.dataIndex || props.title || "unknown"),
1685
+ key: getDataIndexKey(props.dataIndex) || props.title || "unknown",
1427
1686
  title: props.title,
1428
1687
  dataIndex: props.dataIndex,
1429
1688
  defaultVisible: props.defaultVisible
@@ -1480,11 +1739,11 @@ var SmartList = ({
1480
1739
  col.title || col.dataIndex
1481
1740
  )));
1482
1741
  const filteredChildren = import_react4.default.Children.toArray(children).filter((child) => {
1483
- const key = child.props.dataIndex || child.props.title || "unknown";
1742
+ const key = getDataIndexKey(child.props.dataIndex) || child.props.title || "unknown";
1484
1743
  return visibleColumns.includes(key);
1485
1744
  }).map((child) => {
1486
1745
  if (child.props.dataIndex) {
1487
- return import_react4.default.cloneElement(child, { key: child.props.dataIndex });
1746
+ return import_react4.default.cloneElement(child, { key: getDataIndexKey(child.props.dataIndex) });
1488
1747
  }
1489
1748
  return child;
1490
1749
  });
@@ -19662,6 +19921,7 @@ var import_antd7 = require("@refinedev/antd");
19662
19921
  var import_lib10 = require("antd/lib");
19663
19922
  var import_icons5 = require("@ant-design/icons");
19664
19923
  var ApplicationUserList = () => {
19924
+ const t = (0, import_core21.useTranslate)();
19665
19925
  const [isModalOpen, setIsModalOpen] = (0, import_react12.useState)(false);
19666
19926
  const [selectedUser, setSelectedUser] = (0, import_react12.useState)(null);
19667
19927
  const [form] = import_lib10.Form.useForm();
@@ -19705,7 +19965,7 @@ var ApplicationUserList = () => {
19705
19965
  import_lib10.Table.Column,
19706
19966
  {
19707
19967
  dataIndex: "Photo",
19708
- title: "Photo",
19968
+ title: t("users.fields.photo"),
19709
19969
  render: (value) => value ? /* @__PURE__ */ import_react12.default.createElement("img", { src: `data:image/png;base64,${value}`, alt: "User", style: { height: 40, width: 40, objectFit: "cover", borderRadius: "50%" } }) : "-"
19710
19970
  }
19711
19971
  ),
@@ -19713,7 +19973,7 @@ var ApplicationUserList = () => {
19713
19973
  import_lib10.Table.Column,
19714
19974
  {
19715
19975
  dataIndex: "DisplayName",
19716
- title: "Display Name",
19976
+ title: t("users.fields.displayName"),
19717
19977
  sorter: true,
19718
19978
  defaultSortOrder: "ascend",
19719
19979
  defaultVisible: true
@@ -19723,7 +19983,7 @@ var ApplicationUserList = () => {
19723
19983
  import_lib10.Table.Column,
19724
19984
  {
19725
19985
  dataIndex: "UserName",
19726
- title: "User Name",
19986
+ title: t("users.fields.userName"),
19727
19987
  sorter: true,
19728
19988
  defaultVisible: true
19729
19989
  }
@@ -19732,7 +19992,7 @@ var ApplicationUserList = () => {
19732
19992
  import_lib10.Table.Column,
19733
19993
  {
19734
19994
  dataIndex: "Email",
19735
- title: "Email",
19995
+ title: t("users.fields.email"),
19736
19996
  sorter: true
19737
19997
  }
19738
19998
  ),
@@ -19740,7 +20000,7 @@ var ApplicationUserList = () => {
19740
20000
  import_lib10.Table.Column,
19741
20001
  {
19742
20002
  dataIndex: "IsActive",
19743
- title: "Active",
20003
+ title: t("users.fields.isActive"),
19744
20004
  render: (value) => /* @__PURE__ */ import_react12.default.createElement(import_lib10.Checkbox, { checked: value, disabled: true }),
19745
20005
  sorter: true
19746
20006
  }
@@ -19749,7 +20009,7 @@ var ApplicationUserList = () => {
19749
20009
  import_lib10.Table.Column,
19750
20010
  {
19751
20011
  dataIndex: "AccessFailedCount",
19752
- title: "Access Failed Count"
20012
+ title: t("users.fields.accessFailedCount")
19753
20013
  }
19754
20014
  ),
19755
20015
  /* @__PURE__ */ import_react12.default.createElement(
@@ -19757,7 +20017,7 @@ var ApplicationUserList = () => {
19757
20017
  {
19758
20018
  title: "Actions",
19759
20019
  dataIndex: "actions",
19760
- render: (_, record) => /* @__PURE__ */ import_react12.default.createElement(import_lib10.Space, null, /* @__PURE__ */ import_react12.default.createElement(import_lib10.Tooltip, { title: "Reset Password" }, /* @__PURE__ */ import_react12.default.createElement(
20020
+ render: (_, record) => /* @__PURE__ */ import_react12.default.createElement(import_lib10.Space, null, /* @__PURE__ */ import_react12.default.createElement(import_lib10.Tooltip, { title: t("users.actions.resetPassword") }, /* @__PURE__ */ import_react12.default.createElement(
19761
20021
  import_lib10.Button,
19762
20022
  {
19763
20023
  size: "small",
@@ -19770,7 +20030,7 @@ var ApplicationUserList = () => {
19770
20030
  ), /* @__PURE__ */ import_react12.default.createElement(
19771
20031
  import_lib10.Modal,
19772
20032
  {
19773
- title: `Reset Password for ${selectedUser?.DisplayName || selectedUser?.UserName}`,
20033
+ title: `${t("users.resetPasswordModal.title")} ${selectedUser?.DisplayName || selectedUser?.UserName}`,
19774
20034
  open: isModalOpen,
19775
20035
  onCancel: () => setIsModalOpen(false),
19776
20036
  onOk: () => form.submit(),
@@ -19780,25 +20040,27 @@ var ApplicationUserList = () => {
19780
20040
  import_lib10.Form.Item,
19781
20041
  {
19782
20042
  name: "password",
19783
- label: "New Password",
20043
+ label: t("users.resetPasswordModal.newPassword"),
19784
20044
  style: { flex: 1, marginBottom: 0 },
19785
- rules: [{ required: true, message: "Please input the new password!" }]
20045
+ rules: [{ required: true, message: t("users.resetPasswordModal.inputRequired") }]
19786
20046
  },
19787
- /* @__PURE__ */ import_react12.default.createElement(import_lib10.Input.Password, { placeholder: "Enter new password" })
19788
- ), /* @__PURE__ */ import_react12.default.createElement(import_lib10.Tooltip, { title: "Generate Complex Password" }, /* @__PURE__ */ import_react12.default.createElement(import_lib10.Button, { icon: /* @__PURE__ */ import_react12.default.createElement(import_icons5.ThunderboltOutlined, null), onClick: handleGeneratePassword }))))
20047
+ /* @__PURE__ */ import_react12.default.createElement(import_lib10.Input.Password, { placeholder: t("users.resetPasswordModal.inputPlaceholder") })
20048
+ ), /* @__PURE__ */ import_react12.default.createElement(import_lib10.Tooltip, { title: t("users.resetPasswordModal.generatePassword") }, /* @__PURE__ */ import_react12.default.createElement(import_lib10.Button, { icon: /* @__PURE__ */ import_react12.default.createElement(import_icons5.ThunderboltOutlined, null), onClick: handleGeneratePassword }))))
19789
20049
  ));
19790
20050
  };
19791
20051
 
19792
20052
  // src/pages/application-users/create.tsx
19793
20053
  var import_react13 = __toESM(require("react"));
20054
+ var import_core22 = require("@refinedev/core");
19794
20055
  var import_antd8 = require("@refinedev/antd");
19795
20056
  var import_lib11 = require("antd/lib");
19796
20057
  var ApplicationUserCreate = () => {
20058
+ const t = (0, import_core22.useTranslate)();
19797
20059
  const { formProps, saveButtonProps } = (0, import_antd8.useForm)();
19798
20060
  return /* @__PURE__ */ import_react13.default.createElement(import_antd8.Create, { saveButtonProps }, /* @__PURE__ */ import_react13.default.createElement(import_lib11.Form, { ...formProps, layout: "vertical" }, /* @__PURE__ */ import_react13.default.createElement(
19799
20061
  import_lib11.Form.Item,
19800
20062
  {
19801
- label: "User Name",
20063
+ label: t("users.fields.userName"),
19802
20064
  name: "UserName",
19803
20065
  rules: [
19804
20066
  {
@@ -19810,14 +20072,14 @@ var ApplicationUserCreate = () => {
19810
20072
  ), /* @__PURE__ */ import_react13.default.createElement(
19811
20073
  import_lib11.Form.Item,
19812
20074
  {
19813
- label: "Display Name",
20075
+ label: t("users.fields.displayName"),
19814
20076
  name: "DisplayName"
19815
20077
  },
19816
20078
  /* @__PURE__ */ import_react13.default.createElement(import_lib11.Input, null)
19817
20079
  ), /* @__PURE__ */ import_react13.default.createElement(
19818
20080
  import_lib11.Form.Item,
19819
20081
  {
19820
- label: "Email",
20082
+ label: t("users.fields.email"),
19821
20083
  name: "Email",
19822
20084
  rules: [
19823
20085
  {
@@ -19829,16 +20091,16 @@ var ApplicationUserCreate = () => {
19829
20091
  ), /* @__PURE__ */ import_react13.default.createElement(
19830
20092
  import_lib11.Form.Item,
19831
20093
  {
19832
- label: "Is Active",
20094
+ label: t("users.fields.isActive"),
19833
20095
  name: "IsActive",
19834
20096
  valuePropName: "checked",
19835
20097
  initialValue: true
19836
20098
  },
19837
- /* @__PURE__ */ import_react13.default.createElement(import_lib11.Checkbox, null, "Active")
20099
+ /* @__PURE__ */ import_react13.default.createElement(import_lib11.Checkbox, null, t("users.fields.isActive"))
19838
20100
  ), /* @__PURE__ */ import_react13.default.createElement(
19839
20101
  import_lib11.Form.Item,
19840
20102
  {
19841
- label: "Photo",
20103
+ label: t("users.fields.photo"),
19842
20104
  name: "Photo"
19843
20105
  },
19844
20106
  /* @__PURE__ */ import_react13.default.createElement(Base64Upload, null)
@@ -19847,9 +20109,11 @@ var ApplicationUserCreate = () => {
19847
20109
 
19848
20110
  // src/pages/application-users/edit.tsx
19849
20111
  var import_react14 = __toESM(require("react"));
20112
+ var import_core23 = require("@refinedev/core");
19850
20113
  var import_antd9 = require("@refinedev/antd");
19851
20114
  var import_lib12 = require("antd/lib");
19852
20115
  var ApplicationUserEdit = () => {
20116
+ const t = (0, import_core23.useTranslate)();
19853
20117
  const { message: message3 } = import_lib12.App.useApp();
19854
20118
  const { formProps, saveButtonProps, id, form } = (0, import_antd9.useForm)({
19855
20119
  meta: {
@@ -19892,7 +20156,7 @@ var ApplicationUserEdit = () => {
19892
20156
  return /* @__PURE__ */ import_react14.default.createElement(import_antd9.Edit, { saveButtonProps }, /* @__PURE__ */ import_react14.default.createElement(import_lib12.Form, { ...formProps, layout: "vertical", onFinish: handleOnFinish }, /* @__PURE__ */ import_react14.default.createElement(
19893
20157
  import_lib12.Form.Item,
19894
20158
  {
19895
- label: "User Name",
20159
+ label: t("users.fields.userName"),
19896
20160
  name: "UserName",
19897
20161
  rules: [
19898
20162
  {
@@ -19904,14 +20168,14 @@ var ApplicationUserEdit = () => {
19904
20168
  ), /* @__PURE__ */ import_react14.default.createElement(
19905
20169
  import_lib12.Form.Item,
19906
20170
  {
19907
- label: "Display Name",
20171
+ label: t("users.fields.displayName"),
19908
20172
  name: "DisplayName"
19909
20173
  },
19910
20174
  /* @__PURE__ */ import_react14.default.createElement(import_lib12.Input, null)
19911
20175
  ), /* @__PURE__ */ import_react14.default.createElement(
19912
20176
  import_lib12.Form.Item,
19913
20177
  {
19914
- label: "Email",
20178
+ label: t("users.fields.email"),
19915
20179
  name: "Email",
19916
20180
  rules: [
19917
20181
  {
@@ -19923,15 +20187,15 @@ var ApplicationUserEdit = () => {
19923
20187
  ), /* @__PURE__ */ import_react14.default.createElement(
19924
20188
  import_lib12.Form.Item,
19925
20189
  {
19926
- label: "Is Active",
20190
+ label: t("users.fields.isActive"),
19927
20191
  name: "IsActive",
19928
20192
  valuePropName: "checked"
19929
20193
  },
19930
- /* @__PURE__ */ import_react14.default.createElement(import_lib12.Checkbox, null, "Active")
20194
+ /* @__PURE__ */ import_react14.default.createElement(import_lib12.Checkbox, null, t("users.fields.isActive"))
19931
20195
  ), /* @__PURE__ */ import_react14.default.createElement(
19932
20196
  import_lib12.Form.Item,
19933
20197
  {
19934
- label: "Roles",
20198
+ label: t("roles.fields.name"),
19935
20199
  name: "Roles",
19936
20200
  getValueProps: (value) => {
19937
20201
  if (Array.isArray(value)) {
@@ -19951,7 +20215,7 @@ var ApplicationUserEdit = () => {
19951
20215
  ), /* @__PURE__ */ import_react14.default.createElement(
19952
20216
  import_lib12.Form.Item,
19953
20217
  {
19954
- label: "Photo",
20218
+ label: t("users.fields.photo"),
19955
20219
  name: "Photo"
19956
20220
  },
19957
20221
  /* @__PURE__ */ import_react14.default.createElement(Base64Upload, null)
@@ -19960,23 +20224,25 @@ var ApplicationUserEdit = () => {
19960
20224
 
19961
20225
  // src/pages/roles/list.tsx
19962
20226
  var import_react15 = __toESM(require("react"));
20227
+ var import_core24 = require("@refinedev/core");
19963
20228
  var import_antd10 = require("@refinedev/antd");
19964
20229
  var import_lib13 = require("antd/lib");
19965
20230
  var RoleList = () => {
20231
+ const t = (0, import_core24.useTranslate)();
19966
20232
  const { tableProps } = (0, import_antd10.useTable)({
19967
20233
  syncWithLocation: true
19968
20234
  });
19969
- return /* @__PURE__ */ import_react15.default.createElement(import_antd10.List, null, /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table, { ...tableProps, rowKey: "Oid" }, /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "Name", title: "Name" }), /* @__PURE__ */ import_react15.default.createElement(
20235
+ return /* @__PURE__ */ import_react15.default.createElement(import_antd10.List, null, /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table, { ...tableProps, rowKey: "Oid" }, /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "Name", title: t("roles.fields.name") }), /* @__PURE__ */ import_react15.default.createElement(
19970
20236
  import_lib13.Table.Column,
19971
20237
  {
19972
20238
  dataIndex: "IsAdministrative",
19973
- title: "Is Administrative",
20239
+ title: t("roles.fields.isAdministrative"),
19974
20240
  render: (value) => /* @__PURE__ */ import_react15.default.createElement(import_lib13.Checkbox, { checked: value, disabled: true })
19975
20241
  }
19976
- ), /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "PermissionPolicy", title: "Permission Policy" }), /* @__PURE__ */ import_react15.default.createElement(
20242
+ ), /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "PermissionPolicy", title: t("roles.fields.permissionPolicy") }), /* @__PURE__ */ import_react15.default.createElement(
19977
20243
  import_lib13.Table.Column,
19978
20244
  {
19979
- title: "Actions",
20245
+ title: t("buttons.list"),
19980
20246
  dataIndex: "actions",
19981
20247
  render: (_, record) => /* @__PURE__ */ import_react15.default.createElement(import_lib13.Space, null, /* @__PURE__ */ import_react15.default.createElement(import_antd10.EditButton, { hideText: true, size: "small", recordItemId: record.Oid }), /* @__PURE__ */ import_react15.default.createElement(import_antd10.DeleteButton, { hideText: true, size: "small", recordItemId: record.Oid }))
19982
20248
  }
@@ -19985,6 +20251,7 @@ var RoleList = () => {
19985
20251
 
19986
20252
  // src/pages/roles/create.tsx
19987
20253
  var import_react17 = __toESM(require("react"));
20254
+ var import_core25 = require("@refinedev/core");
19988
20255
  var import_antd12 = require("@refinedev/antd");
19989
20256
  var import_lib15 = require("antd/lib");
19990
20257
 
@@ -20103,6 +20370,7 @@ var TypePermissionList = ({ masterId }) => {
20103
20370
 
20104
20371
  // src/pages/roles/create.tsx
20105
20372
  var RoleCreate = () => {
20373
+ const t = (0, import_core25.useTranslate)();
20106
20374
  const [form] = import_lib15.Form.useForm();
20107
20375
  const { formProps, saveButtonProps } = (0, import_antd12.useForm)();
20108
20376
  const handleSave = () => {
@@ -20121,7 +20389,7 @@ var RoleCreate = () => {
20121
20389
  /* @__PURE__ */ import_react17.default.createElement(
20122
20390
  import_lib15.Form.Item,
20123
20391
  {
20124
- label: "Name",
20392
+ label: t("roles.fields.name"),
20125
20393
  name: "Name",
20126
20394
  rules: [{ required: true }]
20127
20395
  },
@@ -20130,16 +20398,16 @@ var RoleCreate = () => {
20130
20398
  /* @__PURE__ */ import_react17.default.createElement(
20131
20399
  import_lib15.Form.Item,
20132
20400
  {
20133
- label: "Is Administrative",
20401
+ label: t("roles.fields.isAdministrative"),
20134
20402
  name: "IsAdministrative",
20135
20403
  valuePropName: "checked"
20136
20404
  },
20137
- /* @__PURE__ */ import_react17.default.createElement(import_lib15.Checkbox, null, "Is Administrative")
20405
+ /* @__PURE__ */ import_react17.default.createElement(import_lib15.Checkbox, null, t("roles.fields.isAdministrative"))
20138
20406
  ),
20139
20407
  /* @__PURE__ */ import_react17.default.createElement(
20140
20408
  import_lib15.Form.Item,
20141
20409
  {
20142
- label: "Permission Policy",
20410
+ label: t("roles.fields.permissionPolicy"),
20143
20411
  name: "PermissionPolicy",
20144
20412
  initialValue: "DenyAllByDefault" /* DenyAllByDefault */,
20145
20413
  rules: [{ required: true }]
@@ -20161,9 +20429,11 @@ var RoleCreate = () => {
20161
20429
 
20162
20430
  // src/pages/roles/edit.tsx
20163
20431
  var import_react18 = __toESM(require("react"));
20432
+ var import_core26 = require("@refinedev/core");
20164
20433
  var import_antd13 = require("@refinedev/antd");
20165
20434
  var import_lib16 = require("antd/lib");
20166
20435
  var RoleEdit = () => {
20436
+ const t = (0, import_core26.useTranslate)();
20167
20437
  const { formProps, saveButtonProps, id } = (0, import_antd13.useForm)();
20168
20438
  const handleSave = () => {
20169
20439
  formProps.form?.submit();
@@ -20181,7 +20451,7 @@ var RoleEdit = () => {
20181
20451
  /* @__PURE__ */ import_react18.default.createElement(
20182
20452
  import_lib16.Form.Item,
20183
20453
  {
20184
- label: "Name",
20454
+ label: t("roles.fields.name"),
20185
20455
  name: "Name",
20186
20456
  rules: [{ required: true }]
20187
20457
  },
@@ -20190,16 +20460,16 @@ var RoleEdit = () => {
20190
20460
  /* @__PURE__ */ import_react18.default.createElement(
20191
20461
  import_lib16.Form.Item,
20192
20462
  {
20193
- label: "Is Administrative",
20463
+ label: t("roles.fields.isAdministrative"),
20194
20464
  name: "IsAdministrative",
20195
20465
  valuePropName: "checked"
20196
20466
  },
20197
- /* @__PURE__ */ import_react18.default.createElement(import_lib16.Checkbox, null, "Is Administrative")
20467
+ /* @__PURE__ */ import_react18.default.createElement(import_lib16.Checkbox, null, t("roles.fields.isAdministrative"))
20198
20468
  ),
20199
20469
  /* @__PURE__ */ import_react18.default.createElement(
20200
20470
  import_lib16.Form.Item,
20201
20471
  {
20202
- label: "Permission Policy",
20472
+ label: t("roles.fields.permissionPolicy"),
20203
20473
  name: "PermissionPolicy",
20204
20474
  rules: [{ required: true }]
20205
20475
  },
@@ -20225,7 +20495,7 @@ var RoleEdit = () => {
20225
20495
 
20226
20496
  // src/pages/background-jobs/list.tsx
20227
20497
  var import_react19 = __toESM(require("react"));
20228
- var import_core22 = require("@refinedev/core");
20498
+ var import_core27 = require("@refinedev/core");
20229
20499
  var import_antd14 = require("@refinedev/antd");
20230
20500
  var import_antd15 = require("antd");
20231
20501
  var import_icons6 = require("@ant-design/icons");
@@ -20233,9 +20503,10 @@ var BackgroundJobList = ({
20233
20503
  title,
20234
20504
  apiUrl: customApiUrl
20235
20505
  }) => {
20236
- const t = (0, import_core22.useTranslate)();
20237
- const defaultApiUrl = (0, import_core22.useApiUrl)();
20506
+ const t = (0, import_core27.useTranslate)();
20507
+ const defaultApiUrl = (0, import_core27.useApiUrl)();
20238
20508
  const apiUrl = customApiUrl || defaultApiUrl?.replace("/odata", "");
20509
+ const { token } = import_antd15.theme.useToken();
20239
20510
  const [refreshKey, setRefreshKey] = (0, import_react19.useState)(0);
20240
20511
  const [activeTab, setActiveTab] = (0, import_react19.useState)("recurring");
20241
20512
  const [loading, setLoading] = (0, import_react19.useState)(false);
@@ -20248,8 +20519,8 @@ var BackgroundJobList = ({
20248
20519
  const [detailLoading, setDetailLoading] = (0, import_react19.useState)(false);
20249
20520
  const fetchData = (0, import_react19.useCallback)(async () => {
20250
20521
  setLoading(true);
20251
- const token = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20252
- const headers = token ? { "Authorization": `Bearer ${token}` } : {};
20522
+ const token2 = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20523
+ const headers = token2 ? { "Authorization": `Bearer ${token2}` } : {};
20253
20524
  try {
20254
20525
  const [recurringRes, succeededRes, failedRes, processingRes] = await Promise.all([
20255
20526
  fetch(`${apiUrl}/hangfire/recurring`, { headers }),
@@ -20284,8 +20555,8 @@ var BackgroundJobList = ({
20284
20555
  };
20285
20556
  const handleTrigger = async (jobId) => {
20286
20557
  try {
20287
- const token = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20288
- const headers = token ? { "Authorization": `Bearer ${token}` } : {};
20558
+ const token2 = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20559
+ const headers = token2 ? { "Authorization": `Bearer ${token2}` } : {};
20289
20560
  const response = await fetch(`${apiUrl}/hangfire/trigger/${jobId}`, {
20290
20561
  method: "POST",
20291
20562
  headers
@@ -20302,8 +20573,8 @@ var BackgroundJobList = ({
20302
20573
  };
20303
20574
  const handleDelete = async (jobId) => {
20304
20575
  try {
20305
- const token = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20306
- const headers = token ? { "Authorization": `Bearer ${token}` } : {};
20576
+ const token2 = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20577
+ const headers = token2 ? { "Authorization": `Bearer ${token2}` } : {};
20307
20578
  const response = await fetch(`${apiUrl}/hangfire/recurring/${jobId}`, {
20308
20579
  method: "DELETE",
20309
20580
  headers
@@ -20323,8 +20594,8 @@ var BackgroundJobList = ({
20323
20594
  setDetailLoading(true);
20324
20595
  setJobDetails(null);
20325
20596
  try {
20326
- const token = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20327
- const headers = token ? { "Authorization": `Bearer ${token}` } : {};
20597
+ const token2 = localStorage.getItem("refine-auth") || localStorage.getItem("access_token");
20598
+ const headers = token2 ? { "Authorization": `Bearer ${token2}` } : {};
20328
20599
  const res = await fetch(`${apiUrl}/hangfire/jobs/${jobId}`, { headers });
20329
20600
  if (res.ok) {
20330
20601
  const data = await res.json();
@@ -20559,10 +20830,799 @@ var BackgroundJobList = ({
20559
20830
  open: drawerVisible,
20560
20831
  width: 600
20561
20832
  },
20562
- detailLoading ? /* @__PURE__ */ import_react19.default.createElement(import_antd15.Skeleton, { active: true }) : jobDetails ? /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(import_antd15.Descriptions, { column: 1, bordered: true, size: "small" }, /* @__PURE__ */ import_react19.default.createElement(import_antd15.Descriptions.Item, { label: t("backgroundJobs.drawer.jobName") }, jobDetails.JobName), /* @__PURE__ */ import_react19.default.createElement(import_antd15.Descriptions.Item, { label: t("backgroundJobs.drawer.createdAt") }, jobDetails.CreatedAt ? new Date(jobDetails.CreatedAt).toLocaleString() : "-")), /* @__PURE__ */ import_react19.default.createElement("div", { style: { marginTop: 24 } }, /* @__PURE__ */ import_react19.default.createElement("h3", null, t("backgroundJobs.drawer.history")), /* @__PURE__ */ import_react19.default.createElement(import_antd15.Timeline, { mode: "left" }, jobDetails.History.map((h, i) => /* @__PURE__ */ import_react19.default.createElement(import_antd15.Timeline.Item, { key: i, color: h.StateName === "Succeeded" ? "green" : h.StateName === "Failed" ? "red" : "blue" }, /* @__PURE__ */ import_react19.default.createElement("p", null, /* @__PURE__ */ import_react19.default.createElement("strong", null, h.StateName), " - ", new Date(h.CreatedAt).toLocaleString()), h.Reason && /* @__PURE__ */ import_react19.default.createElement("p", null, t("backgroundJobs.drawer.reason"), ": ", h.Reason), h.Data && Object.keys(h.Data).length > 0 && /* @__PURE__ */ import_react19.default.createElement("div", { style: { background: "#f5f5f5", padding: 8, borderRadius: 4, overflowX: "auto", marginTop: 8 } }, /* @__PURE__ */ import_react19.default.createElement("pre", { style: { margin: 0, fontSize: 12 } }, JSON.stringify(h.Data, null, 2)))))))) : /* @__PURE__ */ import_react19.default.createElement("div", null, t("backgroundJobs.drawer.noData"))
20833
+ detailLoading ? /* @__PURE__ */ import_react19.default.createElement(import_antd15.Skeleton, { active: true }) : jobDetails ? /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, /* @__PURE__ */ import_react19.default.createElement(import_antd15.Descriptions, { column: 1, bordered: true, size: "small" }, /* @__PURE__ */ import_react19.default.createElement(import_antd15.Descriptions.Item, { label: t("backgroundJobs.drawer.jobName") }, jobDetails.JobName), /* @__PURE__ */ import_react19.default.createElement(import_antd15.Descriptions.Item, { label: t("backgroundJobs.drawer.createdAt") }, jobDetails.CreatedAt ? new Date(jobDetails.CreatedAt).toLocaleString() : "-")), /* @__PURE__ */ import_react19.default.createElement("div", { style: { marginTop: 24 } }, /* @__PURE__ */ import_react19.default.createElement("h3", null, t("backgroundJobs.drawer.history")), /* @__PURE__ */ import_react19.default.createElement(import_antd15.Timeline, { mode: "left" }, jobDetails.History.map((h, i) => /* @__PURE__ */ import_react19.default.createElement(import_antd15.Timeline.Item, { key: i, color: h.StateName === "Succeeded" ? "green" : h.StateName === "Failed" ? "red" : "blue" }, /* @__PURE__ */ import_react19.default.createElement("p", null, /* @__PURE__ */ import_react19.default.createElement("strong", null, h.StateName), " - ", new Date(h.CreatedAt).toLocaleString()), h.Reason && /* @__PURE__ */ import_react19.default.createElement("p", null, t("backgroundJobs.drawer.reason"), ": ", h.Reason), h.Data && Object.keys(h.Data).length > 0 && /* @__PURE__ */ import_react19.default.createElement("div", { style: { background: token.colorFillAlter, padding: 8, borderRadius: 4, overflowX: "auto", marginTop: 8 } }, /* @__PURE__ */ import_react19.default.createElement("pre", { style: { margin: 0, fontSize: 12, color: token.colorText } }, JSON.stringify(h.Data, null, 2)))))))) : /* @__PURE__ */ import_react19.default.createElement("div", null, t("backgroundJobs.drawer.noData"))
20834
+ )
20835
+ );
20836
+ };
20837
+
20838
+ // src/pages/trigger-rules/list.tsx
20839
+ var import_react20 = __toESM(require("react"));
20840
+ var import_core28 = require("@refinedev/core");
20841
+ var import_antd16 = require("@refinedev/antd");
20842
+ var import_antd17 = require("antd");
20843
+ var TriggerRuleList = () => {
20844
+ const t = (0, import_core28.useTranslate)();
20845
+ const getHttpMethodColor = (method) => {
20846
+ switch (method) {
20847
+ case "Post" /* Post */:
20848
+ return "green";
20849
+ case "Get" /* Get */:
20850
+ return "blue";
20851
+ case "Put" /* Put */:
20852
+ return "orange";
20853
+ case "Patch" /* Patch */:
20854
+ return "purple";
20855
+ case "Delete" /* Delete */:
20856
+ return "red";
20857
+ default:
20858
+ return "default";
20859
+ }
20860
+ };
20861
+ return /* @__PURE__ */ import_react20.default.createElement(
20862
+ SmartList,
20863
+ {
20864
+ searchFields: ["Name", "Description", "WebhookUrl"]
20865
+ },
20866
+ /* @__PURE__ */ import_react20.default.createElement(
20867
+ import_antd17.Table.Column,
20868
+ {
20869
+ dataIndex: "Name",
20870
+ title: t("triggerRules.fields.name"),
20871
+ sorter: true,
20872
+ defaultVisible: true
20873
+ }
20874
+ ),
20875
+ /* @__PURE__ */ import_react20.default.createElement(
20876
+ import_antd17.Table.Column,
20877
+ {
20878
+ dataIndex: "Description",
20879
+ title: t("triggerRules.fields.description")
20880
+ }
20881
+ ),
20882
+ /* @__PURE__ */ import_react20.default.createElement(
20883
+ import_antd17.Table.Column,
20884
+ {
20885
+ dataIndex: "TargetTypeName",
20886
+ title: t("triggerRules.fields.targetTypeName"),
20887
+ render: (value) => value ? /* @__PURE__ */ import_react20.default.createElement("span", { style: { fontFamily: "monospace", fontSize: "0.9em" } }, value) : "-"
20888
+ }
20889
+ ),
20890
+ /* @__PURE__ */ import_react20.default.createElement(
20891
+ import_antd17.Table.Column,
20892
+ {
20893
+ dataIndex: "IsActive",
20894
+ title: t("triggerRules.fields.isActive"),
20895
+ render: (value) => /* @__PURE__ */ import_react20.default.createElement(import_antd17.Checkbox, { checked: value, disabled: true }),
20896
+ sorter: true,
20897
+ defaultVisible: true
20898
+ }
20899
+ ),
20900
+ /* @__PURE__ */ import_react20.default.createElement(
20901
+ import_antd17.Table.Column,
20902
+ {
20903
+ dataIndex: "OnCreated",
20904
+ title: t("triggerRules.fields.onCreated"),
20905
+ render: (value) => /* @__PURE__ */ import_react20.default.createElement(import_antd17.Checkbox, { checked: value, disabled: true })
20906
+ }
20907
+ ),
20908
+ /* @__PURE__ */ import_react20.default.createElement(
20909
+ import_antd17.Table.Column,
20910
+ {
20911
+ dataIndex: "OnModified",
20912
+ title: t("triggerRules.fields.onModified"),
20913
+ render: (value) => /* @__PURE__ */ import_react20.default.createElement(import_antd17.Checkbox, { checked: value, disabled: true })
20914
+ }
20915
+ ),
20916
+ /* @__PURE__ */ import_react20.default.createElement(
20917
+ import_antd17.Table.Column,
20918
+ {
20919
+ dataIndex: "OnRemoved",
20920
+ title: t("triggerRules.fields.onRemoved"),
20921
+ render: (value) => /* @__PURE__ */ import_react20.default.createElement(import_antd17.Checkbox, { checked: value, disabled: true })
20922
+ }
20923
+ ),
20924
+ /* @__PURE__ */ import_react20.default.createElement(
20925
+ import_antd17.Table.Column,
20926
+ {
20927
+ dataIndex: "HttpMethod",
20928
+ title: t("triggerRules.fields.httpMethod"),
20929
+ render: (value) => /* @__PURE__ */ import_react20.default.createElement(import_antd17.Tag, { color: getHttpMethodColor(value) }, value)
20930
+ }
20931
+ ),
20932
+ /* @__PURE__ */ import_react20.default.createElement(
20933
+ import_antd17.Table.Column,
20934
+ {
20935
+ dataIndex: "WebhookUrl",
20936
+ title: t("triggerRules.fields.webhookUrl"),
20937
+ render: (value) => /* @__PURE__ */ import_react20.default.createElement("span", { style: { fontFamily: "monospace", fontSize: "0.85em" } }, value?.length > 50 ? `${value.substring(0, 50)}...` : value),
20938
+ defaultVisible: true
20939
+ }
20940
+ ),
20941
+ /* @__PURE__ */ import_react20.default.createElement(
20942
+ import_antd17.Table.Column,
20943
+ {
20944
+ title: t("buttons.list"),
20945
+ dataIndex: "actions",
20946
+ render: (_, record) => /* @__PURE__ */ import_react20.default.createElement(import_antd17.Space, null, /* @__PURE__ */ import_react20.default.createElement(import_antd16.EditButton, { hideText: true, size: "small", recordItemId: record.Oid }), /* @__PURE__ */ import_react20.default.createElement(import_antd16.DeleteButton, { hideText: true, size: "small", recordItemId: record.Oid }))
20947
+ }
20563
20948
  )
20564
20949
  );
20565
20950
  };
20951
+
20952
+ // src/pages/trigger-rules/create.tsx
20953
+ var import_react21 = __toESM(require("react"));
20954
+ var import_core29 = require("@refinedev/core");
20955
+ var import_antd18 = require("@refinedev/antd");
20956
+ var import_antd19 = require("antd");
20957
+ var TriggerRuleCreate = () => {
20958
+ const t = (0, import_core29.useTranslate)();
20959
+ const { formProps, saveButtonProps } = (0, import_antd18.useForm)();
20960
+ const { data: modelTypes, isLoading: isLoadingTypes } = useModelTypes();
20961
+ return /* @__PURE__ */ import_react21.default.createElement(import_antd18.Create, { saveButtonProps }, /* @__PURE__ */ import_react21.default.createElement(import_antd19.Form, { ...formProps, layout: "vertical" }, /* @__PURE__ */ import_react21.default.createElement(
20962
+ import_antd19.Form.Item,
20963
+ {
20964
+ label: t("triggerRules.fields.name"),
20965
+ name: "Name",
20966
+ rules: [{ required: true, message: t("triggerRules.validation.nameRequired") }]
20967
+ },
20968
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Input, { placeholder: t("triggerRules.placeholders.name") })
20969
+ ), /* @__PURE__ */ import_react21.default.createElement(
20970
+ import_antd19.Form.Item,
20971
+ {
20972
+ label: t("triggerRules.fields.description"),
20973
+ name: "Description"
20974
+ },
20975
+ /* @__PURE__ */ import_react21.default.createElement(
20976
+ import_antd19.Input.TextArea,
20977
+ {
20978
+ rows: 2,
20979
+ placeholder: t("triggerRules.placeholders.description")
20980
+ }
20981
+ )
20982
+ ), /* @__PURE__ */ import_react21.default.createElement(
20983
+ import_antd19.Form.Item,
20984
+ {
20985
+ label: t("triggerRules.fields.targetTypeName"),
20986
+ name: "TargetTypeName",
20987
+ tooltip: t("triggerRules.tooltips.targetTypeName")
20988
+ },
20989
+ /* @__PURE__ */ import_react21.default.createElement(
20990
+ import_antd19.Select,
20991
+ {
20992
+ showSearch: true,
20993
+ placeholder: t("triggerRules.tooltips.targetTypeName"),
20994
+ loading: isLoadingTypes,
20995
+ notFoundContent: isLoadingTypes ? /* @__PURE__ */ import_react21.default.createElement(import_antd19.Spin, { size: "small" }) : null,
20996
+ filterOption: (input, option) => (option?.label ?? "").toLowerCase().includes(input.toLowerCase()),
20997
+ options: modelTypes?.filter((type) => !["TriggerRule", "TriggerLog"].includes(type.Name)).map((type) => ({
20998
+ label: type.Caption || type.Name,
20999
+ value: type.Name
21000
+ }))
21001
+ }
21002
+ )
21003
+ ), /* @__PURE__ */ import_react21.default.createElement(
21004
+ import_antd19.Form.Item,
21005
+ {
21006
+ label: t("triggerRules.fields.onCreated"),
21007
+ name: "OnCreated",
21008
+ valuePropName: "checked"
21009
+ },
21010
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Switch, null)
21011
+ ), /* @__PURE__ */ import_react21.default.createElement(
21012
+ import_antd19.Form.Item,
21013
+ {
21014
+ label: t("triggerRules.fields.onModified"),
21015
+ name: "OnModified",
21016
+ valuePropName: "checked"
21017
+ },
21018
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Switch, null)
21019
+ ), /* @__PURE__ */ import_react21.default.createElement(
21020
+ import_antd19.Form.Item,
21021
+ {
21022
+ label: t("triggerRules.fields.onRemoved"),
21023
+ name: "OnRemoved",
21024
+ valuePropName: "checked"
21025
+ },
21026
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Switch, null)
21027
+ ), /* @__PURE__ */ import_react21.default.createElement(
21028
+ import_antd19.Form.Item,
21029
+ {
21030
+ label: t("triggerRules.fields.httpMethod"),
21031
+ name: "HttpMethod",
21032
+ initialValue: "Post" /* Post */,
21033
+ rules: [{ required: true }]
21034
+ },
21035
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Select, null, /* @__PURE__ */ import_react21.default.createElement(import_antd19.Select.Option, { value: "Post" /* Post */ }, "POST"), /* @__PURE__ */ import_react21.default.createElement(import_antd19.Select.Option, { value: "Get" /* Get */ }, "GET"), /* @__PURE__ */ import_react21.default.createElement(import_antd19.Select.Option, { value: "Put" /* Put */ }, "PUT"), /* @__PURE__ */ import_react21.default.createElement(import_antd19.Select.Option, { value: "Patch" /* Patch */ }, "PATCH"), /* @__PURE__ */ import_react21.default.createElement(import_antd19.Select.Option, { value: "Delete" /* Delete */ }, "DELETE"))
21036
+ ), /* @__PURE__ */ import_react21.default.createElement(
21037
+ import_antd19.Form.Item,
21038
+ {
21039
+ label: t("triggerRules.fields.webhookUrl"),
21040
+ name: "WebhookUrl",
21041
+ rules: [
21042
+ { required: true, message: t("triggerRules.validation.webhookUrlRequired") },
21043
+ { type: "url", message: t("triggerRules.validation.webhookUrlInvalid") }
21044
+ ]
21045
+ },
21046
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Input, { placeholder: t("triggerRules.placeholders.webhookUrl") })
21047
+ ), /* @__PURE__ */ import_react21.default.createElement(
21048
+ import_antd19.Form.Item,
21049
+ {
21050
+ label: t("triggerRules.fields.customHeaders"),
21051
+ name: "CustomHeaders",
21052
+ tooltip: t("triggerRules.tooltips.customHeaders")
21053
+ },
21054
+ /* @__PURE__ */ import_react21.default.createElement(
21055
+ import_antd19.Input.TextArea,
21056
+ {
21057
+ rows: 3,
21058
+ placeholder: t("triggerRules.placeholders.customHeaders")
21059
+ }
21060
+ )
21061
+ ), /* @__PURE__ */ import_react21.default.createElement(
21062
+ import_antd19.Form.Item,
21063
+ {
21064
+ label: t("triggerRules.fields.isActive"),
21065
+ name: "IsActive",
21066
+ valuePropName: "checked",
21067
+ initialValue: true
21068
+ },
21069
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Switch, null)
21070
+ ), /* @__PURE__ */ import_react21.default.createElement(
21071
+ import_antd19.Form.Item,
21072
+ {
21073
+ label: t("triggerRules.fields.onlyObjectFitsCriteria"),
21074
+ name: "OnlyObjectFitsCriteria",
21075
+ valuePropName: "checked"
21076
+ },
21077
+ /* @__PURE__ */ import_react21.default.createElement(import_antd19.Switch, null)
21078
+ ), /* @__PURE__ */ import_react21.default.createElement(
21079
+ import_antd19.Form.Item,
21080
+ {
21081
+ label: t("triggerRules.fields.criteria"),
21082
+ name: "Criteria",
21083
+ tooltip: t("triggerRules.tooltips.criteria")
21084
+ },
21085
+ /* @__PURE__ */ import_react21.default.createElement(
21086
+ import_antd19.Input.TextArea,
21087
+ {
21088
+ rows: 2,
21089
+ placeholder: t("triggerRules.placeholders.criteria")
21090
+ }
21091
+ )
21092
+ )));
21093
+ };
21094
+
21095
+ // src/pages/trigger-rules/edit.tsx
21096
+ var import_react22 = __toESM(require("react"));
21097
+ var import_core30 = require("@refinedev/core");
21098
+ var import_antd20 = require("@refinedev/antd");
21099
+ var import_antd21 = require("antd");
21100
+ var TriggerRuleEdit = () => {
21101
+ const t = (0, import_core30.useTranslate)();
21102
+ const { formProps, saveButtonProps } = (0, import_antd20.useForm)();
21103
+ const { data: modelTypes, isLoading: isLoadingTypes } = useModelTypes();
21104
+ return /* @__PURE__ */ import_react22.default.createElement(import_antd20.Edit, { saveButtonProps }, /* @__PURE__ */ import_react22.default.createElement(import_antd21.Form, { ...formProps, layout: "vertical" }, /* @__PURE__ */ import_react22.default.createElement(
21105
+ import_antd21.Form.Item,
21106
+ {
21107
+ label: t("triggerRules.fields.name"),
21108
+ name: "Name",
21109
+ rules: [{ required: true, message: t("triggerRules.validation.nameRequired") }]
21110
+ },
21111
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Input, { placeholder: t("triggerRules.placeholders.name") })
21112
+ ), /* @__PURE__ */ import_react22.default.createElement(
21113
+ import_antd21.Form.Item,
21114
+ {
21115
+ label: t("triggerRules.fields.description"),
21116
+ name: "Description"
21117
+ },
21118
+ /* @__PURE__ */ import_react22.default.createElement(
21119
+ import_antd21.Input.TextArea,
21120
+ {
21121
+ rows: 2,
21122
+ placeholder: t("triggerRules.placeholders.description")
21123
+ }
21124
+ )
21125
+ ), /* @__PURE__ */ import_react22.default.createElement(
21126
+ import_antd21.Form.Item,
21127
+ {
21128
+ label: t("triggerRules.fields.targetTypeName"),
21129
+ name: "TargetTypeName",
21130
+ tooltip: t("triggerRules.tooltips.targetTypeName")
21131
+ },
21132
+ /* @__PURE__ */ import_react22.default.createElement(
21133
+ import_antd21.Select,
21134
+ {
21135
+ showSearch: true,
21136
+ placeholder: t("triggerRules.tooltips.targetTypeName"),
21137
+ loading: isLoadingTypes,
21138
+ notFoundContent: isLoadingTypes ? /* @__PURE__ */ import_react22.default.createElement(import_antd21.Spin, { size: "small" }) : null,
21139
+ filterOption: (input, option) => (option?.label ?? "").toLowerCase().includes(input.toLowerCase()),
21140
+ options: modelTypes?.filter((type) => !["TriggerRule", "TriggerLog"].includes(type.Name)).map((type) => ({
21141
+ label: type.Caption || type.Name,
21142
+ value: type.Name
21143
+ }))
21144
+ }
21145
+ )
21146
+ ), /* @__PURE__ */ import_react22.default.createElement(
21147
+ import_antd21.Form.Item,
21148
+ {
21149
+ label: t("triggerRules.fields.onCreated"),
21150
+ name: "OnCreated",
21151
+ valuePropName: "checked"
21152
+ },
21153
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Switch, null)
21154
+ ), /* @__PURE__ */ import_react22.default.createElement(
21155
+ import_antd21.Form.Item,
21156
+ {
21157
+ label: t("triggerRules.fields.onModified"),
21158
+ name: "OnModified",
21159
+ valuePropName: "checked"
21160
+ },
21161
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Switch, null)
21162
+ ), /* @__PURE__ */ import_react22.default.createElement(
21163
+ import_antd21.Form.Item,
21164
+ {
21165
+ label: t("triggerRules.fields.onRemoved"),
21166
+ name: "OnRemoved",
21167
+ valuePropName: "checked"
21168
+ },
21169
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Switch, null)
21170
+ ), /* @__PURE__ */ import_react22.default.createElement(
21171
+ import_antd21.Form.Item,
21172
+ {
21173
+ label: t("triggerRules.fields.httpMethod"),
21174
+ name: "HttpMethod",
21175
+ rules: [{ required: true }]
21176
+ },
21177
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Select, null, /* @__PURE__ */ import_react22.default.createElement(import_antd21.Select.Option, { value: "Post" /* Post */ }, "POST"), /* @__PURE__ */ import_react22.default.createElement(import_antd21.Select.Option, { value: "Get" /* Get */ }, "GET"), /* @__PURE__ */ import_react22.default.createElement(import_antd21.Select.Option, { value: "Put" /* Put */ }, "PUT"), /* @__PURE__ */ import_react22.default.createElement(import_antd21.Select.Option, { value: "Patch" /* Patch */ }, "PATCH"), /* @__PURE__ */ import_react22.default.createElement(import_antd21.Select.Option, { value: "Delete" /* Delete */ }, "DELETE"))
21178
+ ), /* @__PURE__ */ import_react22.default.createElement(
21179
+ import_antd21.Form.Item,
21180
+ {
21181
+ label: t("triggerRules.fields.webhookUrl"),
21182
+ name: "WebhookUrl",
21183
+ rules: [
21184
+ { required: true, message: t("triggerRules.validation.webhookUrlRequired") },
21185
+ { type: "url", message: t("triggerRules.validation.webhookUrlInvalid") }
21186
+ ]
21187
+ },
21188
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Input, { placeholder: t("triggerRules.placeholders.webhookUrl") })
21189
+ ), /* @__PURE__ */ import_react22.default.createElement(
21190
+ import_antd21.Form.Item,
21191
+ {
21192
+ label: t("triggerRules.fields.customHeaders"),
21193
+ name: "CustomHeaders",
21194
+ tooltip: t("triggerRules.tooltips.customHeaders")
21195
+ },
21196
+ /* @__PURE__ */ import_react22.default.createElement(
21197
+ import_antd21.Input.TextArea,
21198
+ {
21199
+ rows: 3,
21200
+ placeholder: t("triggerRules.placeholders.customHeaders")
21201
+ }
21202
+ )
21203
+ ), /* @__PURE__ */ import_react22.default.createElement(
21204
+ import_antd21.Form.Item,
21205
+ {
21206
+ label: t("triggerRules.fields.isActive"),
21207
+ name: "IsActive",
21208
+ valuePropName: "checked"
21209
+ },
21210
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Switch, null)
21211
+ ), /* @__PURE__ */ import_react22.default.createElement(
21212
+ import_antd21.Form.Item,
21213
+ {
21214
+ label: t("triggerRules.fields.onlyObjectFitsCriteria"),
21215
+ name: "OnlyObjectFitsCriteria",
21216
+ valuePropName: "checked"
21217
+ },
21218
+ /* @__PURE__ */ import_react22.default.createElement(import_antd21.Switch, null)
21219
+ ), /* @__PURE__ */ import_react22.default.createElement(
21220
+ import_antd21.Form.Item,
21221
+ {
21222
+ label: t("triggerRules.fields.criteria"),
21223
+ name: "Criteria",
21224
+ tooltip: t("triggerRules.tooltips.criteria")
21225
+ },
21226
+ /* @__PURE__ */ import_react22.default.createElement(
21227
+ import_antd21.Input.TextArea,
21228
+ {
21229
+ rows: 2,
21230
+ placeholder: t("triggerRules.placeholders.criteria")
21231
+ }
21232
+ )
21233
+ )));
21234
+ };
21235
+
21236
+ // src/pages/trigger-logs/list.tsx
21237
+ var import_react23 = __toESM(require("react"));
21238
+ var import_core31 = require("@refinedev/core");
21239
+ var import_antd22 = require("@refinedev/antd");
21240
+ var import_antd23 = require("antd");
21241
+ var import_icons7 = require("@ant-design/icons");
21242
+ var { Text: Text2 } = import_antd23.Typography;
21243
+ var { useToken: useToken2 } = import_antd23.theme;
21244
+ var formatJson = (jsonString) => {
21245
+ try {
21246
+ const parsed = JSON.parse(jsonString);
21247
+ return JSON.stringify(parsed, null, 2);
21248
+ } catch {
21249
+ return jsonString;
21250
+ }
21251
+ };
21252
+ var TriggerLogList = () => {
21253
+ const t = (0, import_core31.useTranslate)();
21254
+ const { token } = useToken2();
21255
+ const [drawerVisible, setDrawerVisible] = (0, import_react23.useState)(false);
21256
+ const [selectedLog, setSelectedLog] = (0, import_react23.useState)(null);
21257
+ const getHttpMethodColor = (method) => {
21258
+ switch (method) {
21259
+ case "Post" /* Post */:
21260
+ return "green";
21261
+ case "Get" /* Get */:
21262
+ return "blue";
21263
+ case "Put" /* Put */:
21264
+ return "orange";
21265
+ case "Patch" /* Patch */:
21266
+ return "purple";
21267
+ case "Delete" /* Delete */:
21268
+ return "red";
21269
+ default:
21270
+ return "default";
21271
+ }
21272
+ };
21273
+ const getEventTypeColor = (event) => {
21274
+ switch (event) {
21275
+ case "Create" /* Create */:
21276
+ return "green";
21277
+ case "Update" /* Update */:
21278
+ return "blue";
21279
+ case "Delete" /* Delete */:
21280
+ return "red";
21281
+ default:
21282
+ return "default";
21283
+ }
21284
+ };
21285
+ const handleShowDetail = (record) => {
21286
+ setSelectedLog(record);
21287
+ setDrawerVisible(true);
21288
+ };
21289
+ return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, /* @__PURE__ */ import_react23.default.createElement(
21290
+ SmartList,
21291
+ {
21292
+ searchFields: ["ObjectType", "ObjectKey", "ErrorMessage"],
21293
+ meta: {
21294
+ expand: ["TriggerRule"]
21295
+ }
21296
+ },
21297
+ /* @__PURE__ */ import_react23.default.createElement(
21298
+ import_antd23.Table.Column,
21299
+ {
21300
+ dataIndex: ["TriggerRule", "Name"],
21301
+ title: t("triggerRules.fields.name"),
21302
+ render: (value) => value ? /* @__PURE__ */ import_react23.default.createElement(Text2, { strong: true }, value) : /* @__PURE__ */ import_react23.default.createElement(Text2, { type: "secondary" }, "-"),
21303
+ defaultVisible: true
21304
+ }
21305
+ ),
21306
+ /* @__PURE__ */ import_react23.default.createElement(
21307
+ import_antd23.Table.Column,
21308
+ {
21309
+ dataIndex: "ExecutionTime",
21310
+ title: t("triggerLogs.fields.executionTime"),
21311
+ sorter: true,
21312
+ defaultSortOrder: "descend",
21313
+ render: (value) => new Date(value).toLocaleString(),
21314
+ defaultVisible: true
21315
+ }
21316
+ ),
21317
+ /* @__PURE__ */ import_react23.default.createElement(
21318
+ import_antd23.Table.Column,
21319
+ {
21320
+ dataIndex: "IsSuccess",
21321
+ title: t("triggerLogs.fields.status"),
21322
+ render: (value) => value ? /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { icon: /* @__PURE__ */ import_react23.default.createElement(import_icons7.CheckCircleOutlined, null), color: "success" }, t("triggerLogs.status.success")) : /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { icon: /* @__PURE__ */ import_react23.default.createElement(import_icons7.CloseCircleOutlined, null), color: "error" }, t("triggerLogs.status.failed")),
21323
+ sorter: true,
21324
+ defaultVisible: true
21325
+ }
21326
+ ),
21327
+ /* @__PURE__ */ import_react23.default.createElement(
21328
+ import_antd23.Table.Column,
21329
+ {
21330
+ dataIndex: "EventType",
21331
+ title: t("triggerLogs.fields.eventType"),
21332
+ render: (value) => /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { color: getEventTypeColor(value) }, value)
21333
+ }
21334
+ ),
21335
+ /* @__PURE__ */ import_react23.default.createElement(
21336
+ import_antd23.Table.Column,
21337
+ {
21338
+ dataIndex: "ObjectType",
21339
+ title: t("triggerLogs.fields.objectType"),
21340
+ render: (value) => /* @__PURE__ */ import_react23.default.createElement("span", { style: { fontFamily: "monospace", fontSize: "0.85em" } }, value?.split(".").pop() || value)
21341
+ }
21342
+ ),
21343
+ /* @__PURE__ */ import_react23.default.createElement(
21344
+ import_antd23.Table.Column,
21345
+ {
21346
+ dataIndex: "ObjectKey",
21347
+ title: t("triggerLogs.fields.objectKey"),
21348
+ render: (value) => /* @__PURE__ */ import_react23.default.createElement(Text2, { code: true }, value)
21349
+ }
21350
+ ),
21351
+ /* @__PURE__ */ import_react23.default.createElement(
21352
+ import_antd23.Table.Column,
21353
+ {
21354
+ dataIndex: "HttpMethod",
21355
+ title: t("triggerLogs.fields.httpMethod"),
21356
+ render: (value) => /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { color: getHttpMethodColor(value) }, value)
21357
+ }
21358
+ ),
21359
+ /* @__PURE__ */ import_react23.default.createElement(
21360
+ import_antd23.Table.Column,
21361
+ {
21362
+ dataIndex: "StatusCode",
21363
+ title: t("triggerLogs.fields.statusCode"),
21364
+ render: (value) => value ? /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { color: value >= 200 && value < 300 ? "success" : "error" }, value) : "-"
21365
+ }
21366
+ ),
21367
+ /* @__PURE__ */ import_react23.default.createElement(
21368
+ import_antd23.Table.Column,
21369
+ {
21370
+ dataIndex: "ErrorMessage",
21371
+ title: t("triggerLogs.fields.error"),
21372
+ render: (value) => value ? /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tooltip, { title: value }, /* @__PURE__ */ import_react23.default.createElement(Text2, { type: "danger", ellipsis: true, style: { maxWidth: 200, display: "block" } }, value)) : "-"
21373
+ }
21374
+ ),
21375
+ /* @__PURE__ */ import_react23.default.createElement(
21376
+ import_antd23.Table.Column,
21377
+ {
21378
+ title: t("buttons.list"),
21379
+ dataIndex: "actions",
21380
+ render: (_, record) => /* @__PURE__ */ import_react23.default.createElement(import_antd23.Space, null, /* @__PURE__ */ import_react23.default.createElement(
21381
+ import_antd22.ShowButton,
21382
+ {
21383
+ hideText: true,
21384
+ size: "small",
21385
+ recordItemId: record.Oid,
21386
+ onClick: (e) => {
21387
+ e.preventDefault();
21388
+ handleShowDetail(record);
21389
+ }
21390
+ }
21391
+ ))
21392
+ }
21393
+ )
21394
+ ), /* @__PURE__ */ import_react23.default.createElement(
21395
+ import_antd23.Drawer,
21396
+ {
21397
+ title: t("triggerLogs.drawer.title"),
21398
+ placement: "right",
21399
+ width: 720,
21400
+ onClose: () => setDrawerVisible(false),
21401
+ open: drawerVisible
21402
+ },
21403
+ selectedLog && /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions, { bordered: true, column: 1, size: "small" }, /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerRules.fields.name") }, /* @__PURE__ */ import_react23.default.createElement(Text2, { strong: true }, selectedLog.TriggerRule?.Name || "-")), /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.executionTime") }, new Date(selectedLog.ExecutionTime).toLocaleString()), /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.status") }, selectedLog.IsSuccess ? /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { icon: /* @__PURE__ */ import_react23.default.createElement(import_icons7.CheckCircleOutlined, null), color: "success" }, t("triggerLogs.status.success")) : /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { icon: /* @__PURE__ */ import_react23.default.createElement(import_icons7.CloseCircleOutlined, null), color: "error" }, t("triggerLogs.status.failed"))), /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.eventType") }, /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { color: getEventTypeColor(selectedLog.EventType) }, selectedLog.EventType)), /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.objectType") }, /* @__PURE__ */ import_react23.default.createElement(Text2, { code: true }, selectedLog.ObjectType)), /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.objectKey") }, /* @__PURE__ */ import_react23.default.createElement(Text2, { code: true }, selectedLog.ObjectKey)), /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.httpMethod") }, /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { color: getHttpMethodColor(selectedLog.HttpMethod) }, selectedLog.HttpMethod)), /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.statusCode") }, selectedLog.StatusCode ? /* @__PURE__ */ import_react23.default.createElement(import_antd23.Tag, { color: selectedLog.StatusCode >= 200 && selectedLog.StatusCode < 300 ? "success" : "error" }, selectedLog.StatusCode) : "-"), selectedLog.ErrorMessage && /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.error") }, /* @__PURE__ */ import_react23.default.createElement(Text2, { type: "danger" }, selectedLog.ErrorMessage)), selectedLog.ResponseBody && /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.responseBody") }, /* @__PURE__ */ import_react23.default.createElement("pre", { style: {
21404
+ maxHeight: 300,
21405
+ overflow: "auto",
21406
+ backgroundColor: token.colorBgLayout,
21407
+ color: token.colorText,
21408
+ padding: 12,
21409
+ borderRadius: token.borderRadius,
21410
+ border: `1px solid ${token.colorBorder}`,
21411
+ fontSize: "0.85em",
21412
+ whiteSpace: "pre-wrap",
21413
+ wordBreak: "break-word"
21414
+ } }, formatJson(selectedLog.ResponseBody))), selectedLog.Payload && /* @__PURE__ */ import_react23.default.createElement(import_antd23.Descriptions.Item, { label: t("triggerLogs.fields.payload") }, /* @__PURE__ */ import_react23.default.createElement("pre", { style: {
21415
+ maxHeight: 400,
21416
+ overflow: "auto",
21417
+ backgroundColor: token.colorBgLayout,
21418
+ color: token.colorText,
21419
+ padding: 12,
21420
+ borderRadius: token.borderRadius,
21421
+ border: `1px solid ${token.colorBorder}`,
21422
+ fontSize: "0.85em",
21423
+ whiteSpace: "pre-wrap",
21424
+ wordBreak: "break-word"
21425
+ } }, formatJson(selectedLog.Payload))))
21426
+ ));
21427
+ };
21428
+
21429
+ // src/pages/mirror-configs/list.tsx
21430
+ var import_react24 = __toESM(require("react"));
21431
+ var import_core32 = require("@refinedev/core");
21432
+ var import_antd24 = require("@refinedev/antd");
21433
+ var import_antd25 = require("antd");
21434
+ var MirrorTypeMappingConfigList = () => {
21435
+ const t = (0, import_core32.useTranslate)();
21436
+ return /* @__PURE__ */ import_react24.default.createElement(
21437
+ SmartList,
21438
+ {
21439
+ searchFields: ["SourceTypeName", "LocalTypeName", "Description"]
21440
+ },
21441
+ /* @__PURE__ */ import_react24.default.createElement(
21442
+ import_antd25.Table.Column,
21443
+ {
21444
+ dataIndex: "SourceTypeName",
21445
+ title: t("mirrorConfigs.fields.sourceTypeName"),
21446
+ sorter: true,
21447
+ render: (value) => /* @__PURE__ */ import_react24.default.createElement("span", { style: { fontFamily: "monospace", fontSize: "0.9em" } }, value),
21448
+ defaultVisible: true
21449
+ }
21450
+ ),
21451
+ /* @__PURE__ */ import_react24.default.createElement(
21452
+ import_antd25.Table.Column,
21453
+ {
21454
+ dataIndex: "LocalTypeName",
21455
+ title: t("mirrorConfigs.fields.localTypeName"),
21456
+ sorter: true,
21457
+ render: (value) => value ? /* @__PURE__ */ import_react24.default.createElement("span", { style: { fontFamily: "monospace", fontSize: "0.9em" } }, value) : "-",
21458
+ defaultVisible: true
21459
+ }
21460
+ ),
21461
+ /* @__PURE__ */ import_react24.default.createElement(
21462
+ import_antd25.Table.Column,
21463
+ {
21464
+ dataIndex: "IsActive",
21465
+ title: t("mirrorConfigs.fields.status"),
21466
+ render: (value) => value ? /* @__PURE__ */ import_react24.default.createElement(import_antd25.Tag, { color: "success" }, t("mirrorConfigs.statusLabels.active")) : /* @__PURE__ */ import_react24.default.createElement(import_antd25.Tag, { color: "default" }, t("mirrorConfigs.statusLabels.inactive")),
21467
+ sorter: true,
21468
+ defaultVisible: true
21469
+ }
21470
+ ),
21471
+ /* @__PURE__ */ import_react24.default.createElement(
21472
+ import_antd25.Table.Column,
21473
+ {
21474
+ dataIndex: "Description",
21475
+ title: t("mirrorConfigs.fields.description"),
21476
+ render: (value) => value || "-"
21477
+ }
21478
+ ),
21479
+ /* @__PURE__ */ import_react24.default.createElement(
21480
+ import_antd25.Table.Column,
21481
+ {
21482
+ title: t("buttons.list"),
21483
+ dataIndex: "actions",
21484
+ render: (_, record) => /* @__PURE__ */ import_react24.default.createElement(import_antd25.Space, null, /* @__PURE__ */ import_react24.default.createElement(import_antd24.EditButton, { hideText: true, size: "small", recordItemId: record.Oid }), /* @__PURE__ */ import_react24.default.createElement(import_antd24.DeleteButton, { hideText: true, size: "small", recordItemId: record.Oid }))
21485
+ }
21486
+ )
21487
+ );
21488
+ };
21489
+
21490
+ // src/pages/mirror-configs/create.tsx
21491
+ var import_react25 = __toESM(require("react"));
21492
+ var import_core33 = require("@refinedev/core");
21493
+ var import_antd26 = require("@refinedev/antd");
21494
+ var import_antd27 = require("antd");
21495
+ var MirrorTypeMappingConfigCreate = () => {
21496
+ const t = (0, import_core33.useTranslate)();
21497
+ const { formProps, saveButtonProps } = (0, import_antd26.useForm)();
21498
+ const { data: modelTypes, isLoading: isLoadingTypes } = useModelTypes();
21499
+ return /* @__PURE__ */ import_react25.default.createElement(import_antd26.Create, { saveButtonProps }, /* @__PURE__ */ import_react25.default.createElement(import_antd27.Form, { ...formProps, layout: "vertical" }, /* @__PURE__ */ import_react25.default.createElement(
21500
+ import_antd27.Form.Item,
21501
+ {
21502
+ label: t("mirrorConfigs.fields.sourceTypeName"),
21503
+ name: "SourceTypeName",
21504
+ rules: [
21505
+ { required: true, message: t("mirrorConfigs.validation.sourceTypeNameRequired") }
21506
+ ],
21507
+ tooltip: t("mirrorConfigs.tooltips.sourceTypeName")
21508
+ },
21509
+ /* @__PURE__ */ import_react25.default.createElement(import_antd27.Input, { placeholder: t("mirrorConfigs.placeholders.sourceTypeName") })
21510
+ ), /* @__PURE__ */ import_react25.default.createElement(
21511
+ import_antd27.Form.Item,
21512
+ {
21513
+ label: t("mirrorConfigs.fields.localTypeName"),
21514
+ name: "LocalTypeName",
21515
+ rules: [
21516
+ { required: true, message: t("mirrorConfigs.validation.localTypeNameRequired") }
21517
+ ],
21518
+ tooltip: t("mirrorConfigs.tooltips.localTypeName")
21519
+ },
21520
+ /* @__PURE__ */ import_react25.default.createElement(
21521
+ import_antd27.Select,
21522
+ {
21523
+ showSearch: true,
21524
+ placeholder: t("mirrorConfigs.tooltips.localTypeName"),
21525
+ loading: isLoadingTypes,
21526
+ notFoundContent: isLoadingTypes ? /* @__PURE__ */ import_react25.default.createElement(import_antd27.Spin, { size: "small" }) : null,
21527
+ filterOption: (input, option) => (option?.label ?? "").toLowerCase().includes(input.toLowerCase()),
21528
+ options: modelTypes?.map((type) => ({
21529
+ label: type.Caption || type.Name,
21530
+ value: type.Name
21531
+ }))
21532
+ }
21533
+ )
21534
+ ), /* @__PURE__ */ import_react25.default.createElement(
21535
+ import_antd27.Form.Item,
21536
+ {
21537
+ label: t("mirrorConfigs.fields.description"),
21538
+ name: "Description"
21539
+ },
21540
+ /* @__PURE__ */ import_react25.default.createElement(
21541
+ import_antd27.Input.TextArea,
21542
+ {
21543
+ rows: 2,
21544
+ placeholder: t("mirrorConfigs.placeholders.description")
21545
+ }
21546
+ )
21547
+ ), /* @__PURE__ */ import_react25.default.createElement(
21548
+ import_antd27.Form.Item,
21549
+ {
21550
+ label: t("mirrorConfigs.fields.isActive"),
21551
+ name: "IsActive",
21552
+ valuePropName: "checked",
21553
+ initialValue: true
21554
+ },
21555
+ /* @__PURE__ */ import_react25.default.createElement(import_antd27.Switch, null)
21556
+ )));
21557
+ };
21558
+
21559
+ // src/pages/mirror-configs/edit.tsx
21560
+ var import_react26 = __toESM(require("react"));
21561
+ var import_core34 = require("@refinedev/core");
21562
+ var import_antd28 = require("@refinedev/antd");
21563
+ var import_antd29 = require("antd");
21564
+ var MirrorTypeMappingConfigEdit = () => {
21565
+ const t = (0, import_core34.useTranslate)();
21566
+ const { formProps, saveButtonProps } = (0, import_antd28.useForm)();
21567
+ const { data: modelTypes, isLoading: isLoadingTypes } = useModelTypes();
21568
+ return /* @__PURE__ */ import_react26.default.createElement(import_antd28.Edit, { saveButtonProps }, /* @__PURE__ */ import_react26.default.createElement(import_antd29.Form, { ...formProps, layout: "vertical" }, /* @__PURE__ */ import_react26.default.createElement(
21569
+ import_antd29.Form.Item,
21570
+ {
21571
+ label: t("mirrorConfigs.fields.sourceTypeName"),
21572
+ name: "SourceTypeName",
21573
+ rules: [
21574
+ { required: true, message: t("mirrorConfigs.validation.sourceTypeNameRequired") }
21575
+ ],
21576
+ tooltip: t("mirrorConfigs.tooltips.sourceTypeName")
21577
+ },
21578
+ /* @__PURE__ */ import_react26.default.createElement(import_antd29.Input, { placeholder: t("mirrorConfigs.placeholders.sourceTypeName") })
21579
+ ), /* @__PURE__ */ import_react26.default.createElement(
21580
+ import_antd29.Form.Item,
21581
+ {
21582
+ label: t("mirrorConfigs.fields.localTypeName"),
21583
+ name: "LocalTypeName",
21584
+ rules: [
21585
+ { required: true, message: t("mirrorConfigs.validation.localTypeNameRequired") }
21586
+ ],
21587
+ tooltip: t("mirrorConfigs.tooltips.localTypeName")
21588
+ },
21589
+ /* @__PURE__ */ import_react26.default.createElement(
21590
+ import_antd29.Select,
21591
+ {
21592
+ showSearch: true,
21593
+ placeholder: t("mirrorConfigs.tooltips.localTypeName"),
21594
+ loading: isLoadingTypes,
21595
+ notFoundContent: isLoadingTypes ? /* @__PURE__ */ import_react26.default.createElement(import_antd29.Spin, { size: "small" }) : null,
21596
+ filterOption: (input, option) => (option?.label ?? "").toLowerCase().includes(input.toLowerCase()),
21597
+ options: modelTypes?.map((type) => ({
21598
+ label: type.Caption || type.Name,
21599
+ value: type.Name
21600
+ }))
21601
+ }
21602
+ )
21603
+ ), /* @__PURE__ */ import_react26.default.createElement(
21604
+ import_antd29.Form.Item,
21605
+ {
21606
+ label: t("mirrorConfigs.fields.description"),
21607
+ name: "Description"
21608
+ },
21609
+ /* @__PURE__ */ import_react26.default.createElement(
21610
+ import_antd29.Input.TextArea,
21611
+ {
21612
+ rows: 2,
21613
+ placeholder: t("mirrorConfigs.placeholders.description")
21614
+ }
21615
+ )
21616
+ ), /* @__PURE__ */ import_react26.default.createElement(
21617
+ import_antd29.Form.Item,
21618
+ {
21619
+ label: t("mirrorConfigs.fields.isActive"),
21620
+ name: "IsActive",
21621
+ valuePropName: "checked"
21622
+ },
21623
+ /* @__PURE__ */ import_react26.default.createElement(import_antd29.Switch, null)
21624
+ )));
21625
+ };
20566
21626
  // Annotate the CommonJS export names for ESM import in node:
20567
21627
  0 && (module.exports = {
20568
21628
  ApplicationUserCreate,
@@ -20576,8 +21636,12 @@ var BackgroundJobList = ({
20576
21636
  DrawioEditor,
20577
21637
  Header,
20578
21638
  HttpError,
21639
+ HttpMethodType,
20579
21640
  KeycloakLoginPage,
20580
21641
  LoginPage,
21642
+ MirrorTypeMappingConfigCreate,
21643
+ MirrorTypeMappingConfigEdit,
21644
+ MirrorTypeMappingConfigList,
20581
21645
  RelatedList,
20582
21646
  RoleCreate,
20583
21647
  RoleEdit,
@@ -20587,6 +21651,11 @@ var BackgroundJobList = ({
20587
21651
  SmartList,
20588
21652
  TOKEN_KEY,
20589
21653
  TiptapEditor,
21654
+ TriggerEventType,
21655
+ TriggerLogList,
21656
+ TriggerRuleCreate,
21657
+ TriggerRuleEdit,
21658
+ TriggerRuleList,
20590
21659
  authProvider,
20591
21660
  authService,
20592
21661
  dataProvider,