@nocobase/plugin-data-source-manager 2.1.0-beta.8 → 2.2.0-alpha.1
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/client-v2.d.ts +2 -0
- package/client-v2.js +1 -0
- package/dist/ai/ai-employees/orin/ignored.d.ts +10 -0
- package/dist/ai/ai-employees/orin/ignored.js +59 -0
- package/dist/ai/ai-employees/orin/skills/data-modeling/SKILLS.md +245 -0
- package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/defineCollections.js +47 -1
- package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/intentRouter.js +1 -1
- package/dist/ai/{tools/data-query → common}/common.js +63 -11
- package/dist/ai/{tools/data-query → common}/utils.d.ts +1 -0
- package/dist/ai/{tools/data-query → common}/utils.js +15 -0
- package/dist/ai/skills/data-metadata/SKILLS.md +108 -0
- package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionMetadata.js +2 -2
- package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionNames.js +2 -2
- package/dist/ai/{tools → skills/data-metadata/tools}/getDataSources.js +2 -2
- package/dist/ai/{tools → skills/data-metadata/tools}/searchFieldMetadata.js +2 -2
- package/dist/ai/skills/data-query/SKILLS.md +245 -0
- package/dist/ai/skills/data-query/tools/dataQuery.js +282 -0
- package/dist/ai/{tools/data-query → skills/data-query/tools}/dataSourceCounting.js +12 -4
- package/dist/ai/skills/data-query/tools/dataSourceQuery.d.ts +10 -0
- package/dist/ai/{tools/data-query → skills/data-query/tools}/dataSourceQuery.js +12 -5
- package/dist/client/271.1374702d84646fff.js +10 -0
- package/dist/client/369.342f1e0231dbe482.js +10 -0
- package/dist/client/397.c8c6659cf3f7ac1c.js +10 -0
- package/dist/client/416.197712b8b93033c5.js +10 -0
- package/dist/client/420.a37695bbfc3bec7a.js +10 -0
- package/dist/client/603.d6022bceb934f5b0.js +10 -0
- package/dist/client/644.b98e4b39058e9c32.js +10 -0
- package/dist/client/936.d5ab7aecb4eb6004.js +10 -0
- package/dist/client/index.js +1 -1
- package/dist/client-v2/167.52e683be46f9cfc7.js +10 -0
- package/dist/client-v2/426.53e3eaee8d9dbca0.js +10 -0
- package/dist/client-v2/907.a0ab273516f45ac3.js +10 -0
- package/dist/client-v2/components/DataSourceForm.d.ts +17 -0
- package/dist/client-v2/field-interfaces/index.d.ts +13 -0
- package/dist/client-v2/index.d.ts +12 -0
- package/dist/client-v2/index.js +10 -0
- package/dist/client-v2/locale.d.ts +12 -0
- package/dist/client-v2/pages/DataSourceCollectionsPage.d.ts +10 -0
- package/dist/client-v2/pages/DataSourcesPage.d.ts +10 -0
- package/dist/client-v2/pages/components/CollectionsPage.d.ts +27 -0
- package/dist/client-v2/pages/components/FieldForm.d.ts +19 -0
- package/dist/client-v2/pages/components/FieldsPage.d.ts +16 -0
- package/dist/client-v2/pages/components/ViewCollectionConfigure.d.ts +27 -0
- package/dist/client-v2/pages/components/collectionFieldApi.d.ts +11 -0
- package/dist/client-v2/pages/components/collectionTemplateFieldInterfaces.d.ts +18 -0
- package/dist/client-v2/pages/permissions/DataSourcePermissionsTab.d.ts +15 -0
- package/dist/client-v2/pages/permissions/PermissionEditors.d.ts +45 -0
- package/dist/client-v2/pages/permissions/ScopeSelect.d.ts +21 -0
- package/dist/client-v2/pages/permissions/permissionRequests.d.ts +33 -0
- package/dist/client-v2/pages/permissions/types.d.ts +55 -0
- package/dist/client-v2/plugin.d.ts +243 -0
- package/dist/client-v2/registries.d.ts +36 -0
- package/dist/client-v2/runtime.d.ts +12 -0
- package/dist/client-v2/utils/compileLegacyTemplate.d.ts +16 -0
- package/dist/client-v2/utils/error.d.ts +11 -0
- package/dist/externalVersion.js +17 -13
- package/dist/locale/en-US.json +275 -3
- package/dist/locale/zh-CN.json +275 -3
- package/dist/node_modules/zod/index.cjs +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/collections/data-sources-collections.js +1 -0
- package/dist/server/collections/data-sources-fields.js +1 -0
- package/dist/server/collections/data-sources-roles-resources-actions.js +1 -0
- package/dist/server/collections/data-sources-roles-resources-scopes.js +1 -0
- package/dist/server/collections/data-sources-roles-resources.js +1 -0
- package/dist/server/collections/data-sources-roles.js +1 -0
- package/dist/server/collections/data-sources.js +1 -0
- package/dist/server/mcp-post-processors.d.ts +24 -0
- package/dist/server/mcp-post-processors.js +158 -0
- package/dist/server/models/data-source.js +3 -13
- package/dist/server/plugin.js +7 -2
- package/dist/server/resourcers/data-sources-collections-fields.d.ts +1 -0
- package/dist/server/resourcers/data-sources-collections-fields.js +19 -0
- package/dist/server/services/external-field-apply.d.ts +23 -0
- package/dist/server/services/external-field-apply.js +208 -0
- package/dist/server/utils.js +11 -3
- package/dist/swagger/index.d.ts +326 -0
- package/dist/swagger/index.js +385 -0
- package/package.json +4 -2
- package/dist/client/1a8cce8035a89dd9.js +0 -10
- package/dist/client/276bcf3de74bebd1.js +0 -10
- package/dist/client/2f7a418e7935984d.js +0 -10
- package/dist/client/689d3bec33ad2ec3.js +0 -10
- package/dist/client/d33eb40009bd7ec6.js +0 -10
- package/dist/client/dbf5ddf434ab29c0.js +0 -10
- package/dist/client/f528b165e77e3608.js +0 -10
- package/dist/client/fdae18574fda07af.js +0 -10
- /package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/defineCollections.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/intentRouter.d.ts +0 -0
- /package/dist/ai/{tools/data-query → common}/common.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionMetadata.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionNames.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/getDataSources.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/searchFieldMetadata.d.ts +0 -0
- /package/dist/ai/{tools/data-query/dataSourceCounting.d.ts → skills/data-query/tools/dataQuery.d.ts} +0 -0
- /package/dist/ai/{tools/data-query/dataSourceQuery.d.ts → skills/data-query/tools/dataSourceCounting.d.ts} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["426"],{649:function(e,t,r){r.r(t),r.d(t,{default:function(){return I}});var n=r(375),a=r(485),o=r(694),l=r(625),u=r(59),i=r(155),c=r.n(i),s=r(143),f=r(938),d=r(872);function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function m(e,t,r,n,a,o,l){try{var u=e[o](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,a)}function y(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){m(o,n,a,l,u,"next",e)}function u(e){m(o,n,a,l,u,"throw",e)}l(void 0)})}}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function g(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return p(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return p(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function S(e){var t=(0,s.kj)(),r=(0,o.useFlowContext)(),n=(0,o.useFlowView)(),l=u.App.useApp(),p=l.message,m=l.notification,S=g(u.Form.useForm(),1)[0],w=g((0,i.useState)(!1),2),E=w[0],k=w[1],A=g((0,i.useState)(!1),2),C=A[0],O=A[1],j=(0,i.useMemo)(function(){return r.api.resource("dataSources")},[r.api]),_=(0,i.useMemo)(function(){return"create"===e.mode?v(b({},e.type.defaultValues),{type:e.type.name,key:(0,o.randomId)("d_")}):e.initialValues||{}},[e.initialValues,e.mode,e.type]),I=e.type.SettingsForm;(0,i.useEffect)(function(){S.setFieldsValue(_)},[S,_]);var x=(0,i.useCallback)(function(e){return y(function(){var t;return h(this,function(r){switch(r.label){case 0:return[4,j.readTables({values:{dataSourceKey:e}})];case 1:return[2,null==(t=r.sent())?void 0:t.data]}})})()},[j]),P=(0,i.useCallback)(function(t){var r,n,a,o=t.collections||[],l=b({},t.options||{});"string"==typeof l.port&&/^\d+$/.test(l.port.trim())&&(l.port=Number(l.port.trim())),(null==(r=l.ssl)?void 0:r.sslMode)==="disable"&&(l.ssl={sslMode:"disable"});var u=v(b({},t),{options:l,collections:o.filter(function(e){return"string"==typeof e||e.selected}).map(function(e){return"string"==typeof e?e:e.name})});return(null==(n=(a=e.type).normalizeValues)?void 0:n.call(a,u))||u},[e.type]),M=(0,i.useCallback)(function(){return y(function(){var e,r,n,a,o;return h(this,function(l){switch(l.label){case 0:O(!0),l.label=1;case 1:return l.trys.push([1,4,5,6]),[4,S.validateFields()];case 2:return e=l.sent(),[4,j.testConnection({values:P(e)})];case 3:if(r=l.sent(),n=(0,d.tK)(r))throw Error(n);return p.success(t("Connection successful")),[3,6];case 4:return a=l.sent(),o=(0,d.u1)(a,t("Connection failed")),(m||u.notification).error({message:t("Test Connection"),description:o}),[3,6];case 5:return O(!1),[7];case 6:return[2]}})})()},[S,p,P,m,j,t]),D=(0,i.useCallback)(function(){return y(function(){var r,a,o,l,i,c;return h(this,function(s){switch(s.label){case 0:return[4,S.validateFields()];case 1:r=P.apply(void 0,[s.sent()]),k(!0),s.label=2;case 2:if(s.trys.push([2,9,10,11]),"create"!==e.mode)return[3,4];return[4,j.create({values:r})];case 3:return o=s.sent(),[3,6];case 4:return[4,j.update({filterByTk:null==(l=e.initialValues)?void 0:l.key,values:r})];case 5:o=s.sent(),s.label=6;case 6:return[4,e.onSubmitted((null==o||null==(a=o.data)?void 0:a.data)||r)];case 7:return s.sent(),[4,n.close()];case 8:return s.sent(),[3,11];case 9:return i=s.sent(),c=(0,d.u1)(i,t("Submit failed")),(m||u.notification).error({message:t("Submit failed"),description:c}),[3,11];case 10:return k(!1),[7];case 11:return[2]}})})()},[S,P,m,e,j,t,n]),T=(0,f.Ad)(e.type.label||e.type.name,t),F="".concat("create"===e.mode?t("Add new"):t("Edit")," - ").concat(T);return c().createElement(a.DrawerFormLayout,{title:F,onSubmit:D,submitting:E,submitText:t("Submit"),cancelText:t("Cancel"),footer:c().createElement(u.Space,null,e.type.disableTestConnection?null:c().createElement(u.Button,{loading:C,onClick:M},t("Test Connection")),c().createElement(u.Button,{onClick:function(){return n.close()}},t("Cancel")),c().createElement(u.Button,{type:"primary",loading:E,onClick:D},t("Submit")))},c().createElement(u.Form,{form:S,layout:"vertical",initialValues:_},c().createElement(u.Form.Item,{name:"type",hidden:!0},c().createElement(u.Input,null)),c().createElement(u.Form.Item,{name:"key",label:t("Data source name"),rules:[{required:!0,message:t("Data source name")},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")}],extra:t("Randomly generated and can be modified. Support letters, numbers and underscores, must start with an letter.")},c().createElement(u.Input,{disabled:"edit"===e.mode})),c().createElement(u.Form.Item,{name:"displayName",label:t("Data source display name"),rules:[{required:!0,message:t("Data source display name")}]},c().createElement(u.Input,null)),I?c().createElement(I,{mode:e.mode,type:e.type,initialValues:_,loadCollections:x}):null))}var w=r(832),E=r(448);function k(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function A(e,t,r,n,a,o,l){try{var u=e[o](l),i=u.value}catch(e){r(e);return}u.done?t(i):Promise.resolve(i).then(n,a)}function C(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var o=e.apply(t,r);function l(e){A(o,n,a,l,u,"next",e)}function u(e){A(o,n,a,l,u,"throw",e)}l(void 0)})}}function O(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,a=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=a){var o=[],l=!0,u=!1;try{for(a=a.call(e);!(l=(r=a.next()).done)&&(o.push(r.value),!t||o.length!==t);l=!0);}catch(e){u=!0,n=e}finally{try{l||null==a.return||a.return()}finally{if(u)throw n}}return o}}(e,t)||j(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function j(e,t){if(e){if("string"==typeof e)return k(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return k(e,t)}}function _(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var c=[u,i];if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&c[0]?n.return:c[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,c[1])).done)return a;switch(n=0,a&&(c=[2&c[0],a.value]),c[0]){case 0:case 1:a=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!a||c[1]>a[0]&&c[1]<a[3])){o.label=c[1];break}if(6===c[0]&&o.label<a[1]){o.label=a[1],a=c;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(c);break}a[2]&&o.ops.pop(),o.trys.pop();continue}c=t.call(e,o)}catch(e){c=[6,e],n=0}finally{r=a=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function I(){var e,t,r=(0,s.kj)(),d=(0,o.useFlowContext)(),p=u.App.useApp().modal,m=d.app.pm.get(w.v),y=(0,i.useMemo)(function(){return d.api.resource("dataSources")},[d.api]),b=(0,i.useMemo)(function(){var e;return function(e){if(Array.isArray(e))return k(e)}(e=m.types.values())||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||j(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()},[m]),v=O((0,i.useState)(1),2),g=v[0],h=v[1],A=O((0,i.useState)(a.DEFAULT_PAGE_SIZE),2),I=A[0],x=A[1],P=O((0,i.useState)([]),2),M=P[0],D=P[1],T=(0,l.useRequest)(function(){return C(function(){var e;return _(this,function(t){switch(t.label){case 0:return[4,y.list({page:g,pageSize:I,appends:[]})];case 1:var r,n,a,o,l;return e={records:o=Array.isArray(a=null==(n=null==(r=t.sent())?void 0:r.data)?void 0:n.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[],total:(l=(null==n?void 0:n.meta)||(null==a?void 0:a.meta)||{}).count||l.total||o.length},(0,E.b)(d.dataSourceManager,e.records),[2,e]}})})()},{refreshDeps:[g,I]}),F=(0,i.useMemo)(function(){var e;return(null==(e=T.data)?void 0:e.records)||[]},[null==(e=T.data)?void 0:e.records]),V=(0,i.useCallback)(function(e,t,r){var n=m.getType(t);n&&d.viewer.drawer({width:650,closable:!0,content:function(){return c().createElement(S,{mode:e,type:n,initialValues:r,onSubmitted:function(e){e&&(0,E.b)(d.dataSourceManager,[e]),T.refresh()}})}})},[d.dataSourceManager,d.viewer,m,T]),R=(0,i.useCallback)(function(e){var t=d.app.pluginSettingsManager.getRoutePath("".concat(s.Ji,".:name/collections")).replace(":name",encodeURIComponent(e.key));d.router.navigate(t)},[d.app.pluginSettingsManager,d.router]),B=(0,i.useCallback)(function(){return C(function(){return _(this,function(e){switch(e.label){case 0:return[4,Promise.all(F.filter(function(e){return"loaded"!==e.status}).map(function(e){return e.key}).map(function(e){var t;return null==(t=d.dataSourceManager.getDataSource(e))?void 0:t.reload()}))];case 1:return e.sent(),T.refresh(),[2]}})})()},[d.dataSourceManager,F,T]),z=(0,i.useCallback)(function(e){var t=Array.isArray(e)?e:[e];p.confirm({title:r("Delete"),content:r("Are you sure you want to delete it?"),onOk:function(){return C(function(){return _(this,function(r){switch(r.label){case 0:return[4,y.destroy({filterByTk:e})];case 1:return r.sent(),(0,E.h)(d.dataSourceManager,t),D([]),T.refresh(),[2]}})})()}})},[d.dataSourceManager,p,T,y,r]),N=(0,i.useMemo)(function(){return[{title:r("Data source name"),dataIndex:"key",ellipsis:!0},{title:r("Data source display name"),dataIndex:"displayName",ellipsis:!0,render:function(e){return(0,f.hd)(e,r)}},{title:r("Type"),dataIndex:"type",render:function(e){var t;return"main"===e?r("Main"):(0,f.hd)((null==(t=m.getType(e))?void 0:t.label)||e||"-",r)}},{title:r("Status"),dataIndex:"status",render:function(e){var t;return t=({loading:{color:"orange",label:r("Loading")},"loading-failed":{color:"red",label:r("Failed")},loaded:{color:"green",label:r("Loaded")},reloading:{color:"orange",label:r("Reloading")}})[e||""]||{color:"default",label:e||"-"},c().createElement(u.Tag,{color:t.color},t.label)}},{title:r("Enabled"),dataIndex:"enabled",render:function(e){return c().createElement(u.Switch,{checked:e,disabled:!0,size:"small"})}},{title:r("Actions"),width:260,render:function(e,t){return c().createElement(u.Space,{size:12,wrap:!0},c().createElement("a",{onClick:function(){return R(t)}},r("Configure")),"main"!==t.key?c().createElement("a",{onClick:function(){return V("edit",t.type||"",t)}},r("Edit")):null,"main"!==t.key?c().createElement("a",{onClick:function(){return z(t.key)}},r("Delete")):null)}}]},[z,R,V,m,r]),G=(0,i.useMemo)(function(){return b.length?b.map(function(e){return{key:e.name||"",label:(0,f.hd)(e.label||e.name,r)}}):[{key:"__empty__",label:c().createElement(u.Empty,{image:u.Empty.PRESENTED_IMAGE_SIMPLE,description:c().createElement("span",null,r("No external data source plugin installed"),c().createElement("br",null),c().createElement("a",{target:"_blank",rel:"noreferrer",href:"zh-CN"===d.api.auth.locale?"https://docs-cn.nocobase.com/handbook/data-source-manager":"https://docs.nocobase.com/handbook/data-source-manager"},r("View documentation")))})}]},[d.api.auth.locale,b,r]);return c().createElement(u.Card,{variant:"borderless"},c().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},c().createElement(u.Space,null,c().createElement(u.Button,{icon:c().createElement(n.ReloadOutlined,null),onClick:B},r("Refresh")),c().createElement(u.Button,{icon:c().createElement(n.DeleteOutlined,null),disabled:!M.length,onClick:function(){return z(M)}},r("Delete")),c().createElement(u.Dropdown,{menu:{items:G,onClick:function(e){var t=e.key;"__empty__"!==t&&V("create",t)}}},c().createElement(u.Button,{type:"primary",icon:c().createElement(n.PlusOutlined,null)},r("Add new")," ",c().createElement(n.DownOutlined,null))))),c().createElement(a.Table,{rowKey:"key",loading:T.loading,dataSource:F,columns:N,rowSelection:{selectedRowKeys:M,getCheckboxProps:function(e){return{disabled:"main"===e.key}},onChange:D},pagination:{current:g,pageSize:I,total:null==(t=T.data)?void 0:t.total,onChange:function(e,t){if(t!==I){x(t),h(1);return}h(e)}}}))}},872:function(e,t,r){function n(e){return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e}function a(e,t){var r=e,a=!0,o=!1,l=void 0;try{for(var u,i=t[Symbol.iterator]();!(a=(u=i.next()).done);a=!0){var c=u.value;if(!n(r))return;r=r[c]}}catch(e){o=!0,l=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw l}}return n(r)?r:void 0}function o(e,t){var r=e,a=!0,o=!1,l=void 0;try{for(var u,i=t[Symbol.iterator]();!(a=(u=i.next()).done);a=!0){var c=u.value;if(!n(r))return;r=r[c]}}catch(e){o=!0,l=e}finally{try{a||null==i.return||i.return()}finally{if(o)throw l}}return r}function l(e){return"string"==typeof e&&e?e:void 0}function u(e){if(Array.isArray(e))return e.map(function(e){return n(e)?e.message:e}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function i(e){if(Array.isArray(e))return e.map(function(e){return e.message}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function c(e){return Array.isArray(o(e,["errorFields"]))}function s(e,t){if("string"==typeof e)return e;var r,n=a(e,["response","data"]);return l(o(e,["errorFields","0","errors","0"]))||i(null==n?void 0:n.errors)||u(null==n?void 0:n.messages)||l(null==n||null==(r=n.error)?void 0:r.message)||l(null==n?void 0:n.message)||l(o(e,["message"]))||t}function f(e){var t,r=a(e,["data"]);return i(null==r?void 0:r.errors)||u(null==r?void 0:r.messages)||l(null==r||null==(t=r.error)?void 0:t.message)||l(null==r?void 0:r.message)}r.d(t,{GN:function(){return c},tK:function(){return f},u1:function(){return s}})}}]);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["907"],{390:function(e,t,n){n.r(t),n.d(t,{default:function(){return eS}});var r=n(477),o=n(485),a=n(694),l=n(625),i=n(59),u=n(155),c=n.n(u),s=n(938);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d(e,t,n[t])})}return e}function p(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||h(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function b(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||h(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){if(e){if("string"==typeof e)return f(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return f(e,t)}}function g(){var e=v(["\n display: grid;\n grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);\n column-gap: ","px;\n align-items: center;\n white-space: nowrap;\n\n .ant-checkbox-wrapper {\n grid-column: 2;\n }\n\n .nb-field-permission-title {\n grid-column: 3;\n }\n "]);return g=function(){return e},e}function w(){var e=v(["\n display: flex;\n justify-content: center;\n align-items: center;\n "]);return w=function(){return e},e}function S(e){return Object.entries(e).map(function(e){var t=y(e,2),n=t[0],r=t[1];return"all"===r?n:"".concat(n,":").concat(r)})}function O(e){return!!(e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Object.keys(e).length)}function x(e,t){return t?c().createElement(i.Tag,{color:"green"},e("Action on new records")):c().createElement(i.Tag,{color:"geekblue"},e("Action on existing records"))}function E(e){var t=i.theme.useToken().token,n=e.value,r=e.onChange,a=e.availableActions,l=e.t,f=(0,u.useMemo)(function(){var e,t;return t={},null==n||null==(e=n.forEach)||e.call(n,function(e){var n=y(e.split(":"),2),r=n[0],o=n[1];r&&(t[r]=o||"all")}),t},[n]),v=(0,u.useMemo)(function(){return a.map(function(e){return p(m({},e),{enabled:!!f[e.name],scope:f[e.name]||"all"})})},[a,f]),b=(0,u.useMemo)(function(){return[{title:l("Action display name"),dataIndex:"displayName",width:4*t.sizeXXL,render:function(e){return(0,s.hd)(e,l)}},{title:l("Action type"),dataIndex:"onNewRecord",width:4*t.sizeXXL,render:function(e){return x(l,e)}},{title:l("Allow"),dataIndex:"enabled",align:"center",width:2*t.sizeXXL,render:function(e,t){return c().createElement(i.Checkbox,{checked:e,onChange:function(){var n=m({},f);e?delete n[t.name]:n[t.name]="all",null==r||r(S(n))}})}},{title:l("Data scope"),dataIndex:"scope",width:4*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:c().createElement(i.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:l("All records"),value:"all"},{label:l("Own records"),value:"own"}],onChange:function(e){var n=p(m({},f),d({},t.name,e));null==r||r(S(n))}})}}]},[r,f,l,t.sizeXXL]);return c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:v,columns:b,scroll:{x:"max-content"}})}function j(e){var t=i.theme.useToken().token,n=e.value,a=e.onChange,f=e.availableActions,y=e.collectionFields,v=e.renderScopeSelect,h=e.t,S=(0,u.useMemo)(function(){return(0,r.css)(g(),t.marginXXS)},[t.marginXXS]),E=(0,u.useMemo)(function(){return(0,r.css)(w())},[]),j=(0,u.useMemo)(function(){var e,t;return t={},null==n||null==(e=n.forEach)||e.call(n,function(e){if(null==e?void 0:e.name){var n=O(e.scope)?void 0:e.scope,r=null!=n?n:null==e.scopeId?void 0:{id:e.scopeId};t[e.name]=p(m({},e),{scope:r})}}),t},[n]),C=(0,u.useMemo)(function(){return f.filter(function(e){return e.allowConfigureFields})},[f]),k=(0,l.useMemoizedFn)(function(e){null==a||a(Object.values(e).map(function(e){return p(m({},e),{scope:O(e.scope)?null:e.scope})}))}),A=(0,l.useMemoizedFn)(function(e){var t=m({},j);t[e]?delete t[e]:t[e]={name:e,fields:y.map(function(e){return e.name})},k(t)}),P=(0,l.useMemoizedFn)(function(e,t){var n,r,o,a;k((n=j,r=e,o=t,a=y,p(m({},n),d({},r,p(m({},n[r]||{name:r,fields:a.map(function(e){return e.name})}),{scope:o})))))}),z=(0,u.useMemo)(function(){return f.map(function(e){var t,n;return p(m({},e),{enabled:!!j[e.name],scope:null!=(t=null==(n=j[e.name])?void 0:n.scope)?t:null})})},[j,f]),M=(0,u.useMemo)(function(){return y.map(function(e){var t=m({},e);return C.forEach(function(n){var r,o;t[n.name]=!!(null==(o=j[n.name])||null==(r=o.fields)?void 0:r.includes(e.name))}),t})},[j,C,y]),X=(0,u.useMemo)(function(){return[{title:h("Action display name"),dataIndex:"displayName",width:4*t.sizeXXL,render:function(e){return(0,s.hd)(e,h)}},{title:h("Action type"),dataIndex:"onNewRecord",width:4*t.sizeXXL,render:function(e){return x(h,e)}},{title:h("Allow"),dataIndex:"enabled",align:"center",width:2*t.sizeXXL,render:function(e,t){return c().createElement(i.Checkbox,{checked:e,onChange:function(){return A(t.name)}})}},{title:h("Data scope"),dataIndex:"scope",width:5*t.sizeXXL,render:function(e,t){return t.onNewRecord?null:v({value:e,onChange:function(e){return P(t.name,e)},action:t})}}]},[v,P,h,A,t.sizeXXL]),I=(0,u.useMemo)(function(){return[{title:h("Field display name"),dataIndex:["uiSchema","title"],width:4*t.sizeXXL,render:function(e,t){return(0,s.hd)(e,h)||t.name}}].concat(b(C.map(function(e){var n,r,o=y.length>0&&y.length===(null==(r=j[e.name])||null==(n=r.fields)?void 0:n.length);return{title:c().createElement("span",{className:S},c().createElement(i.Checkbox,{checked:o,onChange:function(){var t=m({},j),n=t[e.name]||{name:e.name};n.fields=o?[]:y.map(function(e){return e.name}),t[e.name]=n,k(t)}}),c().createElement("span",{className:"nb-field-permission-title"},(0,s.hd)(e.displayName,h))),dataIndex:e.name,align:"center",width:3*t.sizeXXL,render:function(t,n){return c().createElement("span",{className:E},c().createElement(i.Checkbox,{checked:t,onChange:function(){var r=m({},j),o=r[e.name]||{name:e.name},a=b(o.fields||[]);t?o.fields=a.filter(function(e){return e!==n.name}):o.fields=Array.from(new Set(b(a).concat([n.name]))),r[e.name]=o,k(r)}}))}}})))},[j,C,y,k,E,S,h,t.sizeXXL]);return c().createElement(c().Fragment,null,c().createElement(i.Form.Item,{label:h("Action permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:z,columns:X,scroll:{x:"max-content"}})),c().createElement(i.Form.Item,{label:h("Field permission")},c().createElement(o.Table,{rowKey:"name",size:"small",pagination:!1,dataSource:M,columns:I})))}function C(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function k(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){C(a,r,o,l,i,"next",e)}function i(e){C(a,r,o,l,i,"throw",e)}l(void 0)})}}function A(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function P(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function z(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var M=n(375);function X(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function I(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function F(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){I(a,r,o,l,i,"next",e)}function i(e){I(a,r,o,l,i,"throw",e)}l(void 0)})}}function R(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return X(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return X(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function N(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function D(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function L(){var e=T(["\n height: 100%;\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n "]);return L=function(){return e},e}function K(){var e=T(["\n flex: 0 0 auto;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return K=function(){return e},e}function _(){var e=T(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return _=function(){return e},e}function $(e){if(e&&(void 0===e?"undefined":N(e))==="object"){var t;return null!=(t=e.id)?t:e.key}return e}function B(e){var t,n,r=(0,a.useFlowContext)(),l=R(i.Form.useForm(),1)[0],s=(0,u.useRef)(null),f=(0,u.useMemo)(function(){return r.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[r.api,e.dataSourceKey]);return c().createElement(o.DrawerFormLayout,{title:(null==(t=e.initialValues)?void 0:t.id)!=null?e.t("Edit record"):e.t("Add record"),onSubmit:function(){return F(function(){var t,n,r;return D(this,function(o){switch(o.label){case 0:return[4,l.validateFields()];case 1:var a;return r=o.sent(),[4,(a={id:null==(t=e.initialValues)?void 0:t.id,resourceName:e.resourceName,values:r,scope:null==(n=s.current)?void 0:n.getFilter()},k(function(){var e;return z(this,function(t){switch(t.label){case 0:if(e=P(A({},a.values),{resourceName:a.resourceName,scope:a.scope}),null==a.id)return[3,2];return[4,f.update({filterByTk:a.id,values:e})];case 1:case 3:return t.sent(),[2];case 2:return[4,f.create({values:e})]}})})())];case 2:return o.sent(),e.onSubmitted(),[2]}})})()},submitText:e.t("Submit"),cancelText:e.t("Cancel")},c().createElement(i.Form,{form:l,layout:"vertical",initialValues:e.initialValues},c().createElement(i.Form.Item,{name:"name",label:e.t("Scope name"),rules:[{required:!0,message:e.t("The field value is required")}]},c().createElement(i.Input,null)),c().createElement(i.Form.Item,{label:e.t("Data scope")},c().createElement(o.CollectionFilterPanel,{ref:s,collection:e.collection,initialValue:null==(n=e.initialValues)?void 0:n.scope,t:e.t,noIgnore:!0}))))}function q(e){var t,n,f,d,m,p,y,v=i.theme.useToken().token,b=(0,a.useFlowContext)(),h=i.App.useApp().modal,g=R((0,u.useState)($(e.value)),2),w=g[0],S=g[1],O=R((0,u.useState)(1),2),x=O[0],E=O[1],j=R((0,u.useState)(20),2),C=j[0],A=j[1],P=(0,u.useMemo)(function(){return b.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[b.api,e.dataSourceKey]),X=(0,l.useRequest)(function(){return F(function(){return D(this,function(t){switch(t.label){case 0:return[4,P.list({page:x,pageSize:C,fields:["id","key","name","resourceName","scope"],filter:{$or:[{resourceName:e.resourceName},{resourceName:null}]}})];case 1:var n,r,o,a,l,i;return[2,{rows:i=Array.isArray(l=null==(n=t.sent())||null==(r=n.data)?void 0:r.data)?l:(null==l?void 0:l.data)||(null==l?void 0:l.rows)||[],total:(null==l?void 0:l.count)||(null==l?void 0:l.total)||(null==n||null==(a=n.data)||null==(o=a.meta)?void 0:o.count)||i.length,page:null==l?void 0:l.page,pageSize:null==l?void 0:l.pageSize}]}})})()},{refreshDeps:[e.dataSourceKey,e.resourceName,x,C]}),I=(null==(d=X.data)?void 0:d.rows)||[],T=I.find(function(e){return String($(e))===String(w)})||(e.value&&"object"===N(e.value)&&String($(e.value))===String(w)?e.value:void 0),q=(t=i.theme.useToken().token,n=(0,u.useMemo)(function(){return(0,r.css)(L())},[]),f=(0,u.useMemo)(function(){return(0,r.css)(K(),t.marginSM,t.marginSM)},[t.marginSM]),{contentClassName:n,tableClassName:(0,u.useMemo)(function(){return(0,r.css)(_())},[]),toolbarClassName:f}),V=q.contentClassName,G=q.tableClassName,U=q.toolbarClassName,W=(0,l.useMemoizedFn)(function(t){b.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(B,{collection:e.collection,dataSourceKey:e.dataSourceKey,resourceName:e.resourceName,initialValues:t,t:e.t,onSubmitted:function(){X.refresh()}})}})}),H=(0,l.useMemoizedFn)(function(t){h.confirm({title:e.t("Delete record"),content:e.t("Are you sure you want to delete it?"),onOk:function(){return F(function(){return D(this,function(e){switch(e.label){case 0:var n;return[4,(n=t.id,k(function(){return z(this,function(e){switch(e.label){case 0:return[4,P.destroy({filterByTk:n})];case 1:return e.sent(),[2]}})})())];case 1:return e.sent(),X.refresh(),[2]}})})()}})}),J=(0,u.useMemo)(function(){return[{title:e.t("Scope name"),dataIndex:"name",width:5*v.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:e.t("Actions"),width:4*v.sizeXXL,render:function(t,n){var r=(null==n?void 0:n.key)==="all"||(null==n?void 0:n.key)==="own";return c().createElement(i.Space,{size:v.marginXXS},c().createElement(i.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||W(n)}},e.t("Edit")),c().createElement(i.Button,{type:"link",size:"small",disabled:r,onClick:function(){r||H(n)}},e.t("Delete")))}}]},[H,W,e,v.marginXXS,v.sizeXXL]),Q=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=X.data)?void 0:n.page)?e:x,pageSize:null!=(t=null==(r=X.data)?void 0:r.pageSize)?t:C,total:null==(o=X.data)?void 0:o.total,onChange:function(e,t){E(e),A(t)}}},[x,C,null==(m=X.data)?void 0:m.page,null==(p=X.data)?void 0:p.pageSize,null==(y=X.data)?void 0:y.total]);return c().createElement(o.DrawerFormLayout,{title:e.t("Select record"),submitText:e.t("Submit"),cancelText:e.t("Cancel"),onSubmit:function(){return F(function(){var t;return D(this,function(n){return null==(t=e.onChange)||t.call(e,T||null),e.onClose(),[2]})})()},footer:c().createElement(i.Space,null,c().createElement(i.Button,{onClick:e.onClose},e.t("Cancel")),c().createElement(i.Button,{type:"primary",onClick:function(){var t;null==(t=e.onChange)||t.call(e,T||null),e.onClose()}},e.t("Submit")))},c().createElement("div",{className:V},c().createElement("div",{className:U},c().createElement(i.Button,{type:"primary",icon:c().createElement(M.PlusOutlined,null),onClick:function(){return W()}},e.t("Add new"))),c().createElement(o.Table,{rowKey:"id",showIndex:!1,loading:X.loading,dataSource:I,columns:J,pagination:Q,scroll:{x:"max-content",y:"100%"},className:G,rowSelection:{type:"radio",selectedRowKeys:null==w?[]:[w],onChange:function(e){return S(e[0])}}})))}function V(e){var t,n=i.theme.useToken().token,r=(0,a.useFlowContext)(),o=(t=e.value)&&(void 0===t?"undefined":N(t))==="object"?t:void 0,f=$(e.value),d=(0,u.useMemo)(function(){return r.api.resource("dataSources/".concat(e.dataSourceKey,"/rolesResourcesScopes"))},[r.api,e.dataSourceKey]),m=(0,l.useRequest)(function(){return F(function(){var e,t;return D(this,function(n){switch(n.label){case 0:if(null==f||(null==o?void 0:o.name))return[2,o];return[4,d.get({filterByTk:f})];case 1:return[2,null==(t=n.sent())||null==(e=t.data)?void 0:e.data]}})})()},{refreshDeps:[f,e.dataSourceKey],ready:null!=f}),p=(null==o?void 0:o.name)?o:m.data,y=(null==p?void 0:p.name)?(0,s.Ad)(p.name,e.t,""):void 0,v=null==f?void 0:{label:y||String(f),value:String(f)},b=(0,l.useMemoizedFn)(function(){r.viewer.drawer({width:"50%",closable:!0,styles:{body:{display:"flex",flexDirection:"column",overflow:"hidden"}},content:function(t){var n,r,o=t.close;return c().createElement(q,(n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},e),r=r={value:p||e.value,onClose:o},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n))}})});return c().createElement(i.Tooltip,{title:y},c().createElement(i.Select,{size:"small",value:v,labelInValue:!0,popupMatchSelectWidth:!1,open:!1,placeholder:e.t("Select record"),options:v?[v]:[],allowClear:!0,showSearch:!1,style:{minWidth:5*n.sizeXXL},onClick:b,onClear:function(){var t;null==(t=e.onChange)||t.call(e,null)}}))}var G=n(143),U=n(832);function W(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function H(e,t,n,r,o,a,l){try{var i=e[a](l),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,o)}function J(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function l(e){H(a,r,o,l,i,"next",e)}function i(e){H(a,r,o,l,i,"throw",e)}l(void 0)})}}function Q(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function Y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],l=!0,i=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);l=!0);}catch(e){i=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(i)throw r}}return a}}(e,t)||ee(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ee(e,t){if(e){if("string"==typeof e)return W(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return W(e,t)}}function et(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(l,"next",{value:u(0)}),i(l,"throw",{value:u(1)}),i(l,"return",{value:u(2)}),"function"==typeof Symbol&&i(l,Symbol.iterator,{value:function(){return this}}),l;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function en(){var e=Z(["\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n\n .ant-spin-nested-loading,\n .ant-spin-container,\n .ant-table,\n .ant-table-container {\n min-height: 0;\n flex: 1;\n display: flex;\n flex-direction: column;\n }\n\n .ant-table-content,\n .ant-table-body {\n flex: 1;\n min-height: 0;\n }\n\n .ant-table-thead > tr > th {\n white-space: nowrap;\n }\n\n .ant-pagination {\n flex: 0 0 auto;\n }\n "]);return en=function(){return e},e}function er(){var e=Z(["\n width: 100%;\n "]);return er=function(){return e},e}function eo(){var e=Z(["\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n "]);return eo=function(){return e},e}function ea(){var e=Z(["\n flex: 0 0 auto;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n gap: ","px;\n flex-wrap: wrap;\n margin-bottom: ","px;\n "]);return ea=function(){return e},e}function el(){var e=Z(["\n width: 100%;\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: ","px;\n "]);return el=function(){return e},e}var ei="dataSourcePermissionCollectionsFilter",eu={name:ei,fields:[{type:"string",name:"title",interface:"input",uiSchema:{title:'{{t("Collection display name")}}',type:"string"}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Collection name")}}',type:"string"}}]};function ec(e){var t,n,r,o,a,l=null==e||null==(t=e.data)?void 0:t.data;return Array.isArray(l)?{records:l,total:(null==e||null==(a=e.data)||null==(o=a.meta)?void 0:o.count)||l.length}:{records:(null==l?void 0:l.rows)||(null==l?void 0:l.data)||[],total:(null==l?void 0:l.count)||(null==l?void 0:l.total)||(null==e||null==(r=e.data)||null==(n=r.meta)?void 0:n.count)||0,page:null==l?void 0:l.page,pageSize:null==l?void 0:l.pageSize}}function es(){return(0,u.useMemo)(function(){return(0,r.css)(en())},[])}function ef(e){var t;return null==e||null==(t=e.data)?void 0:t.data}function ed(e){return!!e&&(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&!Array.isArray(e)}function em(e){return String(null!=e?e:"").toLowerCase()}function ep(e,t,n){var r=em(n);if(!r)return!0;switch(t){case"$eq":return e.some(function(e){return e===r});case"$ne":return e.every(function(e){return e!==r});case"$notIncludes":return e.every(function(e){return!e.includes(r)});default:return e.some(function(e){return e.includes(r)})}}function ey(e,t){if(!ed(t))return ep(e,"$includes",t);var n=Object.entries(t).filter(function(e){return Y(e,1)[0].startsWith("$")});return!n.length||n.every(function(t){var n=Y(t,2);return ep(e,n[0],n[1])})}function ev(e){var t,n,o=(0,a.useFlowContext)(),s=i.App.useApp().message,f=Y((0,u.useState)([]),2),d=f[0],m=f[1],p=(0,u.useMemo)(function(){return o.api.resource("dataSources/".concat(e.dataSource.key,"/roles"))},[o.api,e.dataSource.key]),y=(0,l.useRequest)(function(){return J(function(){var t,n,r,o;return et(this,function(a){switch(a.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,[]];return[4,p.get({filterByTk:e.activeRole.name})];case 1:return m(o=(null==(r=ef(a.sent()))||null==(n=r.strategy)?void 0:n.actions)||[]),[2,o]}})})()},{refreshDeps:[null==(t=e.activeRole)?void 0:t.name,e.dataSource.key],ready:!!(null==(n=e.activeRole)?void 0:n.name)}),v=(0,l.useMemoizedFn)(function(t){return J(function(){var n,r;return et(this,function(o){var a,l;switch(o.label){case 0:if(!(null==(n=e.activeRole)?void 0:n.name))return[2];m(t),o.label=1;case 1:return o.trys.push([1,3,,4]),[4,(a=e.activeRole.name,k(function(){return z(this,function(e){switch(e.label){case 0:return[4,p.update({filterByTk:a,values:{strategy:{actions:t}}})];case 1:return e.sent(),[2]}})})())];case 2:return o.sent(),s.success(e.t("Saved successfully")),[3,4];case 3:return r=o.sent(),s.error((null!=(l=Error)&&"u">typeof Symbol&&l[Symbol.hasInstance]?!!l[Symbol.hasInstance](r):r instanceof l)?r.message:e.t("Save failed")),y.refresh(),[3,4];case 4:return[2]}})})()});return c().createElement("div",{className:(0,r.css)(er())},c().createElement(E,{value:d,onChange:v,availableActions:e.availableActions,t:e.t}))}function eb(e){var t,n,r,s,f,d,m=(0,a.useFlowContext)(),p=i.App.useApp().message,y=Y(i.Form.useForm(),1)[0],v=i.Form.useWatch("usingActionsConfig",y),b=(t=e.dataSource.key,n=e.collection.name,null==(r=m.dataSourceManager.getDataSource(t))?void 0:r.getCollection(n)),h=(0,u.useMemo)(function(){var t;return m.api.resource("roles.dataSourceResources",null==(t=e.activeRole)?void 0:t.name)},[m.api,null==(s=e.activeRole)?void 0:s.name]),g=(0,l.useRequest)(function(){return J(function(){var t,n,r;return et(this,function(o){switch(o.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,void 0];if(!e.collection.exists)return n={usingActionsConfig:!1,actions:[]},y.setFieldsValue(n),[2,n];return[4,h.get({filter:{dataSourceKey:e.dataSource.key,name:e.collection.name},appends:["actions","actions.scope"]})];case 1:return r=ef(o.sent())||{usingActionsConfig:"resourceAction"===e.collection.usingConfig,actions:[]},y.setFieldsValue(r),[2,r]}})})()},{refreshDeps:[null==(f=e.activeRole)?void 0:f.name,e.collection.name,e.dataSource.key],ready:!!(null==(d=e.activeRole)?void 0:d.name)});return c().createElement(o.DrawerFormLayout,{title:e.t("Configure permission"),onSubmit:function(){return J(function(){var t,n;return et(this,function(r){switch(r.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))throw Error("Role is required");return[4,y.validateFields()];case 1:var o,a;return n=r.sent(),[4,(o=e.collection,a=e.dataSource.key,k(function(){var e;return z(this,function(t){switch(t.label){case 0:if(e=P(A({},n),{name:o.name,dataSourceKey:a}),!o.exists)return[3,2];return[4,h.update({filter:{dataSourceKey:a,name:o.name},values:e})];case 1:case 3:return t.sent(),[2];case 2:return[4,h.create({values:e})]}})})())];case 2:return r.sent(),p.success(e.t("Saved successfully")),e.onSubmitted(),[2]}})})()},submitting:g.loading,submitText:e.t("Submit"),cancelText:e.t("Cancel")},c().createElement(i.Form,{form:y,layout:"vertical",initialValues:{usingActionsConfig:!1,actions:[]}},c().createElement(i.Form.Item,{name:"usingActionsConfig",label:e.t("Permission policy")},c().createElement(i.Radio.Group,{options:[{value:!1,label:e.t("General")},{value:!0,label:e.t("Individual")}]})),v?c().createElement(i.Form.Item,{name:"actions",noStyle:!0},c().createElement(j,{availableActions:e.availableActions,collectionFields:e.collection.fields||[],t:e.t,renderScopeSelect:function(t){var n=t.value,r=t.onChange;return c().createElement(V,{value:n,onChange:r,collection:b,dataSourceKey:e.dataSource.key,resourceName:e.collection.name,t:e.t})}})):null))}function eh(e){var t,n,f,d,m=i.theme.useToken().token,p=(0,a.useFlowContext)(),y=(0,a.useFlowEngine)(),v=es(),b=Y((0,u.useState)(1),2),h=b[0],g=b[1],w=Y((0,u.useState)(20),2),S=w[0],O=w[1],x=Y((0,u.useState)(),2),E=x[0],j=x[1],C=null==(t=p.dataSourceManager.getDataSource("main"))?void 0:t.getCollection(ei),k=(0,u.useMemo)(function(){var t;return p.api.resource("roles.dataSourcesCollections",null==(t=e.activeRole)?void 0:t.name)},[p.api,null==(n=e.activeRole)?void 0:n.name]),A=(0,l.useMemoizedFn)(function(e,t){return y.context.t(e,Q({ns:["client",G.CU]},t))}),P=(0,l.useRequest)(function(){return J(function(){var t;return et(this,function(n){switch(n.label){case 0:if(!(null==(t=e.activeRole)?void 0:t.name))return[2,{records:[],total:0}];return[4,k.list({page:1,pageSize:20,filter:{dataSourceKey:e.dataSource.key},sort:["sort"],appends:["fields"]})];case 1:return[2,ec(n.sent())]}})})()},{refreshDeps:[null==(f=e.activeRole)?void 0:f.name,e.dataSource.key]}),z=(0,u.useMemo)(function(){var t;return((null==(t=P.data)?void 0:t.records)||[]).filter(function(t){return function e(t,n,r){if(!ed(n))return!0;var o=[];if(Array.isArray(n.$and)&&o.push(n.$and.every(function(n){return e(t,n,r)})),Array.isArray(n.$or)&&o.push(n.$or.some(function(n){return e(t,n,r)})),Object.prototype.hasOwnProperty.call(n,"title")){var a=Array.from(new Set([null==t.title?"":String(t.title),(0,s.Ad)(t.title,r,"")].filter(Boolean).map(em)));o.push(ey(a,n.title))}return Object.prototype.hasOwnProperty.call(n,"name")&&o.push(ey([em(t.name)],n.name)),!o.length||o.every(Boolean)}(t,E,e.t)})},[E,e.t,null==(d=P.data)?void 0:d.records]),M=(0,u.useMemo)(function(){var e=(h-1)*S;return z.slice(e,e+S)},[z,h,S]),X=(0,l.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(eb,{activeRole:e.activeRole,availableActions:e.availableActions,collection:t,dataSource:e.dataSource,t:e.t,onSubmitted:function(){P.refresh()}})}})}),I=(0,u.useMemo)(function(){return[{title:A("Collection display name"),dataIndex:"title",width:5*m.sizeXXL,ellipsis:!0,render:function(t){return(0,s.hd)(t,e.t)}},{title:A("Collection name"),dataIndex:"name",width:5*m.sizeXXL,ellipsis:!0},{title:e.t("Permission policy"),dataIndex:"usingConfig",width:4*m.sizeXXL,render:function(t){return"resourceAction"===t?c().createElement(i.Tag,{color:"orange"},e.t("Individual")):c().createElement(i.Tag,null,e.t("General"))}},{title:e.t("Actions"),width:3*m.sizeXXL,render:function(t,n){return c().createElement("a",{onClick:function(){return X(n)}},e.t("Configure"))}}]},[X,e,A,m.sizeXXL]),F=(0,u.useMemo)(function(){return{current:h,pageSize:S,total:z.length,onChange:function(e,t){g(e),O(t)}}},[z.length,h,S]);return c().createElement("div",{className:(0,r.css)(eo())},c().createElement("div",{className:(0,r.css)(ea(),m.marginSM,m.marginSM)},c().createElement(o.CollectionFilter,{collection:C,t:A,filterableFieldNames:["title","name"],onChange:function(e){g(1),j(e)}})),c().createElement(o.Table,{rowKey:"name",loading:P.loading,dataSource:M,columns:I,pagination:F,scroll:{x:"max-content",y:"100%"},className:v}))}function eg(e){return c().createElement(o.ExtendCollectionsProvider,{collections:[eu]},c().createElement(eh,e))}function ew(e){var t=e.activeRole,n=e.availableActions,r=e.dataSource,l=e.t,s=(0,a.useFlowContext)(),f=(0,u.useRef)(new Map),d=s.app.pm.get(U.A),m=(0,u.useMemo)(function(){return{activeRole:t,availableActions:n,dataSource:r,t:l}},[t,n,r,l]),p=(0,u.useMemo)(function(){return(null==d?void 0:d.getPermissionTabs(m).map(function(e){var t;return{key:e.key,label:e.label,sort:null!=(t=e.sort)?t:100,Component:function(e,t,n){var r=e.get(t);if((null==r?void 0:r.loader)===n)return r.Component;var o=(0,u.lazy)(n);return e.set(t,{loader:n,Component:o}),o}(f.current,e.key,e.componentLoader)}}))||[]},[d,m]),y=(0,u.useMemo)(function(){var e,o=new Map;return[{key:"general",label:l("General action permissions"),sort:10,children:c().createElement(ev,{activeRole:t,availableActions:n,dataSource:r,t:l})},{key:"actions",label:l("Action permissions"),sort:20,children:c().createElement(eg,{activeRole:t,availableActions:n,dataSource:r,t:l})}].concat(function(e){if(Array.isArray(e))return W(e)}(e=p.map(function(e){var t,n,r=e.Component;return t=Q({},function(e,t){if(null==e)return{};var n,r,o,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=function(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}(e,["Component"])),n=n={children:c().createElement(u.Suspense,{fallback:null},c().createElement(r,m))},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t}))||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||ee(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).forEach(function(e){o.set(e.key,e)}),Array.from(o.values()).sort(function(e,t){return e.sort-t.sort})},[t,n,r,p,l,m]);return c().createElement(o.DrawerFormLayout,{title:l("Configure permission"),footer:c().createElement(c().Fragment,null)},c().createElement(i.Tabs,{items:y}))}function eS(e){var t,n,f,d,m=i.theme.useToken().token,p=(0,a.useFlowContext)(),y=(0,a.useFlowEngine)(),v=(0,l.useMemoizedFn)(function(e,t){return y.context.t(e,Q({ns:[G.CU,"client"]},t))}),b=es(),h=Y((0,u.useState)(1),2),g=h[0],w=h[1],S=Y((0,u.useState)(50),2),O=S[0],x=S[1],E=(0,l.useRequest)(function(){return J(function(){var e,t;return et(this,function(n){switch(n.label){case 0:return[4,p.api.resource("availableActions").list()];case 1:return[2,(null==(t=n.sent())||null==(e=t.data)?void 0:e.data)||[]]}})})()}),j=(0,l.useRequest)(function(){return J(function(){return et(this,function(e){switch(e.label){case 0:return[4,p.api.resource("dataSources").list({page:g,pageSize:O})];case 1:return[2,ec(e.sent())]}})})()},{refreshDeps:[g,O]}),C=(0,l.useMemoizedFn)(function(t){p.viewer.drawer({width:"50%",closable:!0,content:function(){return c().createElement(ew,{activeRole:e.activeRole,availableActions:E.data||[],dataSource:t,t:v})}})}),k=(0,u.useMemo)(function(){return[{title:v("Data source display name"),dataIndex:"displayName",width:5*m.sizeXXL,ellipsis:!0,render:function(e){return(0,s.hd)(e,v)}},{title:v("Data source name"),dataIndex:"key",width:5*m.sizeXXL,ellipsis:!0},{title:v("Actions"),width:3*m.sizeXXL,render:function(e,t){return c().createElement("a",{onClick:function(){return C(t)}},v("Configure"))}}]},[C,v,m.sizeXXL]),A=(0,u.useMemo)(function(){var e,t,n,r,o;return{current:null!=(e=null==(n=j.data)?void 0:n.page)?e:g,pageSize:null!=(t=null==(r=j.data)?void 0:r.pageSize)?t:O,total:null==(o=j.data)?void 0:o.total,onChange:function(e,t){w(e),x(t)}}},[g,O,null==(t=j.data)?void 0:t.page,null==(n=j.data)?void 0:n.pageSize,null==(f=j.data)?void 0:f.total]);return e.activeRole?c().createElement("div",{className:(0,r.css)(el(),m.marginSM)},c().createElement(i.Typography.Text,{strong:!0},v("Data sources")),E.error?c().createElement(i.Alert,{type:"error",message:E.error.message,showIcon:!0}):null,c().createElement(o.Table,{rowKey:"key",loading:j.loading||E.loading,dataSource:(null==(d=j.data)?void 0:d.records)||[],columns:k,pagination:A,scroll:{x:"max-content",y:"100%"},className:(0,r.cx)(b)})):c().createElement(i.Empty,{image:i.Empty.PRESENTED_IMAGE_SIMPLE})}}}]);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import type { DataSourceTypeOptions } from '../plugin';
|
|
11
|
+
export interface DataSourceFormProps {
|
|
12
|
+
mode: 'create' | 'edit';
|
|
13
|
+
type: DataSourceTypeOptions;
|
|
14
|
+
initialValues?: Record<string, any>;
|
|
15
|
+
onSubmitted: (record?: Record<string, any>) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function DataSourceForm(props: DataSourceFormProps): React.JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { FieldConfigureFormMode as FieldFormMode, FieldConfigureFormProps, FieldInterfaceConfigure } from '@nocobase/client-v2';
|
|
10
|
+
export type { FieldConfigureFormProps, FieldFormMode };
|
|
11
|
+
export type FieldInterfaceConfigureOptions = FieldInterfaceConfigure & {
|
|
12
|
+
name: string;
|
|
13
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export { default } from './plugin';
|
|
10
|
+
export * from './plugin';
|
|
11
|
+
export * from './field-interfaces';
|
|
12
|
+
export * from './utils/compileLegacyTemplate';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@emotion/css"),require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):"function"==typeof define&&define.amd?define("@nocobase/plugin-data-source-manager/client-v2",["@emotion/css","react-router-dom","@ant-design/icons","@dnd-kit/core","@nocobase/flow-engine","ahooks","@nocobase/client-v2","@dnd-kit/sortable","dayjs","react","antd","@nocobase/utils/client","lodash"],t):"object"==typeof exports?exports["@nocobase/plugin-data-source-manager/client-v2"]=t(require("@emotion/css"),require("react-router-dom"),require("@ant-design/icons"),require("@dnd-kit/core"),require("@nocobase/flow-engine"),require("ahooks"),require("@nocobase/client-v2"),require("@dnd-kit/sortable"),require("dayjs"),require("react"),require("antd"),require("@nocobase/utils/client"),require("lodash")):e["@nocobase/plugin-data-source-manager/client-v2"]=t(e["@emotion/css"],e["react-router-dom"],e["@ant-design/icons"],e["@dnd-kit/core"],e["@nocobase/flow-engine"],e.ahooks,e["@nocobase/client-v2"],e["@dnd-kit/sortable"],e.dayjs,e.react,e.antd,e["@nocobase/utils/client"],e.lodash)}(self,function(e,t,n,r,o,i,a,l,u,c,s,f,d){return function(){"use strict";var p,m,y,b,v,h={832:function(e,t,n){n.d(t,{A:function(){return er},v:function(){return en}});var r=n(485),o=n(155),i=n.n(o),a=n(143),l=n(694),u=n(625),c=n(59),s=n(773),f=n(938);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function p(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function m(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){p(i,r,o,a,l,"next",e)}function l(e){p(i,r,o,a,l,"throw",e)}a(void 0)})}}function y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){y(e,t,n[t])})}return e}function v(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function h(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],a=!0,l=!1;try{for(o=o.call(e);!(a=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){l=!0,r=e}finally{try{a||null==o.return||o.return()}finally{if(l)throw r}}return i}}(e,t)||w(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e){return function(e){if(Array.isArray(e))return d(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||w(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return d(e,t)}}function S(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var O=new Set(["hasOne","hasMany","belongsToMany"]),j="__viewUnsupportedFields";function k(e){var t=(0,s.get)(e,"data.data");return Array.isArray(t)?t:Array.isArray((0,s.get)(t,"data"))?(0,s.get)(t,"data"):[]}function P(e){var t=e||{};return t.rawTitle,function(e,t){if(null==e)return{};var n,r,o,i={};if("u">typeof Reflect&&Reflect.ownKeys){for(o=0,n=Reflect.ownKeys(Object(e));o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}if(i=function(e,t){if(null==e)return{};var n,r,o={},i=Object.getOwnPropertyNames(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}(e,t),Object.getOwnPropertySymbols)for(o=0,n=Object.getOwnPropertySymbols(e);o<n.length;o++)r=n[o],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r]);return i}(t,["rawTitle"])}function F(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function A(e){var t=F(e);return t.length?t.join("."):null}function x(e){return(null==e?void 0:e.options)||e||{}}function T(){var e=(0,l.useFlowContext)();return(0,u.useRequest)(function(){return m(function(){return S(this,function(t){switch(t.label){case 0:return[4,e.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:return[2,k(t.sent())]}})})()})}function C(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=t.dataSourceManager.collectionFieldInterfaceManager,d=(0,o.useRef)(),p=h((0,o.useState)(!1),2),g=p[0],w=p[1],O=c.Form.useWatch("databaseView",e.form),F=c.Form.useWatch("schema",e.form),x=c.Form.useWatch("viewName",e.form),T=(0,o.useMemo)(function(){return O||(x?F?"".concat(F,"@").concat(x):x:void 0)},[O,F,x]),C=(0,o.useMemo)(function(){var e;return((null==r||null==(e=r.getFieldInterfaces)?void 0:e.call(r))||[]).reduce(function(e,t){return t.name&&(e[t.name]=t),e},{})},[r]),I=(0,u.useRequest)(function(){return m(function(){return S(this,function(e){switch(e.label){case 0:return[4,t.api.resource("dbViews").list()];case 1:return[2,k(e.sent())]}})})()}),E=(0,o.useMemo)(function(){var e=(I.data||[]).map(function(e){return{value:e.schema?"".concat(e.schema,"@").concat(e.name):e.name,label:e.schema?"".concat(e.schema,".").concat((0,f.hd)(e.name,n)):(0,f.hd)(e.name,n)}});return T&&!e.some(function(e){return e.value===T})&&e.unshift({value:T,label:F?"".concat(F,".").concat((0,f.hd)(x||T,n)):(0,f.hd)(x||T,n)}),e},[T,n,I.data,F,x]),M=(0,o.useCallback)(function(n,r){return m(function(){var o,i,a,l;return S(this,function(u){switch(u.label){case 0:w(!0),u.label=1;case 1:return u.trys.push([1,,3,4]),[4,t.api.resource("dbViews").get({filterByTk:n,schema:r||void 0})];case 2:var c,f,d,p,m;return c=u.sent(),o={fields:(f=(0,s.get)(c,"data.data")||(0,s.get)(c,"data")||c||{}).fields,sources:f.sources,unsupportedFields:f.unsupportedFields},m=new Map(((p={currentFields:Array.isArray(i=e.form.getFieldValue("fields")||[])?i:[],fieldInterfacesByName:C,inferredFields:(d=o.fields)?(Array.isArray(d)?d:Object.values(d)).filter(Boolean):[]}).currentFields||[]).map(function(e){return[e.name,e]})),a=p.inferredFields.map(function(e){var t,n,r,o=m.get(e.name)||e,i=p.fieldInterfacesByName[o.interface||e.interface||""],a=(null==i||null==(t=i.default)?void 0:t.uiSchema)||{},l=(null==(n=o.uiSchema)?void 0:n.title)||o.title||(null==(r=e.uiSchema)?void 0:r.title)||e.name,u=v(b({},P(a),P(o.uiSchema||e.uiSchema)),{title:l});return e.source?v(b({},e),{interface:e.interface||o.interface,type:e.type||o.type,uiSchema:u}):v(b({},e,o),{uiSchema:u})}),l=Array.isArray(o.sources)?o.sources:[],e.form.setFieldsValue(y({fields:a.map(function(e){return v(b({},e),{source:A(e.source)})}),sources:l},j,Array.isArray(o.unsupportedFields)?o.unsupportedFields:[])),[3,4];case 3:return w(!1),[7];case 4:return[2]}})})()},[t.api,C,e.form]),_=(0,o.useCallback)(function(t){var n=function(e){if(!e)return{schema:null,viewName:null};var t=h(e.includes("@")?e.split("@"):[null,e],2);return{schema:t[0]||null,viewName:t[1]||e}}(t),r=n.schema,o=n.viewName;if(e.form.setFieldsValue(y({databaseView:t,schema:r,viewName:o,fields:[],sources:[]},j,[])),o){var i=e.form.getFieldValue("name");(!e.form.isFieldTouched("name")||i===d.current||/^t_[A-Za-z0-9]+$/.test(i))&&(d.current=o,e.form.setFieldValue("name",o)),M(o,r)}},[M,e.form]);return(0,o.useEffect)(function(){!O&&T&&e.form.setFieldValue("databaseView",T)},[T,e.form,O]),i().createElement(c.Spin,{spinning:g},i().createElement(c.Form.Item,{name:"databaseView",label:n("Connect to database view"),rules:[{required:!0,message:n("Please select a database view")}]},i().createElement(c.Select,{allowClear:!0,loading:I.loading,options:E,showSearch:!0,optionFilterProp:"label",disabled:"edit"===e.mode,onChange:_})),i().createElement(c.Form.Item,{name:"schema",hidden:!0},i().createElement(c.Input,null)),i().createElement(c.Form.Item,{name:"viewName",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)))}function I(e){var t=(0,a.kj)(),n=T(),r=c.Form.useWatch("sources",e.form),l=(0,o.useMemo)(function(){return Array.isArray(r)?r:[]},[r]),u=(0,o.useMemo)(function(){var e,r=(e=n.data||[],e.filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,f.hd)(e.title||e.name,t)}})),o=l.filter(function(e){return!r.some(function(t){return t.value===e})}).map(function(e){return{value:e,label:e}});return g(r).concat(g(o))},[n.data,l,t]);return i().createElement(c.Form.Item,{name:"sources",label:t("Source collections")},i().createElement(c.Select,{mode:"multiple",options:u,loading:n.loading,disabled:!0,allowClear:!0}))}function E(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=T(),u=t.dataSourceManager.collectionFieldInterfaceManager,s=t.dataSourceManager.getDataSource("main"),d=c.Form.useWatch("fields",e.form),p=c.Form.useWatch("sources",e.form),m=c.Form.useWatch(j,{form:e.form,preserve:!0}),y=(0,o.useMemo)(function(){return Array.isArray(d)?d:[]},[d]),w=(0,o.useMemo)(function(){return Array.isArray(p)?p:[]},[p]),S=(0,o.useMemo)(function(){var e,t,n,r,o;return n=(null==u||null==(e=u.getFieldInterfaceGroups)?void 0:e.call(u))||{},r=(null==u||null==(t=u.getFieldInterfaces)?void 0:t.call(u))||[],o=new Map,r.filter(function(e){return e.name&&!["relation","systemInfo"].includes(String(e.group))}).forEach(function(e){var t=String(e.group||"other"),n=o.get(t)||[];n.push({value:String(e.name),label:e.title||String(e.name),availableTypes:e.availableTypes}),o.set(t,n)}),Array.from(o.entries()).sort(function(e,t){var r,o,i,a,l=h(e,1)[0],u=h(t,1)[0];return(null!=(r=null==(i=n[l])?void 0:i.order)?r:0)-(null!=(o=null==(a=n[u])?void 0:a.order)?o:0)}).map(function(e){var t,r=h(e,2),o=r[0],i=r[1];return{label:(null==(t=n[o])?void 0:t.label)||o,options:i}})},[u]),k=(0,o.useMemo)(function(){return w.map(function(e){return(r.data||[]).find(function(t){return t.name===e})}).filter(Boolean).map(function(e){var t,r=null==s||null==(t=s.getCollection)?void 0:t.call(s,e.name),o="function"==typeof(null==r?void 0:r.getFields)?r.getFields():e.fields||[];return{value:e.name,label:(0,f.hd)(e.title||(null==r?void 0:r.title)||e.name,n),children:o.map(x).filter(function(e){return e.name&&!O.has(String(e.type))}).map(function(e){var t,r;return{value:e.name,label:(0,f.hd)((null==(t=(r=x(e)).uiSchema)?void 0:t.title)||r.title||r.name,n)}})}})},[r.data,s,w,n]),C=(0,o.useCallback)(function(t,n){var r=g(y);r.splice(t,1,v(b({},n),{source:A(n.source)})),e.form.setFieldValue("fields",r)},[y,e.form]),I=[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,o){return i().createElement(c.Cascader,{allowClear:!0,options:k,placeholder:n("Select field source"),value:F(e),onChange:function(e){var n,i,a,l=(e||[]).map(String),u=(r.data||[]).find(function(e){return e.name===l[0]}),c=l[0]?null==s||null==(n=s.getCollection)?void 0:n.call(s,l[0]):void 0,f=("function"==typeof(null==c?void 0:c.getFields)?c.getFields().map(x):(null==u?void 0:u.fields)||[]).find(function(e){return e.name===l[1]});C(o,v(b({},t),{source:l,interface:(null==f?void 0:f.interface)||t.interface,type:(null==f?void 0:f.type)||t.type,uiSchema:v(b({},t.uiSchema,null==f?void 0:f.uiSchema),{title:(null==f||null==(i=f.uiSchema)?void 0:i.title)||(null==(a=t.uiSchema)?void 0:a.title)||t.name})}))}})}},{title:n("Field type"),dataIndex:"type",width:140,render:function(e,t,n){var r;return!t.source&&(null==(r=t.possibleTypes)?void 0:r.length)?i().createElement(c.Select,{value:e,style:{width:"100%"},popupMatchSelectWidth:!1,options:t.possibleTypes.map(function(e){return{label:e,value:e}}),onChange:function(e){return C(n,v(b({},t),{type:e}))}}):i().createElement(c.Tag,null,e)}},{title:n("Field interface"),dataIndex:"interface",width:180,render:function(e,t,r){if(t.source){var o,a=null==u||null==(o=u.getFieldInterface)?void 0:o.call(u,e);return i().createElement(c.Tag,null,(0,f.hd)((null==a?void 0:a.title)||e,n))}return i().createElement(c.Select,{allowClear:!0,popupMatchSelectWidth:!1,style:{width:"100%"},options:S.map(function(e){return{label:(0,f.hd)(e.label,n),options:e.options.filter(function(e){var n;return!t.type||(null==(n=e.availableTypes)?void 0:n.includes(t.type))}).map(function(e){return{value:e.value,label:(0,f.hd)(e.label,n)}})}}),value:e||void 0,onChange:function(e){var n,o,i,a,l,c,s=null==u||null==(n=u.getFieldInterface)?void 0:n.call(u,e);C(r,v(b({},t),{interface:e||null,type:(null==s||null==(o=s.default)?void 0:o.type)||t.type,uiSchema:v(b({},null==s||null==(i=s.default)?void 0:i.uiSchema),{title:(null==s||null==(l=s.default)||null==(a=l.uiSchema)?void 0:a.title)||(null==(c=t.uiSchema)?void 0:c.title)||t.name})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:180,render:function(e,t,n){var r;return i().createElement(c.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){C(n,v(b({},t),{uiSchema:v(b({},P(t.uiSchema)),{title:e.target.value})}))}})}}];return r.loading?i().createElement(c.Spin,null):i().createElement(i().Fragment,null,i().createElement(c.Form.Item,{name:"fields",hidden:!0,rules:[{required:!0}]},i().createElement(c.Input,null)),y.length?i().createElement(c.Form.Item,{label:n("Fields"),required:!0,extra:n("Fields can only be used correctly if they are defined with an interface.")},i().createElement(c.Table,{bordered:!0,columns:I,dataSource:y,pagination:!1,rowKey:"name",scroll:{y:300}})):i().createElement(c.Form.Item,{label:n("Fields"),required:!0},i().createElement(c.Alert,{showIcon:!0,message:n("Please select a database view")})),(null==m?void 0:m.length)?i().createElement(c.Alert,{showIcon:!0,type:"warning",message:n("Unsupported fields"),description:m.map(function(e){return e.name}).join(", "),style:{marginBottom:24}}):null)}function M(e){var t=(0,l.useFlowContext)(),n=(0,a.kj)(),r=c.Form.useWatch("viewName",e.form),u=c.Form.useWatch("schema",e.form),s=c.Form.useWatch("fields",e.form),d=(0,o.useMemo)(function(){return Array.isArray(s)?s:[]},[s]),p=h((0,o.useState)(!1),2),y=p[0],b=p[1],v=h((0,o.useState)([]),2),g=v[0],w=v[1],O=(0,o.useMemo)(function(){var e=["lineString","point","circle","polygon"];return JSON.stringify(d.reduce(function(t,n){return n.type&&e.includes(n.type)&&(t[n.name]=n.type),t},{}))},[d]),j=(0,o.useMemo)(function(){return d.filter(function(e){return e.source||e.interface}).map(function(e){var t;return{title:(0,f.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n),dataIndex:e.name,key:e.name,width:200,ellipsis:!0,render:function(e){return null==e?null:(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"?JSON.stringify(e):String(e)}}})},[d,n]);return(0,o.useEffect)(function(){if(!r||!d.length)return void w([]);var e=!1;return m(function(){var n;return S(this,function(o){switch(o.label){case 0:b(!0),o.label=1;case 1:return o.trys.push([1,,3,4]),[4,t.api.resource("dbViews").query({filterByTk:r,schema:u||void 0,fieldTypes:JSON.parse(O)})];case 2:return n=o.sent(),e||w(k(n)),[3,4];case 3:return e||b(!1),[7];case 4:return[2]}})})(),function(){e=!0}},[t.api,O,d.length,u,r]),i().createElement(c.Form.Item,{label:n("Preview")},i().createElement(c.Spin,{spinning:y},i().createElement(c.Table,{bordered:!0,columns:j,dataSource:g,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300}})))}function _(e){var t=b({},e);return delete t[j],Array.isArray(t.fields)&&(t.fields=t.fields.map(function(e){return v(b({},e),{source:A(e.source)})})),t}var q=function(){var e;function t(){var e,n;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");e="permissionTabs",n=new Map,e in this?Object.defineProperty(this,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):this[e]=n}return e=[{key:"add",value:function(e){var t="function"==typeof e?"callback:".concat(this.permissionTabs.size):e.key;this.permissionTabs.set(t,e)}},{key:"getPermissionTabs",value:function(e){return Array.from(this.permissionTabs.values()).map(function(t){return"function"==typeof t?t(e):t}).filter(function(e){return!!e}).sort(function(e,t){var n,r;return(null!=(n=e.sort)?n:100)-(null!=(r=t.sort)?r:100)})}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(t.prototype,e),t}(),D=n(448);function N(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function B(e,t,n,r,o,i,a){try{var l=e[i](a),u=l.value}catch(e){n(e);return}l.done?t(u):Promise.resolve(u).then(r,o)}function R(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function a(e){B(i,r,o,a,l,"next",e)}function l(e){B(i,r,o,a,l,"throw",e)}a(void 0)})}}function V(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function $(e,t,n){return($=Q()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&G(o,n.prototype),o}).apply(null,arguments)}function L(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function U(e,t,n){return t&&L(e.prototype,t),n&&L(e,n),e}function W(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function K(e){return(K=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function J(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){W(e,t,n[t])})}return e}function z(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function G(e,t){return(G=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z(e){return function(e){if(Array.isArray(e))return N(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e){if(e){if("string"==typeof e)return N(e,void 0);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return N(e,void 0)}}(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(e){var t="function"==typeof Map?new Map:void 0;return(H=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return $(e,arguments,K(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),G(n,e)})(e)}function Q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Q=function(){return!!e})()}function X(e,t){var n,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),l=Object.defineProperty;return l(a,"next",{value:u(0)}),l(a,"throw",{value:u(1)}),l(a,"return",{value:u(2)}),"function"==typeof Symbol&&l(a,Symbol.iterator,{value:function(){return this}}),a;function u(l){return function(u){var c=[l,u];if(n)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(i=0)),i;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return i.label++,{value:c[1],done:!1};case 5:i.label++,r=c[1],c=[0];continue;case 7:c=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===c[0]||2===c[0])){i=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(6===c[0]&&i.label<o[1]){i.label=o[1],o=c;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(c);break}o[2]&&i.ops.pop(),i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var Y=function(){function e(){V(this,e),W(this,"templates",new Map)}return U(e,[{key:"register",value:function(e,t){var n="string"==typeof e?z(J({},t),{name:(null==t?void 0:t.name)||e}):e;(null==n?void 0:n.name)&&this.templates.set(n.name,z(J({},n),{name:n.name}))}},{key:"get",value:function(e){return e?this.templates.get(e):void 0}},{key:"getAll",value:function(){return Z(this.templates.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),ee=function(){function e(){V(this,e),W(this,"fields",new Map)}return U(e,[{key:"register",value:function(e){var t,n=e.name||(null==(t=e.value)?void 0:t.name);n&&this.fields.set(n,z(J({},e),{name:n}))}},{key:"remove",value:function(e){this.fields.delete(e)}},{key:"getAll",value:function(){return Z(this.fields.values()).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})}}]),e}(),et=function(){function e(){V(this,e),W(this,"managerActions",[])}return U(e,[{key:"registerManagerAction",value:function(e){var t=e.order,n=e.component;this.managerActions.push({order:null!=t?t:0,component:n})}},{key:"getManagerActions",value:function(){return Z(this.managerActions).sort(function(e,t){return e.order-t.order})}}]),e}(),en=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,n,r;return V(this,t),n=t,r=arguments,n=K(n),W(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,Q()?Reflect.construct(n,r||[],K(this).constructor):n.apply(this,r)),"types",new Map),W(e,"extensionManager",new et),W(e,"collectionTemplateRegistry",new Y),W(e,"collectionPresetFieldRegistry",new ee),W(e,"permissionTabRegistry",new q),e}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&G(t,e),U(t,[{key:"load",value:function(){return R(function(){var e,t;return X(this,function(r){return e=this,this.registerBuiltInCollectionPresetFields(),this.registerBuiltInCollectionTemplates(),null==(t=this.app.pm.get("@nocobase/plugin-acl"))||t.settingsUI.addPermissionsTab({key:"dataSource",label:String(this.t("Data sources")),sort:15,componentLoader:function(){return n.e("907").then(n.bind(n,390))}}),this.dataSourceManager.registerLoader("*",function(){return R(function(){var e,t,n;return X(this,function(r){switch(r.label){case 0:return[4,this.app.apiClient.request({resource:"dataSources",action:"listEnabled",params:{paginate:!1,appends:["collections"]}})];case 1:return n=(null==(t=r.sent())||null==(e=t.data)?void 0:e.data)||[],(0,D.b)(this.dataSourceManager,n),[2,{dataSources:n}]}})}).call(e)}),this.pluginSettingsManager.addMenuItem({key:a.Ji,title:this.t("Data sources"),icon:"ClusterOutlined",isPinned:!0,sort:100,showTabs:!1,aclSnippet:"pm.data-source-manager*"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:"list",title:this.t("Data sources"),componentLoader:function(){return n.e("426").then(n.bind(n,649))},sort:1,aclSnippet:"pm.data-source-manager"}),this.pluginSettingsManager.addPageTabItem({menuKey:a.Ji,key:":name/collections",title:this.t("Collections"),componentLoader:function(){return n.e("167").then(n.bind(n,442))},hidden:!0,sort:2,aclSnippet:"pm.data-source-manager"}),[2]})}).call(this)}},{key:"registerType",value:function(e,t){this.types.set(e,z(J({},t),{name:t.name||e}))}},{key:"getType",value:function(e){return e?this.types.get(e):void 0}},{key:"registerFieldInterfaceConfigure",value:function(e){var t,n;null==(n=this.dataSourceManager.collectionFieldInterfaceManager)||null==(t=n.registerFieldInterfaceConfigure)||t.call(n,e)}},{key:"registerCollectionTemplate",value:function(e,t){this.collectionTemplateRegistry.register(e,t)}},{key:"registerCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.register(e)}},{key:"registerPermissionTab",value:function(e){this.permissionTabRegistry.add(e)}},{key:"getPermissionTabs",value:function(e){return this.permissionTabRegistry.getPermissionTabs(e)}},{key:"addCollectionPresetField",value:function(e){this.registerCollectionPresetField(e)}},{key:"removeCollectionPresetField",value:function(e){this.collectionPresetFieldRegistry.remove(e)}},{key:"getCollectionPresetFields",value:function(){return this.collectionPresetFieldRegistry.getAll()}},{key:"getCollectionTemplate",value:function(e){return this.collectionTemplateRegistry.get(e)}},{key:"getCollectionTemplates",value:function(){return this.collectionTemplateRegistry.getAll()}},{key:"registerBuiltInCollectionPresetFields",value:function(){this.registerCollectionPresetField({order:100,description:'{{t("Primary key, distributed uniqueness, time-ordering") }}',value:{name:"id",type:"snowflakeId",autoIncrement:!1,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-component-props":{stringMode:!0,separator:"0.00",step:"1"},"x-validator":"integer"},interface:"snowflakeId"}}),this.registerCollectionPresetField({order:200,description:'{{t("Store the creation time of each record")}}',value:{name:"createdAt",interface:"createdAt",type:"date",field:"createdAt",uiSchema:{type:"datetime",title:'{{t("Created at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:300,description:'{{t("Store the creation user of each record") }}',value:{name:"createdBy",interface:"createdBy",type:"belongsTo",target:"users",foreignKey:"createdById",uiSchema:{type:"object",title:'{{t("Created by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:400,description:'{{t("Store the last update time of each record")}}',value:{type:"date",field:"updatedAt",name:"updatedAt",interface:"updatedAt",uiSchema:{type:"datetime",title:'{{t("Last updated at")}}',"x-component":"DatePicker","x-component-props":{},"x-read-pretty":!0}}}),this.registerCollectionPresetField({order:500,description:'{{t("Store the last update user of each record")}}',value:{type:"belongsTo",target:"users",foreignKey:"updatedById",name:"updatedBy",interface:"updatedBy",uiSchema:{type:"object",title:'{{t("Last updated by")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"nickname"}},"x-read-pretty":!0}}})}},{key:"registerBuiltInCollectionTemplates",value:function(){this.registerCollectionTemplate({name:"general",title:'{{t("General collection")}}',order:10,color:"blue",collection:{options:{template:"general"},fields:[]}}),this.registerCollectionTemplate({name:"view",title:'{{t("Connect to database view")}}',order:50,color:"yellow",divider:!0,collection:{options:{template:"view",view:!0},fields:[]},capabilities:{recordUniqueKey:!0,simplePaginate:!0},presetFields:{disabled:!0},fieldInterfaces:{create:{include:["m2o"]}},configure:{items:[{name:"databaseView",Component:C,required:!0},{name:"sources",Component:I},{name:"fields",Component:E,required:!0,hidden:function(e){return"edit"===e.mode}},{name:"preview",Component:M,hidden:function(e){return"edit"===e.mode}},{name:"writableView",label:'{{t("Allow add new, update and delete actions")}}',component:"Checkbox"}],transformSubmitValues:_}})}}]),t}(H(r.Plugin)),er=en},143:function(e,t,n){n.d(t,{Ji:function(){return i},CU:function(){return o},kj:function(){return a}});var r=n(694),o=JSON.parse('{"UU":"@nocobase/plugin-data-source-manager"}').UU,i="data-source-manager";function a(){var e=(0,r.useFlowEngine)();return function(t,n){return e.context.t(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({ns:[o,"client"]},n))}}},448:function(e,t,n){n.d(t,{b:function(){return o},h:function(){return i}});var r=n(694);function o(e,t){e&&t.forEach(function(t){var n,o,i,a,l=(n=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({},t),o=o={key:t.key,use:"main"===t.key?void 0:r.DataSource},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(o,e))}),n);e.getDataSource(t.key)?null==(i=e.getDataSource(t.key))||i.patchOptions(l):e.addDataSource(l),Array.isArray(t.collections)&&(null==(a=e.getDataSource(t.key))||a.setCollections(t.collections,{clearFields:!0}))})}function i(e,t){e&&t.forEach(function(t){"main"!==String(t)&&e.removeDataSource(String(t))})}},938:function(e,t,n){n.d(t,{Ad:function(){return c},hd:function(){return l},sZ:function(){return u},zN:function(){return i}});var r=/^\s*\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}\s*$/,o=/\{\{\s*t\s*\(\s*(['"])(.*?)\1(?:\s*,\s*([\s\S]*?))?\)\s*\}\}/g;function i(e){var t;return"string"==typeof e?null==(t=e.match(r))?void 0:t[2]:void 0}function a(e){var t=null==e?void 0:e.trim();if(t){try{var n=JSON.parse(t);return n&&(void 0===n?"undefined":n&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)=="object"&&!Array.isArray(n)?n:void 0}catch(e){}var r={},o=t.match(/(?:^|[{,\s])ns\s*:\s*(\[[\s\S]*?\])/);if(null==o?void 0:o[1]){var i,a,l=(i=o[1],a=[],i.replace(/(['"])(.*?)\1/g,function(e,t,n){return a.push(n),""}),a.length?a:void 0);l&&(r.ns=l)}else{var u=t.match(/(?:^|[{,\s])ns\s*:\s*(['"])(.*?)\1/);(null==u?void 0:u[2])&&(r.ns=u[2])}var c=t.match(/(?:^|[{,\s])nsMode\s*:\s*(['"])(.*?)\1/);return(null==c?void 0:c[2])&&(r.nsMode=c[2]),Object.keys(r).length?r:void 0}}function l(e,t){if("string"!=typeof e)return e;var n=e.match(r);return(null==n?void 0:n[2])?t(n[2],a(n[3])):e.replace(o,function(e,n,r,o){return t(r,a(o))})}function u(e,t){var n=i(t);return"string"==typeof e&&n===e?t:e}function c(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"-",r=l(e,t);return null==r||""===r?n:"string"==typeof r||"number"==typeof r||"boolean"==typeof r?String(r):n}},375:function(e){e.exports=n},799:function(e){e.exports=r},428:function(e){e.exports=l},477:function(t){t.exports=e},485:function(e){e.exports=a},694:function(e){e.exports=o},768:function(e){e.exports=f},625:function(e){e.exports=i},59:function(e){e.exports=s},185:function(e){e.exports=u},773:function(e){e.exports=d},155:function(e){e.exports=c},61:function(e){e.exports=t}},g={};function w(e){var t=g[e];if(void 0!==t)return t.exports;var n=g[e]={exports:{}};return h[e](n,n.exports,w),n.exports}w.m=h,w.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(t,{a:t}),t},w.d=function(e,t){for(var n in t)w.o(t,n)&&!w.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},w.f={},w.e=function(e){return Promise.all(Object.keys(w.f).reduce(function(t,n){return w.f[n](e,t),t},[]))},w.u=function(e){return""+e+"."+({167:"52e683be46f9cfc7",426:"53e3eaee8d9dbca0",907:"a0ab273516f45ac3"})[e]+".js"},w.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),w.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},S={},w.l=function(e,t,n,r){if(S[e])return void S[e].push(t);if(void 0!==n)for(var o,i,a=document.getElementsByTagName("script"),l=0;l<a.length;l++){var u=a[l];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-data-source-manager/client-v2:"+n){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,w.nc&&o.setAttribute("nonce",w.nc),o.setAttribute("data-rspack","@nocobase/plugin-data-source-manager/client-v2:"+n),o.src=e),S[e]=[t];var c=function(t,n){o.onerror=o.onload=null,clearTimeout(s);var r=S[e];if(delete S[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},s=setTimeout(c.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=c.bind(null,o.onerror),o.onload=c.bind(null,o.onload),i&&document.head.appendChild(o)},w.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.g.importScripts&&(O=w.g.location+"");var S,O,j=w.g.document;if(!O&&j&&(j.currentScript&&"SCRIPT"===j.currentScript.tagName.toUpperCase()&&(O=j.currentScript.src),!O)){var k=j.getElementsByTagName("script");if(k.length)for(var P=k.length-1;P>-1&&(!O||!/^http(s?):/.test(O));)O=k[P--].src}if(!O)throw Error("Automatic publicPath is not supported in this browser");w.p=O.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),p={889:0},w.f.j=function(e,t){var n=w.o(p,e)?p[e]:void 0;if(0!==n)if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=p[e]=[t,r]});t.push(n[2]=r);var o=w.p+w.u(e),i=Error();w.l(o,function(t){if(w.o(p,e)&&(0!==(n=p[e])&&(p[e]=void 0),n)){var r=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,n[1](i)}},"chunk-"+e,e)}},m=function(e,t){var n,r,o=t[0],i=t[1],a=t[2],l=0;if(o.some(function(e){return 0!==p[e]})){for(n in i)w.o(i,n)&&(w.m[n]=i[n]);a&&a(w)}for(e&&e(t);l<o.length;l++)r=o[l],w.o(p,r)&&p[r]&&p[r][0](),p[r]=0},(y=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).forEach(m.bind(null,0)),y.push=m.bind(null,y.push.bind(y));var F={};return!function(){var e="",t="u">typeof document?document.currentScript:null;if(t&&t.src&&(e=t.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var n=window.__webpack_public_path__||"";n&&("/"!==n.charAt(n.length-1)&&(n+="/"),e=n+"static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",a=i.indexOf(o);e=a>=0?i.slice(0,a+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-data-source-manager/dist/client-v2/"}w.p=e}(),w.r(F),w.d(F,{PluginDataSourceManagerClientV2:function(){return b.v},compileLegacyTemplate:function(){return v.hd},compileLegacyTemplateText:function(){return v.Ad},default:function(){return b.A},getLegacyTemplateKey:function(){return v.zN},preferLegacyTemplateTitle:function(){return v.sZ}}),b=w(832),v=w(938),F}()});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export declare const NAMESPACE: string;
|
|
10
|
+
export declare const DATA_SOURCE_MANAGER_SETTINGS_KEY = "data-source-manager";
|
|
11
|
+
export declare function tExpr(key: string): string;
|
|
12
|
+
export declare function useT(): (key: string, options?: Record<string, unknown>) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export default function DataSourceCollectionsPage(): React.JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
export default function DataSourcesPage(): React.JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import type { CollectionPresetFieldOptions } from '../../plugin';
|
|
11
|
+
interface CollectionsPageProps {
|
|
12
|
+
dataSourceKey: string;
|
|
13
|
+
title?: React.ReactNode;
|
|
14
|
+
}
|
|
15
|
+
type PresetFieldRow = {
|
|
16
|
+
name: string;
|
|
17
|
+
field: React.ReactNode;
|
|
18
|
+
interfaceLabel: React.ReactNode;
|
|
19
|
+
description?: React.ReactNode;
|
|
20
|
+
};
|
|
21
|
+
export declare function getPresetFieldRows(presetFields: CollectionPresetFieldOptions[], fieldInterfaceManager?: {
|
|
22
|
+
getFieldInterface?: (name: string) => {
|
|
23
|
+
title?: React.ReactNode;
|
|
24
|
+
} | undefined;
|
|
25
|
+
}): PresetFieldRow[];
|
|
26
|
+
declare function CollectionsPage(props: CollectionsPageProps): React.JSX.Element;
|
|
27
|
+
export default CollectionsPage;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
interface FieldFormProps {
|
|
11
|
+
mode: 'create' | 'edit';
|
|
12
|
+
dataSourceKey: string;
|
|
13
|
+
collection: Record<string, any>;
|
|
14
|
+
interfaceName?: string;
|
|
15
|
+
field?: Record<string, any>;
|
|
16
|
+
onSubmitted: () => void;
|
|
17
|
+
}
|
|
18
|
+
export declare function FieldForm(props: FieldFormProps): React.JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
interface FieldsPageProps {
|
|
11
|
+
dataSourceKey: string;
|
|
12
|
+
collection: Record<string, any>;
|
|
13
|
+
onCollectionChange?: (collectionName: string, values: Record<string, any>) => void;
|
|
14
|
+
}
|
|
15
|
+
export default function FieldsPage(props: FieldsPageProps): React.JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import type { CollectionTemplateConfigureItemProps } from '../../plugin';
|
|
11
|
+
export type ViewFieldRecord = {
|
|
12
|
+
interface?: string;
|
|
13
|
+
name: string;
|
|
14
|
+
possibleTypes?: string[];
|
|
15
|
+
source?: string | string[] | null;
|
|
16
|
+
title?: React.ReactNode;
|
|
17
|
+
type?: string;
|
|
18
|
+
uiSchema?: Record<string, unknown>;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
};
|
|
21
|
+
export declare function ViewDatabaseConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
|
|
22
|
+
export declare function ViewSourcesConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
|
|
23
|
+
export declare function ViewFieldsConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
|
|
24
|
+
export declare function ViewPreviewConfigureItem(props: CollectionTemplateConfigureItemProps): React.JSX.Element;
|
|
25
|
+
export declare function normalizeViewCollectionSubmitValues(values: Record<string, unknown>): {
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
type FieldAction = 'list' | 'create' | 'update' | 'destroy';
|
|
10
|
+
export declare function getCollectionFieldActionUrl(dataSourceKey: string, collectionName: string, action: FieldAction, filterByTk?: string | number): string;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { CollectionTemplateOptions } from '../../plugin';
|
|
10
|
+
type FieldInterfaceLike = {
|
|
11
|
+
group?: string;
|
|
12
|
+
name: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function filterFieldInterfacesByCollectionTemplate<T extends FieldInterfaceLike>(fieldInterfaces: T[], template: CollectionTemplateOptions | undefined, collection: Record<string, unknown>, options?: {
|
|
15
|
+
databaseDialect?: string;
|
|
16
|
+
}): T[];
|
|
17
|
+
export declare function filterCreateFieldInterfacesByCollectionTemplate<T extends FieldInterfaceLike>(fieldInterfaces: T[], template: CollectionTemplateOptions | undefined): T[];
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import type { DataSourcePermissionRole } from '../../registries';
|
|
11
|
+
interface DataSourcePermissionsTabProps {
|
|
12
|
+
activeRole?: DataSourcePermissionRole | null;
|
|
13
|
+
}
|
|
14
|
+
export default function DataSourcePermissionsTab(props: DataSourcePermissionsTabProps): React.JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import React from 'react';
|
|
10
|
+
import type { AvailableAction, CollectionFieldRecord, RoleResourceAction } from './types';
|
|
11
|
+
type TFunction = (key: string, options?: Record<string, unknown>) => string;
|
|
12
|
+
export declare function normalizeActions(value?: RoleResourceAction[]): Record<string, RoleResourceAction>;
|
|
13
|
+
export declare function applyActionScope(actionMap: Record<string, RoleResourceAction>, actionName: string, scope: unknown, collectionFields: CollectionFieldRecord[]): {
|
|
14
|
+
[x: string]: RoleResourceAction | {
|
|
15
|
+
scope: unknown;
|
|
16
|
+
name: string;
|
|
17
|
+
fields?: string[];
|
|
18
|
+
scopeId?: string | number;
|
|
19
|
+
} | {
|
|
20
|
+
scope: unknown;
|
|
21
|
+
name: string;
|
|
22
|
+
fields: string[];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export interface StrategyActionsEditorProps {
|
|
26
|
+
value?: string[];
|
|
27
|
+
onChange?: (value: string[]) => void;
|
|
28
|
+
availableActions: AvailableAction[];
|
|
29
|
+
t: TFunction;
|
|
30
|
+
}
|
|
31
|
+
export declare function StrategyActionsEditor(props: StrategyActionsEditorProps): React.JSX.Element;
|
|
32
|
+
export interface RoleResourceActionsEditorProps {
|
|
33
|
+
value?: RoleResourceAction[];
|
|
34
|
+
onChange?: (value: RoleResourceAction[]) => void;
|
|
35
|
+
availableActions: AvailableAction[];
|
|
36
|
+
collectionFields: CollectionFieldRecord[];
|
|
37
|
+
renderScopeSelect: (props: {
|
|
38
|
+
value: unknown;
|
|
39
|
+
onChange: (value: unknown) => void;
|
|
40
|
+
action: AvailableAction;
|
|
41
|
+
}) => React.ReactNode;
|
|
42
|
+
t: TFunction;
|
|
43
|
+
}
|
|
44
|
+
export declare function RoleResourceActionsEditor(props: RoleResourceActionsEditorProps): React.JSX.Element;
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { Collection } from '@nocobase/flow-engine';
|
|
10
|
+
import React from 'react';
|
|
11
|
+
type TFunction = (key: string, options?: Record<string, unknown>) => string;
|
|
12
|
+
export interface ScopeSelectProps {
|
|
13
|
+
collection: Collection | undefined;
|
|
14
|
+
dataSourceKey: string;
|
|
15
|
+
resourceName: string;
|
|
16
|
+
value?: unknown;
|
|
17
|
+
onChange?: (value: unknown) => void;
|
|
18
|
+
t: TFunction;
|
|
19
|
+
}
|
|
20
|
+
export declare function ScopeSelect(props: ScopeSelectProps): React.JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
import type { RoleCollectionRecord } from './types';
|
|
10
|
+
export interface UpdateResource {
|
|
11
|
+
update: (params: Record<string, unknown>) => Promise<unknown>;
|
|
12
|
+
}
|
|
13
|
+
export interface GetResource {
|
|
14
|
+
get: (params: Record<string, unknown>) => Promise<unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface ListResource {
|
|
17
|
+
list: (params: Record<string, unknown>) => Promise<unknown>;
|
|
18
|
+
}
|
|
19
|
+
export interface CreateUpdateResource extends UpdateResource {
|
|
20
|
+
create: (params: Record<string, unknown>) => Promise<unknown>;
|
|
21
|
+
}
|
|
22
|
+
export interface DestroyResource {
|
|
23
|
+
destroy: (params: Record<string, unknown>) => Promise<unknown>;
|
|
24
|
+
}
|
|
25
|
+
export declare function updateGeneralActionPermissions(resource: UpdateResource, roleName: string, actions: string[]): Promise<void>;
|
|
26
|
+
export declare function saveRoleResourcePermissions(resource: CreateUpdateResource, collection: RoleCollectionRecord, dataSourceKey: string, values: Record<string, unknown>): Promise<void>;
|
|
27
|
+
export declare function saveScopeRecord(resource: CreateUpdateResource, options: {
|
|
28
|
+
id?: string | number;
|
|
29
|
+
resourceName: string;
|
|
30
|
+
values: Record<string, unknown>;
|
|
31
|
+
scope: unknown;
|
|
32
|
+
}): Promise<void>;
|
|
33
|
+
export declare function destroyScopeRecord(resource: DestroyResource, id: string | number): Promise<void>;
|