@nocobase/plugin-user-data-sync 1.5.0-beta.1 → 1.6.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/dist/client/157.index.js +10 -0
- package/dist/client/index.js +1 -1
- package/dist/externalVersion.js +7 -7
- package/package.json +2 -2
|
@@ -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_user_data_sync=self.webpackChunk_nocobase_plugin_user_data_sync||[]).push([["157"],{700:function(e,t,o){o.r(t),o.d(t,{UserDataSyncSource:function(){return _}});var n=o("482"),r=o("563"),i=o("505"),c=o("772"),a=o("721"),s=o("156"),l=o.n(s),p=o("60");function u(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),n.forEach(function(t){var n,r,i;n=e,r=t,i=o[t],r in n?Object.defineProperty(n,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[r]=i})}return e}var m=function(e){var t,o,n=(0,c.useCollectionRecordData)();var r=(0,c.useRequest)(function(){return Promise.resolve({data:u({},n.options)})},(t=u({},e),o=(o={manual:!0},o),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o.push.apply(o,n)}return o})(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t)),i=r.run,a=(0,c.useActionContext)();return(0,s.useEffect)(function(){a.visible&&i()},[a.visible,i]),r},y=function(e){var t,o=(0,c.usePlugin)(p.default).sourceTypes.get(e);return null==o?void 0:null===(t=o.components)||void 0===t?void 0:t.AdminSettingsForm},d=(0,i.observer)(function(){var e=(0,i.useForm)(),t=(0,c.useCollectionRecordData)(),o=y(e.values.sourceType||t.sourceType);return o?l().createElement(o,null):null},{displayName:"Options"}),f=o("573"),b={name:"userDataSyncSources",sortable:!0,filterTargetKey:"id",fields:[{name:"id",type:"string",interface:"id"},{interface:"input",type:"string",name:"name",uiSchema:{type:"string",title:'{{t("Source name")}}',"x-component":"Input",required:!0}},{interface:"input",type:"string",name:"sourceType",allowNull:!1,uiSchema:{type:"string",title:'{{t("Type")}}',"x-component":"Select",required:!0,dataSource:"{{ types }}"}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},v={name:"userDataSyncTasks",filterTargetKey:"id",fields:[{name:"id",type:"bigInt",interface:"id"},{name:"batch",interface:"input",type:"string",allowNull:!1,uiSchema:{type:"string",title:'{{t("Batch")}}',"x-component":"Input",required:!0}},{name:"source",interface:"input",type:"belongsTo",target:"userDataSyncSources",targetKey:"id",foreignKey:"sourceId",allowNull:!1,uiSchema:{type:"object",title:'{{t("Source")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"name"}},required:!0,"x-read-pretty":!0}},{name:"status",interface:"input",type:"string",allowNull:!1,uiSchema:{type:"string",title:'{{t("Status")}}',"x-component":"Select",required:!0,enum:[{label:'{{t("Init")}}',value:"init",color:"default"},{label:'{{t("Processing")}}',value:"processing",color:"processing"},{label:'{{t("Success")}}',value:"success",color:"success"},{label:'{{t("Failed")}}',value:"failed",color:"error"}]}},{name:"message",interface:"input",type:"string",allowNull:!0,uiSchema:{type:"string",title:'{{t("Message")}}',"x-component":"Input",required:!1}},{name:"cost",interface:"input",type:"integer",allowNull:!0,uiSchema:{type:"integer",title:'{{t("Cost")}}',"x-component":"InputNumber","x-component-props":{precision:0},required:!1}}]},x={type:"object",properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("Add new")}}',properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useCustomFormProps",properties:{name:{"x-component":"CollectionField","x-decorator":"FormItem"},sourceType:{"x-component":"CollectionField","x-decorator":"FormItem","x-component-props":{options:"{{ types }}"}},enabled:{"x-component":"CollectionField","x-decorator":"FormItem"},options:{type:"object","x-component":"Options"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-use-component-props":"useSubmitActionProps","x-component-props":{type:"primary"}}}}}}}}}},g={type:"object",properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{ t("Tasks") }}',properties:{table:{type:"void","x-decorator":"TableBlockProvider","x-use-decorator-props":"useTasksTableBlockProps","x-decorator-props":{collection:v.name,dragSort:!1,action:"list",showIndex:!0},properties:{table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id"},properties:{batch:{type:"void",title:'{{ t("Batch") }}',"x-component":"TableV2.Column",properties:{batch:{type:"string","x-component":"CollectionField","x-pattern":"readPretty"}}},status:{type:"void",title:'{{ t("Status") }}',"x-component":"TableV2.Column",properties:{status:{type:"string","x-component":"CollectionField","x-pattern":"readPretty"}}},message:{type:"void",title:'{{ t("Message") }}',"x-component":"TableV2.Column",properties:{message:{type:"string","x-component":"Message"}}},actions:{type:"void",title:'{{t("Actions")}}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{sync:{type:"void",title:'{{ t("Retry") }}',"x-component":"Action.Link","x-use-component-props":"useRetryActionProps","x-display":'{{ $record.status === "failed" ? "visible" : "hidden" }}'}}}}}}}}}}}}},h={type:"void",name:"userDataSyncSources","x-component":"CardItem","x-decorator":"TableBlockProvider","x-decorator-props":{collection:b.name,dragSort:!1,action:"list",params:{pageSize:10},showIndex:!0},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{t("Delete")}}',"x-component":"Action","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"AddNew","x-component-props":{type:"primary"}}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{name:{type:"void",title:'{{t("Source name")}}',"x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-pattern":"readPretty"}}},sourceType:{type:"void",title:'{{t("Type")}}',"x-component":"TableV2.Column",properties:{sourceType:{type:"string","x-component":"Select","x-pattern":"readPretty",enum:"{{ types }}"}}},enabled:{type:"void",title:'{{t("Enabled")}}',"x-component":"TableV2.Column",properties:{enabled:{type:"boolean","x-component":"CollectionField","x-pattern":"readPretty"}}},actions:{type:"void",title:'{{t("Actions")}}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{sync:{type:"void",title:'{{ t("Sync") }}',"x-component":"Action.Link","x-use-component-props":"useSyncActionProps","x-display":'{{ $record.enabled ? "visible" : "hidden" }}'},tasks:{type:"void",title:'{{ t("Tasks") }}',"x-component":"Tasks","x-component-props":{type:"primary"},"x-display":'{{ $record.enabled ? "visible" : "hidden" }}'},edit:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-component-props":{type:"primary",openMode:"drawer"},properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("Configure")}}',properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useEditFormProps",properties:{name:{"x-component":"CollectionField","x-decorator":"FormItem"},sourceType:{"x-component":"CollectionField","x-decorator":"FormItem","x-component-props":{options:"{{ types }}"}},enabled:{"x-component":"CollectionField","x-decorator":"FormItem"},options:{type:"object","x-component":"Options"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-use-component-props":"useSubmitActionProps","x-component-props":{type:"primary"}}}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-use-component-props":"useDeleteActionProps"}}}}}}}}},S=(0,s.createContext)({type:""});S.displayName="SourceTypeContext";var C=(0,s.createContext)({types:[]});C.displayName="SourceTypesContext";function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=Array(t);o<t;o++)n[o]=e[o];return n}function w(e,t,o,n,r,i,c){try{var a=e[i](c),s=a.value}catch(e){o(e);return}a.done?t(s):Promise.resolve(s).then(n,r)}function A(e){return function(){var t=this,o=arguments;return new Promise(function(n,r){var i=e.apply(t,o);function c(e){w(i,n,r,c,a,"next",e)}function a(e){w(i,n,r,c,a,"throw",e)}c(void 0)})}}function k(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o,n,r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i=[],c=!0,a=!1;try{for(r=r.call(e);!(c=(o=r.next()).done)&&(i.push(o.value),!t||i.length!==t);c=!0);}catch(e){a=!0,n=e}finally{try{!c&&null!=r.return&&r.return()}finally{if(a)throw n}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return P(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);if("Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o)return Array.from(o);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))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 T(e,t){var o,n,r,i,c={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(o)throw TypeError("Generator is already executing.");for(;c;)try{if(o=1,n&&(r=2&i[0]?n.return:i[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,i[1])).done)return r;switch(n=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return c.label++,{value:i[1],done:!1};case 5:c.label++,n=i[1],i=[0];continue;case 7:i=c.ops.pop(),c.trys.pop();continue;default:if(!(r=(r=c.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){c=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){c.label=i[1];break}if(6===i[0]&&c.label<r[1]){c.label=r[1],r=i;break}if(r&&c.label<r[2]){c.label=r[2],c.ops.push(i);break}r[2]&&c.ops.pop(),c.trys.pop();continue}i=t.call(e,c)}catch(e){i=[6,e],n=0}finally{o=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}var O=function(){var e=(0,c.useCollectionRecordData)();return{form:(0,s.useMemo)(function(){return(0,r.createForm)({values:e})},[])}},D=function(){var e=(0,c.useActionContext)().setVisible,t=(0,i.useForm)(),o=(0,c.useDataBlockResource)(),n=(0,c.useDataBlockRequestGetter)().getDataBlockRequest,r=(0,c.useCollection)();return{type:"primary",onClick:function(){return A(function(){var i,c;return T(this,function(a){switch(a.label){case 0:return[4,t.submit()];case 1:if(a.sent(),!(c=t.values)[r.filterTargetKey])return[3,3];return[4,o.update({values:c,filterByTk:c[r.filterTargetKey]})];case 2:return a.sent(),[3,5];case 3:return[4,o.create({values:c})];case 4:a.sent(),a.label=5;case 5:return[4,null===(i=n())||void 0===i?void 0:i.runAsync()];case 6:return a.sent(),e(!1),[2]}})})()}}};function E(){var e=(0,c.useCollectionRecordData)(),t=(0,c.useDataBlockResource)(),o=(0,c.useCollection)(),n=(0,c.useDataBlockRequestGetter)().getDataBlockRequest,r=(0,f.S)().t;return{confirm:{title:r("Delete",{ns:f.A}),content:r("Are you sure you want to delete it?",{ns:f.A})},onClick:function(){return A(function(){var r;return T(this,function(i){switch(i.label){case 0:return[4,t.destroy({filterByTk:e[o.filterTargetKey]})];case 1:return i.sent(),[4,null===(r=n())||void 0===r?void 0:r.runAsync()];case 2:return i.sent(),[2]}})})()}}}function j(){var e=a.App.useApp().message,t=(0,c.useCollectionRecordData)(),o=(0,c.useAPIClient)(),n=(0,c.useDataBlockRequestGetter)().getDataBlockRequest,r=(0,f.S)().t;return{onClick:function(){return A(function(){var i;return T(this,function(c){switch(c.label){case 0:return[4,o.resource("userData").pull({name:t.name})];case 1:return c.sent(),[4,null===(i=n())||void 0===i?void 0:i.runAsync()];case 2:return c.sent(),e.success(r("The synchronization has started. You can click on 'Tasks' to view the synchronization status.",{ns:f.A})),[2]}})})()}}}var F=function(){var e=(0,s.useContext)(S).type;return{form:(0,s.useMemo)(function(){return(0,r.createForm)({initialValues:{sourceType:e}})},[])}},I=function(){return{params:{pageSize:20,filter:{sourceId:(0,c.useCollectionRecordData)()[(0,c.useCollection)().filterTargetKey]},sort:["-sort"]}}};function B(){var e=(0,c.useCollectionRecordData)(),t=(0,c.useCollection)(),o=(0,c.useAPIClient)(),n=(0,c.useDataBlockRequestGetter)().getDataBlockRequest;return{onClick:function(){return A(function(){var r;return T(this,function(i){switch(i.label){case 0:return[4,o.resource("userData").retry({id:e[t.filterTargetKey],sourceId:e.sourceId})];case 1:return i.sent(),[4,null===(r=n())||void 0===r?void 0:r.runAsync()];case 2:return i.sent(),[2]}})})()}}}var R=function(){var e=(0,f.S)().t,t=(0,c.useAPIClient)(),o=k((0,s.useState)(!1),2),r=o[0],i=o[1],p=k((0,s.useState)(""),2),u=p[0],m=p[1],y=(0,s.useContext)(C).types,d=y.map(function(e){var t,o;return t=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{},n=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(o).filter(function(e){return Object.getOwnPropertyDescriptor(o,e).enumerable}))),n.forEach(function(t){var n,r,i;n=e,r=t,i=o[t],r in n?Object.defineProperty(n,r,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[r]=i})}return e}({},e),o=(o={onClick:function(){i(!0),m(e.value)}},o),Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):(function(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o.push.apply(o,n)}return o})(Object(o)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}),t}),b=[{key:"__empty__",label:l().createElement(a.Empty,{image:a.Empty.PRESENTED_IMAGE_SIMPLE,description:l().createElement(l().Fragment,null,e("No user data source plugin installed",{ns:f.A}),l().createElement("br",null)," ",l().createElement("a",{target:"_blank",href:"zh-CN"===t.auth.locale?"https://docs-cn.nocobase.com/handbook/user-data-sync":"https://docs.nocobase.com/handbook/user-data-sync",rel:"noreferrer"},e("View documentation",{ns:f.A})))}),onClick:function(){}}];return l().createElement(c.ActionContextProvider,{value:{visible:r,setVisible:i}},l().createElement(S.Provider,{value:{type:u}},l().createElement(a.Dropdown,{menu:{items:d&&d.length>0?d:b}},l().createElement(a.Button,{icon:l().createElement(n.PlusOutlined,null),type:"primary"},e("Add new")," ",l().createElement(n.DownOutlined,null))),l().createElement(c.SchemaComponent,{scope:{types:y,setType:m,useCustomFormProps:F},schema:x})))},V=function(){var e=(0,f.S)().t,t=(0,c.useCollectionRecordData)();return l().createElement(c.ReadPretty.Input,{value:e(t.message),ellipsis:!0})},q=function(){var e=(0,f.S)().t,t=k((0,s.useState)(!1),2),o=t[0],n=t[1];return l().createElement(c.ActionContextProvider,{value:{visible:o,setVisible:n}},l().createElement(a.Button,{type:"link",onClick:function(){n(!0)}},e("Tasks")),l().createElement(c.ExtendCollectionsProvider,{collections:[v]},l().createElement(c.SchemaComponent,{scope:{useRetryActionProps:B,useTasksTableBlockProps:I,t:e},components:{Message:V},schema:g})))},_=function(){var e=(0,f.S)().t,t=k((0,s.useState)([]),2),o=t[0],n=t[1],r=(0,c.useAPIClient)();return(0,c.useRequest)(function(){return r.resource("userData").listSyncTypes().then(function(t){var o;return((null==t?void 0:null===(o=t.data)||void 0===o?void 0:o.data)||[]).map(function(t){return{key:t.name,label:i.Schema.compile(t.title||t.name,{t:e}),value:t.name}})})},{onSuccess:function(e){n(e)}}),l().createElement(C.Provider,{value:{types:o}},l().createElement(c.ExtendCollectionsProvider,{collections:[b]},l().createElement(c.SchemaComponent,{schema:h,components:{AddNew:R,Options:d,Tasks:q},scope:{types:o,t:e,useEditFormProps:O,useSubmitActionProps:D,useDeleteActionProps:E,useSyncActionProps:j,useValuesFromOptions:m}})))}}}]);
|
package/dist/client/index.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
(function(o,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("@nocobase/client"),require("@nocobase/utils/client"),require("react-i18next"),require("react/jsx-runtime"),require("antd"),require("react"),require("@ant-design/icons"),require("@formily/react"),require("@formily/core")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","@nocobase/utils/client","react-i18next","react/jsx-runtime","antd","react","@ant-design/icons","@formily/react","@formily/core"],e):(o=typeof globalThis!="undefined"?globalThis:o||self,e(o["@nocobase/plugin-user-data-sync"]={},o["@nocobase/client"],o["@nocobase/utils"],o["react-i18next"],o.jsxRuntime,o.antd,o.react,o["@ant-design/icons"],o["@formily/react"],o["@formily/core"]))})(this,function(o,e,c,T,r,m,p,b,l,f){"use strict";var X=Object.defineProperty,Z=Object.defineProperties;var $=Object.getOwnPropertyDescriptors;var I=Object.getOwnPropertySymbols;var ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable;var k=(o,e,c)=>e in o?X(o,e,{enumerable:!0,configurable:!0,writable:!0,value:c}):o[e]=c,C=(o,e)=>{for(var c in e||(e={}))ee.call(e,c)&&k(o,c,e[c]);if(I)for(var c of I(e))te.call(e,c)&&k(o,c,e[c]);return o},P=(o,e)=>Z(o,$(e));var B=(o,e,c)=>(k(o,typeof e!="symbol"?e+"":e,c),c);var S=(o,e,c)=>new Promise((T,r)=>{var m=l=>{try{b(c.next(l))}catch(f){r(f)}},p=l=>{try{b(c.throw(l))}catch(f){r(f)}},b=l=>l.done?T(l.value):Promise.resolve(l.value).then(m,p);b((c=c.apply(o,e)).next())});const y="user-data-sync";function x(){return T.useTranslation([y,"client"],{nsMode:"fallback"})}const D={name:"userDataSyncSources",sortable:!0,filterTargetKey:"id",fields:[{name:"id",type:"string",interface:"id"},{interface:"input",type:"string",name:"name",uiSchema:{type:"string",title:'{{t("Source name")}}',"x-component":"Input",required:!0}},{interface:"input",type:"string",name:"sourceType",allowNull:!1,uiSchema:{type:"string",title:'{{t("Type")}}',"x-component":"Select",required:!0,dataSource:"{{ types }}"}},{type:"boolean",name:"enabled",uiSchema:{type:"boolean",title:'{{t("Enabled")}}',"x-component":"Checkbox"}}]},w={name:"userDataSyncTasks",filterTargetKey:"id",fields:[{name:"id",type:"bigInt",interface:"id"},{name:"batch",interface:"input",type:"string",allowNull:!1,uiSchema:{type:"string",title:'{{t("Batch")}}',"x-component":"Input",required:!0}},{name:"source",interface:"input",type:"belongsTo",target:"userDataSyncSources",targetKey:"id",foreignKey:"sourceId",allowNull:!1,uiSchema:{type:"object",title:'{{t("Source")}}',"x-component":"AssociationField","x-component-props":{fieldNames:{value:"id",label:"name"}},required:!0,"x-read-pretty":!0}},{name:"status",interface:"input",type:"string",allowNull:!1,uiSchema:{type:"string",title:'{{t("Status")}}',"x-component":"Select",required:!0,enum:[{label:'{{t("Init")}}',value:"init",color:"default"},{label:'{{t("Processing")}}',value:"processing",color:"processing"},{label:'{{t("Success")}}',value:"success",color:"success"},{label:'{{t("Failed")}}',value:"failed",color:"error"}]}},{name:"message",interface:"input",type:"string",allowNull:!0,uiSchema:{type:"string",title:'{{t("Message")}}',"x-component":"Input",required:!1}},{name:"cost",interface:"input",type:"integer",allowNull:!0,uiSchema:{type:"integer",title:'{{t("Cost")}}',"x-component":"InputNumber","x-component-props":{precision:0},required:!1}}]},q={type:"object",properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("Add new")}}',properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useCustomFormProps",properties:{name:{"x-component":"CollectionField","x-decorator":"FormItem"},sourceType:{"x-component":"CollectionField","x-decorator":"FormItem","x-component-props":{options:"{{ types }}"}},enabled:{"x-component":"CollectionField","x-decorator":"FormItem"},options:{type:"object","x-component":"Options"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-use-component-props":"useSubmitActionProps","x-component-props":{type:"primary"}}}}}}}}}},V={type:"object",properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{ t("Tasks") }}',properties:{table:{type:"void","x-decorator":"TableBlockProvider","x-use-decorator-props":"useTasksTableBlockProps","x-decorator-props":{collection:w.name,dragSort:!1,action:"list",showIndex:!0},properties:{table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id"},properties:{batch:{type:"void",title:'{{ t("Batch") }}',"x-component":"TableV2.Column",properties:{batch:{type:"string","x-component":"CollectionField","x-pattern":"readPretty"}}},status:{type:"void",title:'{{ t("Status") }}',"x-component":"TableV2.Column",properties:{status:{type:"string","x-component":"CollectionField","x-pattern":"readPretty"}}},message:{type:"void",title:'{{ t("Message") }}',"x-component":"TableV2.Column",properties:{message:{type:"string","x-component":"Message"}}},actions:{type:"void",title:'{{t("Actions")}}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{sync:{type:"void",title:'{{ t("Retry") }}',"x-component":"Action.Link","x-use-component-props":"useRetryActionProps","x-display":'{{ $record.status === "failed" ? "visible" : "hidden" }}'}}}}}}}}}}}}},N={type:"void",name:"userDataSyncSources","x-component":"CardItem","x-decorator":"TableBlockProvider","x-decorator-props":{collection:D.name,dragSort:!1,action:"list",params:{pageSize:10},showIndex:!0},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{delete:{type:"void",title:'{{t("Delete")}}',"x-component":"Action","x-use-component-props":"useBulkDestroyActionProps","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}}},create:{type:"void",title:'{{t("Add new")}}',"x-component":"AddNew","x-component-props":{type:"primary"}}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{name:{type:"void",title:'{{t("Source name")}}',"x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-pattern":"readPretty"}}},sourceType:{type:"void",title:'{{t("Type")}}',"x-component":"TableV2.Column",properties:{sourceType:{type:"string","x-component":"Select","x-pattern":"readPretty",enum:"{{ types }}"}}},enabled:{type:"void",title:'{{t("Enabled")}}',"x-component":"TableV2.Column",properties:{enabled:{type:"boolean","x-component":"CollectionField","x-pattern":"readPretty"}}},actions:{type:"void",title:'{{t("Actions")}}',"x-decorator":"TableV2.Column.ActionBar","x-component":"TableV2.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{sync:{type:"void",title:'{{ t("Sync") }}',"x-component":"Action.Link","x-use-component-props":"useSyncActionProps","x-display":'{{ $record.enabled ? "visible" : "hidden" }}'},tasks:{type:"void",title:'{{ t("Tasks") }}',"x-component":"Tasks","x-component-props":{type:"primary"},"x-display":'{{ $record.enabled ? "visible" : "hidden" }}'},edit:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-component-props":{type:"primary",openMode:"drawer"},properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("Configure")}}',properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useEditFormProps",properties:{name:{"x-component":"CollectionField","x-decorator":"FormItem"},sourceType:{"x-component":"CollectionField","x-decorator":"FormItem","x-component-props":{options:"{{ types }}"}},enabled:{"x-component":"CollectionField","x-decorator":"FormItem"},options:{type:"object","x-component":"Options"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{submit:{title:'{{t("Submit")}}',"x-component":"Action","x-use-component-props":"useSubmitActionProps","x-component-props":{type:"primary"}}}}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action.Link","x-use-component-props":"useDeleteActionProps"}}}}}}}}},g=p.createContext({type:""});g.displayName="SourceTypeContext";const v=p.createContext({types:[]});v.displayName="SourceTypesContext";const E=()=>{const{types:t}=p.useContext(v);return t},M=t=>{const n=e.useCollectionRecordData(),s=e.useRequest(()=>Promise.resolve({data:C({},n.options)}),P(C({},t),{manual:!0})),{run:i}=s,a=e.useActionContext();return p.useEffect(()=>{a.visible&&i()},[a.visible,i]),s},K=t=>{var i;const s=e.usePlugin(h).sourceTypes.get(t);return(i=s==null?void 0:s.components)==null?void 0:i.AdminSettingsForm},j=l.observer(()=>{const t=l.useForm(),n=e.useCollectionRecordData(),s=K(t.values.sourceType||n.sourceType);return s?r.jsx(s,{}):null},{displayName:"Options"}),O=()=>{const t=e.useCollectionRecordData();return{form:p.useMemo(()=>f.createForm({values:t}),[])}},_=()=>{const{setVisible:t}=e.useActionContext(),n=l.useForm(),s=e.useDataBlockResource(),{runAsync:i}=e.useDataBlockRequest(),a=e.useCollection();return{type:"primary",onClick(){return S(this,null,function*(){yield n.submit();const u=n.values;u[a.filterTargetKey]?yield s.update({values:u,filterByTk:u[a.filterTargetKey]}):yield s.create({values:u}),yield i(),t(!1)})}}};function z(){const t=e.useCollectionRecordData(),n=e.useDataBlockResource(),s=e.useCollection(),{runAsync:i}=e.useDataBlockRequest(),{t:a}=x();return{confirm:{title:a("Delete",{ns:y}),content:a("Are you sure you want to delete it?",{ns:y})},onClick(){return S(this,null,function*(){yield n.destroy({filterByTk:t[s.filterTargetKey]}),yield i()})}}}function L(){const{message:t}=m.App.useApp(),n=e.useCollectionRecordData(),s=e.useAPIClient(),{runAsync:i}=e.useDataBlockRequest(),{t:a}=x();return{onClick(){return S(this,null,function*(){yield s.resource("userData").pull({name:n.name}),yield i(),t.success(a("The synchronization has started. You can click on 'Tasks' to view the synchronization status.",{ns:y}))})}}}const U=()=>{const{type:t}=p.useContext(g);return{form:p.useMemo(()=>f.createForm({initialValues:{sourceType:t}}),[])}},R=()=>{const t=e.useCollectionRecordData(),n=e.useCollection();return{params:{pageSize:20,filter:{sourceId:t[n.filterTargetKey]},sort:["-sort"]}}};function G(){m.App.useApp();const t=e.useCollectionRecordData(),n=e.useCollection(),s=e.useAPIClient(),{runAsync:i}=e.useDataBlockRequest();return x(),{onClick(){return S(this,null,function*(){yield s.resource("userData").retry({id:t[n.filterTargetKey],sourceId:t.sourceId}),yield i()})}}}const Y=()=>{const{t}=x(),n=e.useAPIClient(),[s,i]=p.useState(!1),[a,A]=p.useState(""),u=E(),d=u.map(F=>P(C({},F),{onClick:()=>{i(!0),A(F.value)}})),W=[{key:"__empty__",label:r.jsx(m.Empty,{image:m.Empty.PRESENTED_IMAGE_SIMPLE,description:r.jsxs(r.Fragment,{children:[t("No user data source plugin installed",{ns:y}),r.jsx("br",{})," ",r.jsx("a",{target:"_blank",href:n.auth.locale==="zh-CN"?"https://docs-cn.nocobase.com/handbook/user-data-sync":"https://docs.nocobase.com/handbook/user-data-sync",rel:"noreferrer",children:t("View documentation",{ns:y})})]})}),onClick:()=>{}}];return r.jsx(e.ActionContextProvider,{value:{visible:s,setVisible:i},children:r.jsxs(g.Provider,{value:{type:a},children:[r.jsx(m.Dropdown,{menu:{items:d&&d.length>0?d:W},children:r.jsxs(m.Button,{icon:r.jsx(b.PlusOutlined,{}),type:"primary",children:[t("Add new")," ",r.jsx(b.DownOutlined,{})]})}),r.jsx(e.SchemaComponent,{scope:{types:u,setType:A,useCustomFormProps:U},schema:q})]})})},H=()=>{const{t}=x(),n=e.useCollectionRecordData();return r.jsx(e.ReadPretty.Input,{value:t(n.message),ellipsis:!0})},J=()=>{const{t}=x(),[n,s]=p.useState(!1);return r.jsxs(e.ActionContextProvider,{value:{visible:n,setVisible:s},children:[r.jsx(m.Button,{type:"link",onClick:()=>{s(!0)},children:t("Tasks")}),r.jsx(e.ExtendCollectionsProvider,{collections:[w],children:r.jsx(e.SchemaComponent,{scope:{useRetryActionProps:G,useTasksTableBlockProps:R,t},components:{Message:H},schema:V})})]})},Q=()=>{const{t}=x(),[n,s]=p.useState([]),i=e.useAPIClient();return e.useRequest(()=>i.resource("userData").listSyncTypes().then(a=>{var u;return(((u=a==null?void 0:a.data)==null?void 0:u.data)||[]).map(d=>({key:d.name,label:l.Schema.compile(d.title||d.name,{t}),value:d.name}))}),{onSuccess:a=>{s(a)}}),r.jsx(v.Provider,{value:{types:n},children:r.jsx(e.ExtendCollectionsProvider,{collections:[D],children:r.jsx(e.SchemaComponent,{schema:N,components:{AddNew:Y,Options:j,Tasks:J},scope:{types:n,t,useEditFormProps:O,useSubmitActionProps:_,useDeleteActionProps:z,useSyncActionProps:L,useValuesFromOptions:M}})})})};class h extends e.Plugin{constructor(){super(...arguments);B(this,"sourceTypes",new c.Registry)}registerType(s,i){this.sourceTypes.register(s,i)}load(){return S(this,null,function*(){this.app.pluginSettingsManager.add("users-permissions.sync",{title:c.tval("Synchronize",{ns:y}),icon:"SyncOutlined",Component:Q,sort:99,aclSnippet:"pm.user-data-sync"})})}}o.PluginUserDataSyncClient=h,o.default=h,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@ant-design/icons"),require("@formily/react"),require("react")):"function"==typeof define&&define.amd?define("@nocobase/plugin-user-data-sync",["react-i18next","@nocobase/utils/client","@formily/core","@nocobase/client","antd","@ant-design/icons","@formily/react","react"],t):"object"==typeof exports?exports["@nocobase/plugin-user-data-sync"]=t(require("react-i18next"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@ant-design/icons"),require("@formily/react"),require("react")):e["@nocobase/plugin-user-data-sync"]=t(e["react-i18next"],e["@nocobase/utils/client"],e["@formily/core"],e["@nocobase/client"],e.antd,e["@ant-design/icons"],e["@formily/react"],e.react)}(self,function(e,t,n,r,o,i,u,c){return function(){var a,s,l,f,p,d={60:function(e,t,n){"use strict";n.r(t),n.d(t,{PluginUserDataSyncClient:function(){return b}});var r=n(772),o=n(584),i=n(573),u=n(581);function c(e,t,n,r,o,i,u){try{var c=e[i](u),a=c.value}catch(e){n(e);return}c.done?t(a):Promise.resolve(a).then(r,o)}function a(e,t,n){return(a=d()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&f(o,n.prototype),o}).apply(null,arguments)}function s(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 l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){var t="function"==typeof Map?new Map:void 0;return(p=function(e){var n;if(null===e||(n=e,-1===Function.toString.call(n).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,r)}function r(){return a(e,arguments,l(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),f(r,e)})(e)}function d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(d=function(){return!!e})()}var y=(0,r.lazy)(function(){return u("imported_-1c4lqme_component",n.e("157").then(n.bind(n,700)))},"UserDataSyncSource").UserDataSyncSource,b=function(e){var t,n,r;function u(){var e,t,n,r,i,c,a;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,u),t=this,n=u,r=arguments,n=l(n),i=e=function(e,t){return t&&("object"===function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}(t)||"function"==typeof t)?t:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(t,d()?Reflect.construct(n,r||[],l(t).constructor):n.apply(t,r)),c="sourceTypes",a=new o.Registry,c in i?Object.defineProperty(i,c,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[c]=a,e}return!function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(u,e),t=u,n=[{key:"registerType",value:function(e,t){this.sourceTypes.register(e,t)}},{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw TypeError("Generator is already executing.");for(;u;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}(this,function(e){return t.app.pluginSettingsManager.add("users-permissions.sync",{title:(0,o.tval)("Synchronize",{ns:i.A}),icon:"SyncOutlined",Component:y,sort:99,aclSnippet:"pm.user-data-sync"}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function u(e){c(i,r,o,u,a,"next",e)}function a(e){c(i,r,o,u,a,"throw",e)}u(void 0)})})()}}],s(t.prototype,n),u}(p(r.Plugin));t.default=b},573:function(e,t,n){"use strict";n.d(t,{A:function(){return o},S:function(){return i}});var r=n(238),o="user-data-sync";function i(){return(0,r.useTranslation)([o,"client"],{nsMode:"fallback"})}},581:function(e){e.exports=function(e,t){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,t),t}},482:function(e){"use strict";e.exports=i},563:function(e){"use strict";e.exports=n},505:function(e){"use strict";e.exports=u},772:function(e){"use strict";e.exports=r},584:function(e){"use strict";e.exports=t},721:function(e){"use strict";e.exports=o},156:function(e){"use strict";e.exports=c},238:function(t){"use strict";t.exports=e}},y={};function b(e){var t=y[e];if(void 0!==t)return t.exports;var n=y[e]={exports:{}};return d[e](n,n.exports,b),n.exports}return b.m=d,b.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return b.d(t,{a:t}),t},b.d=function(e,t){for(var n in t)b.o(t,n)&&!b.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},b.f={},b.e=function(e){return Promise.all(Object.keys(b.f).reduce(function(t,n){return b.f[n](e,t),t},[]))},b.u=function(e){return""+e+".index.js"},b.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a={},s="@nocobase/plugin-user-data-sync:",b.l=function(e,t,n,r){if(a[e]){a[e].push(t);return}if(void 0!==n){for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var l=u[c];if(l.getAttribute("src")==e||l.getAttribute("data-webpack")==s+n){o=l;break}}}!o&&(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,b.nc&&o.setAttribute("nonce",b.nc),o.setAttribute("data-webpack",s+n),o.src=e),a[e]=[t];var f=function(t,n){o.onerror=o.onload=null,clearTimeout(p);var r=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(f.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=f.bind(null,o.onerror),o.onload=f.bind(null,o.onload),i&&document.head.appendChild(o)},b.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/static/plugins/@nocobase/plugin-user-data-sync/dist/client/",l={909:0},b.f.j=function(e,t){var n=b.o(l,e)?l[e]:void 0;if(0!==n){if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=l[e]=[t,r]});t.push(n[2]=r);var o=b.p+b.u(e),i=Error();b.l(o,function(t){if(b.o(l,e)&&(0!==(n=l[e])&&(l[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)}}},f=function(e,t){var n=t[0],r=t[1],o=t[2],i,u,c=0;if(n.some(function(e){return 0!==l[e]})){for(i in r)b.o(r,i)&&(b.m[i]=r[i]);o&&o(b)}for(e&&e(t);c<n.length;c++)u=n[c],b.o(l,u)&&l[u]&&l[u][0](),l[u]=0},(p=self.webpackChunk_nocobase_plugin_user_data_sync=self.webpackChunk_nocobase_plugin_user_data_sync||[]).forEach(f.bind(null,0)),p.push=f.bind(null,p.push.bind(p)),b("60")}()});
|
package/dist/externalVersion.js
CHANGED
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
"react": "18.2.0",
|
|
12
12
|
"@formily/react": "2.3.0",
|
|
13
|
-
"@nocobase/client": "1.
|
|
14
|
-
"antd": "5.12.8",
|
|
13
|
+
"@nocobase/client": "1.6.0-alpha.1",
|
|
15
14
|
"@ant-design/icons": "5.2.6",
|
|
16
15
|
"@formily/core": "2.3.0",
|
|
17
|
-
"
|
|
18
|
-
"@nocobase/
|
|
19
|
-
"@nocobase/
|
|
20
|
-
"@nocobase/
|
|
16
|
+
"antd": "5.12.8",
|
|
17
|
+
"@nocobase/utils": "1.6.0-alpha.1",
|
|
18
|
+
"@nocobase/server": "1.6.0-alpha.1",
|
|
19
|
+
"@nocobase/logger": "1.6.0-alpha.1",
|
|
20
|
+
"@nocobase/actions": "1.6.0-alpha.1",
|
|
21
21
|
"dayjs": "1.11.10",
|
|
22
|
-
"@nocobase/database": "1.
|
|
22
|
+
"@nocobase/database": "1.6.0-alpha.1",
|
|
23
23
|
"react-i18next": "11.18.6"
|
|
24
24
|
};
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName.zh-CN": "用户数据同步",
|
|
5
5
|
"description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.",
|
|
6
6
|
"description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.6.0-alpha.1",
|
|
8
8
|
"main": "dist/server/index.js",
|
|
9
9
|
"peerDependencies": {
|
|
10
10
|
"@nocobase/client": "1.x",
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
"keywords": [
|
|
15
15
|
"Users & permissions"
|
|
16
16
|
],
|
|
17
|
-
"gitHead": "
|
|
17
|
+
"gitHead": "a4c91015e34ec0c9a427451b5fbdfb5fedc4f3d7"
|
|
18
18
|
}
|