@nocobase/plugin-users 1.6.0-alpha.5 → 1.6.0-alpha.7
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/45417a5bed52e98e.js +10 -0
- package/dist/client/5bd6efa848ce317b.js +10 -0
- package/dist/client/UsersProvider.d.ts +11 -0
- package/dist/client/e04edf6224b393f2.js +10 -0
- package/dist/client/index.js +1 -1
- package/dist/externalVersion.js +10 -8
- package/dist/locale/en-US.json +2 -1
- package/dist/locale/zh-CN.json +2 -1
- package/dist/server/actions/users.d.ts +1 -0
- package/dist/server/actions/users.js +66 -3
- package/dist/server/migrations/20241117112824-profile-schema.d.ts +13 -0
- package/dist/server/migrations/20241117112824-profile-schema.js +64 -0
- package/dist/server/profile/edit-form-schema.d.ts +490 -0
- package/dist/server/profile/edit-form-schema.js +521 -0
- package/dist/server/server.d.ts +4 -2
- package/dist/server/server.js +24 -9
- package/package.json +3 -2
- package/dist/client/06ac3fe39564952e.js +0 -10
- package/dist/client/22278d77439e9853.js +0 -10
|
@@ -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_users=self.webpackChunk_nocobase_plugin_users||[]).push([["554"],{891:function(e,t,r){r.r(t),r.d(t,{UsersManagement:function(){return B}});var n=r("964"),o=r("563"),a=r("505"),u=r("772"),i=r("721"),c=r("156"),s=r.n(c),l=r("888"),f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r="abcdefghijklmnopqrstuvwxyz",n="0123456789",o="!#$%^&*-_+=",a=t+r+n+o,u=new Uint32Array(e);crypto.getRandomValues(u);var i="";i+=t.charAt(u[0]%t.length),i+=r.charAt(u[1]%r.length),i+=n.charAt(u[2]%n.length),i+=o.charAt(u[3]%o.length);for(var c=4;c<e;c++){var s=u[c]%a.length;i+=a.charAt(s)}return i=i[0]+i.slice(1).split("").sort(function(){return Math.random()-.5}).join("")};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}var m=function(){var e,t,r=(0,l.B)().t,n=(0,a.useField)();var o=(e=s().useState(!1),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,i=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){i=!0,n=e}finally{try{!u&&null!=o.return&&o.return()}finally{if(i)throw n}}return a}}(e,2)||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.")}()),m=o[0],b=o[1],v=(0,u.useActionContext)();return(0,c.useEffect)(function(){if(!v.visible)n.reset()},[n,v.visible]),s().createElement(i.Row,{gutter:10},s().createElement(i.Col,{span:18},s().createElement(u.Password,{checkStrength:!0,visibilityToggle:{visible:m,onVisibleChange:b},value:n.value,onChange:function(e){return n.setValue(e.target.value)},autoComplete:"off"})),s().createElement(i.Col,{span:4},s().createElement(i.Button,{onClick:function(){n.setValue(f()),b(!0)}},r("Random password"))))},b=r("241");function v(e,t,r,n,o,a,u){try{var i=e[a](u),c=i.value}catch(e){r(e);return}i.done?t(c):Promise.resolve(c).then(n,o)}function d(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var a=e.apply(t,r);function u(e){v(a,n,o,u,i,"next",e)}function i(e){v(a,n,o,u,i,"throw",e)}u(void 0)})}}function y(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,o,a;n=e,o=t,a=r[t],o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a})}return e}function h(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function g(e,t){var r,n,o,a,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw TypeError("Generator is already executing.");for(;u;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return u.label++,{value:a[1],done:!1};case 5:u.label++,n=a[1],a=[0];continue;case 7:a=u.ops.pop(),u.trys.pop();continue;default:if(!(o=(o=u.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){u=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){u.label=a[1];break}if(6===a[0]&&u.label<o[1]){u.label=o[1],o=a;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(a);break}o[2]&&u.ops.pop(),u.trys.pop();continue}a=t.call(e,u)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}function C(){var e,t,r=(e=["\n .ant-tabs-nav {\n margin-bottom: 0px;\n }\n "],!t&&(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return C=function(){return r},r}var P=function(){var e=(0,u.useActionContext)().setVisible,t=(0,a.useForm)();return{type:"default",onClick:function(){e(!1),t.reset()}}},w=function(){var e=(0,u.useActionContext)().setVisible,t=i.App.useApp().message,r=(0,a.useForm)(),n=(0,u.useDataBlockResource)(),o=(0,u.useDataBlockRequest)().refresh,c=(0,l.B)().t,s=(0,u.useCollection)();return{htmlType:"submit",type:"primary",onClick:function(){return d(function(){var a;return g(this,function(u){switch(u.label){case 0:return[4,r.submit()];case 1:if(u.sent(),!(a=r.values)[s.filterTargetKey])return[3,3];return[4,n.update({values:a,filterByTk:a[s.filterTargetKey]})];case 2:return u.sent(),[3,5];case 3:return[4,n.create({values:a})];case 4:u.sent(),u.label=5;case 5:return o(),t.success(c("Saved successfully")),e(!1),r.reset(),[2]}})})()}}},S=function(){var e=(0,u.useCollectionRecordData)();return{form:(0,c.useMemo)(function(){return(0,o.createForm)({initialValues:e})},[e])}},O=function(){return s().createElement(u.RemoteSchemaComponent,{uid:"nocobase-admin-profile-create-form",noForm:!0})},E=function(){var e=(0,u.useCollectionManager)().getCollection("users"),t=h(y({},e),{name:"users",fields:e.fields.filter(function(e){return"password"!==e.name})});return s().createElement(u.ExtendCollectionsProvider,{collections:[t]},s().createElement(u.RemoteSchemaComponent,{uid:"nocobase-admin-profile-edit-form",noForm:!0,scope:{useCancelActionProps:P}}))},A=function(){var e=(0,u.useSchemaComponentContext)();return s().createElement(u.SchemaComponentContext.Provider,{value:h(y({},e),{designable:!1})},s().createElement(u.SchemaComponent,{schema:{type:"void",properties:{filter:{type:"void",title:'{{ t("Filter") }}',"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"}}}}}))},j=function(){var e=(0,l.B)().t;return s().createElement(u.SchemaComponent,{schema:b.SN,scope:{t:e,useCancelActionProps:P,useSubmitActionProps:w,useEditFormProps:S},components:{PasswordField:m,ProfileEditForm:E,ProfileCreateForm:O,FilterAction:A}})},k=(0,c.createContext)({}),F=function(e){var t=(0,u.useRequest)({url:"systemSettings:get/1"});return s().createElement(k.Provider,{value:t},e.children)},x=function(){var e=(0,l.B)().t,t=(0,a.useForm)();return s().createElement(u.SchemaComponent,{schema:b.eF,scope:{t:e,useFormBlockProps:function(){var e,r=(0,c.useContext)(k),n=(null==r?void 0:null===(e=r.data)||void 0===e?void 0:e.data)||{},o=n.enableChangePassword,a=n.enableEditProfile;return(0,c.useEffect)(function(){null==t||t.setValues({enableChangePassword:!1!==o,enableEditProfile:!1!==a})},[r]),{form:t}},useSubmitActionProps:function(){var t=(0,u.useAPIClient)(),r=(0,a.useForm)();return{type:"primary",onClick:function(){return d(function(){var n;return g(this,function(o){switch(o.label){case 0:return[4,r.submit()];case 1:return o.sent(),n=r.values,[4,t.request({url:"systemSettings:update/1",data:n,method:"POST"})];case 2:return o.sent(),i.message.success(e("Saved successfully")),window.location.reload(),[2]}})})()}}}},components:{UsersSettingsProvider:F}})},B=function(){var e=(0,l.B)().t;return s().createElement(i.Tabs,{defaultActiveKey:"usersManager",type:"card",className:(0,n.css)(C()),items:[{label:e("Users manager"),key:"usersManager",children:s().createElement(j,null)},{label:e("Settings"),key:"usersSettings",children:s().createElement(x,null)}]})}}}]);
|
|
@@ -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_users=self.webpackChunk_nocobase_plugin_users||[]).push([["360"],{888:function(e,o,t){t.d(o,{B:function(){return r}});var n=t(238);function r(){return(0,n.useTranslation)(["users","client"],{nsMode:"fallback"})}},241:function(e,o,t){t.d(o,{Lu:function(){return s},SN:function(){return i},eF:function(){return c},ij:function(){return p}});var n=t(875);function r(e,o,t){return o in e?Object.defineProperty(e,o,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[o]=t,e}var p={name:"users",fields:[{name:"id",type:"bigInt",autoIncrement:!0,primaryKey:!0,allowNull:!1,uiSchema:{type:"number",title:'{{t("ID")}}',"x-component":"InputNumber","x-read-pretty":!0},interface:"id"},{interface:"input",type:"string",name:"nickname",uiSchema:{type:"string",title:'{{t("Nickname")}}',"x-component":"Input"}},{interface:"input",type:"string",name:"username",unique:!0,uiSchema:{type:"string",title:'{{t("Username")}}',"x-component":"Input","x-validator":{username:!0},required:!0}},{interface:"email",type:"string",name:"email",unique:!0,uiSchema:{type:"string",title:'{{t("Email")}}',"x-component":"Input","x-validator":"email",required:!0}},{interface:"phone",type:"string",name:"phone",unique:!0,uiSchema:{type:"string",title:'{{t("Phone")}}',"x-component":"Input",required:!0}},{interface:"password",type:"password",name:"password",hidden:!0,uiSchema:{type:"string",title:'{{t("Password")}}',"x-component":"Password"}},{interface:"m2m",type:"belongsToMany",name:"roles",target:"roles",foreignKey:"userId",otherKey:"roleName",onDelete:"CASCADE",sourceKey:"id",targetKey:"name",through:"rolesUsers",uiSchema:{type:"array",title:'{{t("Roles")}}',"x-component":"AssociationField","x-component-props":{multiple:!0,fieldNames:{label:"title",value:"name"}}}}]},i={type:"object",properties:{block1:{type:"void","x-component":"CardItem","x-component-props":{heightMode:"fullHeight"},"x-decorator":"TableBlockProvider","x-decorator-props":{dataSource:"main",rowKey:"id",collection:"users",action:"list",params:{pageSize:20}},"x-use-decorator-props":"useTableBlockDecoratorProps",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:"var(--nb-spacing)"}},properties:{filter:{type:"void","x-component":"FilterAction","x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-action":"refresh","x-component":"Action","x-component-props":{icon:"ReloadOutlined"},"x-use-component-props":"useRefreshActionProps"},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{confirm:{title:"{{t('Delete users')}}",content:"{{t('Are you sure you want to delete it?')}}"},icon:"DeleteOutlined"},"x-use-component-props":"useBulkDestroyActionProps"},create:{type:"void",title:'{{t("Add new")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add user")}}',properties:{form:{type:"void","x-component":"ProfileCreateForm"}}}}}}},table:{type:"array","x-uid":"input","x-component":"TableV2","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},"x-use-component-props":"useTableBlockProps",properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{nickname:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{email:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",title:'{{t("Roles")}}',properties:{roles:{"x-component":"CollectionField","x-component-props":{mode:"Tag",enableLink:!1,ellipsis:!0},"x-read-pretty":!0,"x-collection-field":"users.roles"}}},column5:{type:"void",title:'{{t("Actions")}}',"x-component":"TableV2.Column","x-decorator":"TableV2.Column.ActionBar",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{update:{type:"void",title:'{{t("Edit profile")}}',"x-decorator":"ACLActionProvider","x-acl-action":"users:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer",title:'{{t("Edit profile")}}',properties:{form:{type:"void","x-component":"ProfileEditForm"}}}}},changePassword:{type:"void",title:'{{t("Change password")}}',"x-decorator":"ACLActionProvider","x-acl-action":"users:update","x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useEditFormProps",title:'{{t("Change password")}}',properties:{password:{"x-component":"CollectionField","x-component-props":{component:"PasswordField"},"x-decorator":"FormItem",required:!0},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-use-component-props":"useCancelActionProps"},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary"},"x-use-component-props":"useSubmitActionProps"}}}}}}},delete:{type:"void",title:'{{ t("Delete") }}',"x-acl-action":"users:destroy","x-action":"destroy","x-decorator":"ACLActionProvider","x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Delete')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-use-component-props":"useDestroyActionProps"}}}}}}}}}}},c={type:"object","x-decorator":"UsersSettingsProvider",properties:{usersSettings:{type:"void","x-component":"CardItem","x-decorator":"UsersSettingsProvider",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{enableEditProfile:{type:"string","x-component":"Checkbox","x-decorator":"FormItem",default:!0,"x-content":'{{t("Allow edit profile")}}'},enableChangePassword:{type:"string","x-component":"Checkbox","x-decorator":"FormItem",default:!0,"x-content":'{{t("Allow change password")}}'},submit:{title:'{{t("Save")}}',"x-component":"Action","x-use-component-props":"useSubmitActionProps"}}}}}}},s=function(){var e;return{type:"void",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:(r(e={},(0,n.uid)(),{type:"void",title:'{{ t("Filter") }}',"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}),r(e,"actions",{type:"void","x-component":"Space",properties:{remove:{type:"void",title:'{{t("Remove")}}',"x-component":"Action","x-component-props":{icon:"MinusOutlined",confirm:{title:"{{t('Remove')}}",content:"{{t('Are you sure you want to remove these users?')}}"},style:{marginRight:8},useAction:"{{ useBulkRemoveUsers }}"}},create:{type:"void",title:'{{t("Add users")}}',"x-component":"Action","x-component-props":{type:"primary",icon:"PlusOutlined"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"FormV2",title:'{{t("Add users")}}',properties:{resource:{type:"void","x-decorator":"FormItem","x-component":"RoleUsersProvider",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{username:{$includes:""}},{nickname:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox",onChange:"{{ handleSelectRoleUsers }}"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{username:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},nickname:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},phone:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{phone:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},email:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{email:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}}}}}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ useAddRoleUsers }}"}}}}}}}}}}),e)},table:{type:"void","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{username:{type:"void",title:'{{t("Username")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},nickname:{type:"void",title:'{{t("Nickname")}}',"x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{remove:{type:"void",title:'{{ t("Remove") }}',"x-component":"Action.Link","x-component-props":{confirm:{title:"{{t('Remove user')}}",content:"{{t('Are you sure you want to remove it?')}}"},useAction:"{{ useRemoveUser }}"}}}}}}}}}}}}}]);
|
|
@@ -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
|
+
import React from 'react';
|
|
10
|
+
export declare const useEditProfile: () => import("antd/es/menu/hooks/useItems").ItemType;
|
|
11
|
+
export declare const UsersProvider: React.FC;
|
|
@@ -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_users=self.webpackChunk_nocobase_plugin_users||[]).push([["718"],{404:function(e,t,r){r.r(t),r.d(t,{UsersProvider:function(){return m},useEditProfile:function(){return y}});var n=r(772),o=r(156),i=r.n(o),u=r(888),l=r(875),a=r(505);function s(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 c(e,t,r,n,o,i,u){try{var l=e[i](u),a=l.value}catch(e){r(e);return}l.done?t(a):Promise.resolve(a).then(n,o)}function f(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d(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){f(e,t,r[t])})}return e}var p=function(){var e=(0,n.useCurrentUserContext)(),t=(0,n.useActionContext)().setVisible,r=(0,a.useForm)(),o=(0,n.useAPIClient)(),i=(0,a.useFieldSchema)(),u=(0,a.useField)(),l=(0,n.useCollectValuesToSubmit)();return{type:"primary",htmlType:"submit",onClick:function(){var n;return(n=function(){var n,a,s,c,f,p;return function(e,t){var r,n,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(i){return function(l){return function(i){if(r)throw TypeError("Generator is already executing.");for(;u;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=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++,n=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],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}}(this,function(p){switch(p.label){case 0:if(s=(a=null!==(n=null==i?void 0:i["x-action-settings"])&&void 0!==n?n:{}).triggerWorkflows,a.skipValidator)return[3,2];return[4,r.submit()];case 1:p.sent(),p.label=2;case 2:return[4,l()];case 3:c=p.sent(),u.data=u.data||{},u.data.loading=!0,p.label=4;case 4:return p.trys.push([4,7,,8]),[4,o.resource("users").updateProfile({values:c,triggerWorkflows:(null==s?void 0:s.length)?s.map(function(e){return[e.workflowKey,e.context].filter(Boolean).join("!")}).join(","):void 0})];case 5:return p.sent(),e.mutate({data:d({},null==e?void 0:null===(f=e.data)||void 0===f?void 0:f.data,c)}),[4,r.reset()];case 6:return p.sent(),u.data.loading=!1,t(!1),[3,8];case 7:return p.sent(),u.data.loading=!1,[3,8];case 8:return[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,o){var i=n.apply(e,t);function u(e){c(i,r,o,u,l,"next",e)}function l(e){c(i,r,o,u,l,"throw",e)}u(void 0)})})()}}},b=function(){var e,t=(0,n.useCollectionManager)().getCollection("users"),r=(0,n.useCurrentUserContext)().data,u=(0,o.useMemo)(function(){var e,r;return e=d({},t),r=(r={name:"users",fields:t.fields.filter(function(e){return!["password","roles"].includes(e.name)})},r),Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}),e},[t]);return i().createElement(n.ExtendCollectionsProvider,{collections:[u]},i().createElement(n.RemoteSchemaComponent,{uid:"nocobase-user-profile-edit-form",noForm:!0,scope:{useUpdateProfileActionProps:p,currentUserId:null===(e=r.data)||void 0===e?void 0:e.id}}))},y=function(){var e,t,r=(0,o.useContext)(n.DropdownVisibleContext);var a=(e=(0,o.useState)(!1),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],u=!0,l=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(i.push(r.value),!t||i.length!==t);u=!0);}catch(e){l=!0,n=e}finally{try{!u&&null!=o.return&&o.return()}finally{if(l)throw n}}return i}}(e,2)||function(e,t){if(e){if("string"==typeof e)return s(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 s(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.")}()),c=a[0],d=a[1],p=(0,u.B)().t,y=((0,n.useSystemSettings)()||{}).data,m=((null==y?void 0:y.data)||{}).enableEditProfile,v=(0,o.useMemo)(function(){return{key:"profile",eventKey:"EditProfile",onClick:function(){d(!0),null==r||r.setVisible(!1)},label:i().createElement("div",null,p("Edit profile"),i().createElement(n.ActionContextProvider,{value:{visible:c,setVisible:d}},i().createElement("div",{onClick:function(e){return e.stopPropagation()}},i().createElement(n.SchemaComponent,{components:{ProfileEditForm:b},schema:{type:"object",properties:f({},(0,l.uid)(),{"x-component":"Action.Drawer","x-component-props":{},type:"void",title:'{{t("Edit profile")}}',properties:{form:{type:"void","x-component":"ProfileEditForm"}}})}}))))}},[c]);return!1===m?null:v},m=function(e){var t=(0,n.useCurrentUserSettingsMenu)().addMenuItem,r=y(),u=(0,n.useSystemSettings)().data,l=((null==u?void 0:u.data)||{}).enableEditProfile;return(0,o.useEffect)(function(){if(!1!==l)t(r,{after:"divider_1"})},[t,r,l]),i().createElement(i().Fragment,null,e.children)}},888:function(e,t,r){r.d(t,{B:function(){return o}});var n=r(238);function o(){return(0,n.useTranslation)(["users","client"],{nsMode:"fallback"})}}}]);
|
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(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@formily/react"),require("react"),require("@emotion/css")):"function"==typeof define&&define.amd?define("@nocobase/plugin-users",["react-i18next","@formily/shared","@nocobase/plugin-acl/client","@nocobase/utils/client","@formily/core","@nocobase/client","antd","@formily/react","react","@emotion/css"],t):"object"==typeof exports?exports["@nocobase/plugin-users"]=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@formily/react"),require("react"),require("@emotion/css")):e["@nocobase/plugin-users"]=t(e["react-i18next"],e["@formily/shared"],e["@nocobase/plugin-acl/client"],e["@nocobase/utils/client"],e["@formily/core"],e["@nocobase/client"],e.antd,e["@formily/react"],e.react,e["@emotion/css"])}(self,function(e,t,n,r,o,i,u,c,a,s){return function(){var l,f,p,d,b,y={581:function(e){e.exports=function(e,t){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,t),t}},964:function(e){"use strict";e.exports=s},563:function(e){"use strict";e.exports=o},505:function(e){"use strict";e.exports=c},875:function(e){"use strict";e.exports=t},772:function(e){"use strict";e.exports=i},465:function(e){"use strict";e.exports=n},584:function(e){"use strict";e.exports=r},721:function(e){"use strict";e.exports=u},156:function(e){"use strict";e.exports=a},238:function(t){"use strict";t.exports=e}},
|
|
10
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@formily/react"),require("react"),require("@emotion/css")):"function"==typeof define&&define.amd?define("@nocobase/plugin-users",["react-i18next","@formily/shared","@nocobase/plugin-acl/client","@nocobase/utils/client","@formily/core","@nocobase/client","antd","@formily/react","react","@emotion/css"],t):"object"==typeof exports?exports["@nocobase/plugin-users"]=t(require("react-i18next"),require("@formily/shared"),require("@nocobase/plugin-acl/client"),require("@nocobase/utils/client"),require("@formily/core"),require("@nocobase/client"),require("antd"),require("@formily/react"),require("react"),require("@emotion/css")):e["@nocobase/plugin-users"]=t(e["react-i18next"],e["@formily/shared"],e["@nocobase/plugin-acl/client"],e["@nocobase/utils/client"],e["@formily/core"],e["@nocobase/client"],e.antd,e["@formily/react"],e.react,e["@emotion/css"])}(self,function(e,t,n,r,o,i,u,c,a,s){return function(){var l,f,p,d,b,y,m={581:function(e){e.exports=function(e,t){return"undefined"!=typeof __deoptimization_sideEffect__&&__deoptimization_sideEffect__(e,t),t}},964:function(e){"use strict";e.exports=s},563:function(e){"use strict";e.exports=o},505:function(e){"use strict";e.exports=c},875:function(e){"use strict";e.exports=t},772:function(e){"use strict";e.exports=i},465:function(e){"use strict";e.exports=n},584:function(e){"use strict";e.exports=r},721:function(e){"use strict";e.exports=u},156:function(e){"use strict";e.exports=a},238:function(t){"use strict";t.exports=e}},h={};function v(e){var t=h[e];if(void 0!==t)return t.exports;var n=h[e]={exports:{}};return m[e](n,n.exports,v),n.exports}v.m=m,v.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return v.d(t,{a:t}),t},v.d=function(e,t){for(var n in t)v.o(t,n)&&!v.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},v.f={},v.e=function(e){return Promise.all(Object.keys(v.f).reduce(function(t,n){return v.f[n](e,t),t},[]))},v.u=function(e){return""+({114:"e727dfc0317bc5a0",360:"5bd6efa848ce317b",554:"45417a5bed52e98e",718:"e04edf6224b393f2"})[e]+".js"},v.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),v.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l={},f="@nocobase/plugin-users:",v.l=function(e,t,n,r){if(l[e]){l[e].push(t);return}if(void 0!==n){for(var o,i,u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var a=u[c];if(a.getAttribute("src")==e||a.getAttribute("data-webpack")==f+n){o=a;break}}}!o&&(i=!0,(o=document.createElement("script")).charset="utf-8",o.timeout=120,v.nc&&o.setAttribute("nonce",v.nc),o.setAttribute("data-webpack",f+n),o.src=e),l[e]=[t];var s=function(t,n){o.onerror=o.onload=null,clearTimeout(p);var r=l[e];if(delete l[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(n)}),t)return t(n)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),i&&document.head.appendChild(o)},v.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},v.p=(!(p=window.__nocobase_public_path__||"/").endsWith("/")&&(p+="/"),p+"static/plugins/@nocobase/plugin-users/dist/client/"),d={909:0},v.f.j=function(e,t){var n=v.o(d,e)?d[e]:void 0;if(0!==n){if(n)t.push(n[2]);else{var r=new Promise(function(t,r){n=d[e]=[t,r]});t.push(n[2]=r);var o=v.p+v.u(e),i=Error();v.l(o,function(t){if(v.o(d,e)&&(0!==(n=d[e])&&(d[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)}}},b=function(e,t){var n=t[0],r=t[1],o=t[2],i,u,c=0;if(n.some(function(e){return 0!==d[e]})){for(i in r)v.o(r,i)&&(v.m[i]=r[i]);o&&o(v)}for(e&&e(t);c<n.length;c++)u=n[c],v.o(d,u)&&d[u]&&d[u][0](),d[u]=0},(y=self.webpackChunk_nocobase_plugin_users=self.webpackChunk_nocobase_plugin_users||[]).forEach(b.bind(null,0)),y.push=b.bind(null,y.push.bind(y));var g={};return!function(){"use strict";v.r(g);var e=v(772),t=v(584),n=v(465),r=v.n(n),o=v(581);function i(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 u(e,t,n){return(u=f()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&s(o,n.prototype),o}).apply(null,arguments)}function c(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 a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function s(e,t){return(s=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(e){var t="function"==typeof Map?new Map:void 0;return(l=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 u(e,arguments,a(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),s(r,e)})(e)}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}(0,e.lazy)(function(){return o("imported_eeob5k_component",v.e("718").then(v.bind(v,404)))},"UsersProvider").UsersProvider;var p=(0,e.lazy)(function(){return o("imported_-193g1io_component",Promise.all([v.e("360"),v.e("554")]).then(v.bind(v,891)))},"UsersManagement").UsersManagement,d=(0,e.lazy)(function(){return o("imported_-121r5eb_component",Promise.all([v.e("360"),v.e("114")]).then(v.bind(v,132)))},"RoleUsersManager").RoleUsersManager,b=function(e){var n,o,u;function l(){var e,t,n;return!function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,l),e=this,t=l,n=arguments,t=a(t),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)}(e,f()?Reflect.construct(t,n||[],a(e).constructor):t.apply(e,n))}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&&s(e,t)}(l,e),n=l,o=[{key:"load",value:function(){var e,n=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 n.app.pluginSettingsManager.add("users-permissions",{title:(0,t.tval)("Users & Permissions",{ns:"users"}),icon:"TeamOutlined"}),n.app.pluginSettingsManager.add("users-permissions.users",{title:(0,t.tval)("Users"),icon:"UserOutlined",Component:p,aclSnippet:"pm.users"}),n.app.pm.get(r()).rolesManager.add("users",{title:(0,t.tval)("Users"),Component:d}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var u=e.apply(t,n);function c(e){i(u,r,o,c,a,"next",e)}function a(e){i(u,r,o,c,a,"throw",e)}c(void 0)})})()}}],c(n.prototype,o),l}(l(e.Plugin));g.default=b}(),g}()});
|
package/dist/externalVersion.js
CHANGED
|
@@ -10,17 +10,19 @@
|
|
|
10
10
|
module.exports = {
|
|
11
11
|
"react": "18.2.0",
|
|
12
12
|
"antd": "5.12.8",
|
|
13
|
-
"@nocobase/client": "1.6.0-alpha.
|
|
13
|
+
"@nocobase/client": "1.6.0-alpha.7",
|
|
14
14
|
"@formily/react": "2.3.0",
|
|
15
15
|
"@formily/core": "2.3.0",
|
|
16
|
-
"@nocobase/plugin-acl": "1.6.0-alpha.
|
|
16
|
+
"@nocobase/plugin-acl": "1.6.0-alpha.7",
|
|
17
17
|
"@emotion/css": "11.13.0",
|
|
18
|
-
"@
|
|
18
|
+
"@formily/shared": "2.3.2",
|
|
19
|
+
"@nocobase/utils": "1.6.0-alpha.7",
|
|
19
20
|
"react-i18next": "11.18.6",
|
|
20
|
-
"@nocobase/database": "1.6.0-alpha.
|
|
21
|
-
"@nocobase/server": "1.6.0-alpha.
|
|
22
|
-
"@nocobase/plugin-user-data-sync": "1.6.0-alpha.
|
|
21
|
+
"@nocobase/database": "1.6.0-alpha.7",
|
|
22
|
+
"@nocobase/server": "1.6.0-alpha.7",
|
|
23
|
+
"@nocobase/plugin-user-data-sync": "1.6.0-alpha.7",
|
|
24
|
+
"@nocobase/plugin-ui-schema-storage": "1.6.0-alpha.7",
|
|
23
25
|
"lodash": "4.17.21",
|
|
24
|
-
"@
|
|
25
|
-
"
|
|
26
|
+
"@nocobase/actions": "1.6.0-alpha.7",
|
|
27
|
+
"sequelize": "6.35.2"
|
|
26
28
|
};
|
package/dist/locale/en-US.json
CHANGED
|
@@ -3,5 +3,6 @@
|
|
|
3
3
|
"Add users": "Add users",
|
|
4
4
|
"Remove user": "Remove user",
|
|
5
5
|
"Are you sure you want to remove it?": "Are you sure you want to remove it?",
|
|
6
|
-
"Random password": "Random password"
|
|
6
|
+
"Random password": "Random password",
|
|
7
|
+
"User profile is not allowed to be edited": "User profile is not allowed to be edited"
|
|
7
8
|
}
|
package/dist/locale/zh-CN.json
CHANGED
|
@@ -8,4 +8,5 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Context, Next } from '@nocobase/actions';
|
|
10
10
|
export declare function updateProfile(ctx: Context, next: Next): Promise<void>;
|
|
11
|
+
export declare function updateLang(ctx: Context, next: Next): Promise<void>;
|
|
11
12
|
export declare const listExcludeRole: (ctx: Context, next: Next) => Promise<void>;
|
|
@@ -37,25 +37,87 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
37
37
|
var users_exports = {};
|
|
38
38
|
__export(users_exports, {
|
|
39
39
|
listExcludeRole: () => listExcludeRole,
|
|
40
|
+
updateLang: () => updateLang,
|
|
40
41
|
updateProfile: () => updateProfile
|
|
41
42
|
});
|
|
42
43
|
module.exports = __toCommonJS(users_exports);
|
|
43
44
|
var import_actions = require("@nocobase/actions");
|
|
44
45
|
var import_lodash = __toESM(require("lodash"));
|
|
46
|
+
var import__ = require("..");
|
|
47
|
+
var import_sequelize = require("sequelize");
|
|
48
|
+
function parseProfileFormSchema(schema) {
|
|
49
|
+
const properties = import_lodash.default.get(schema, "properties.form.properties.edit.properties.grid.properties") || {};
|
|
50
|
+
const fields = [];
|
|
51
|
+
const requiredFields = [];
|
|
52
|
+
Object.values(properties).forEach((row) => {
|
|
53
|
+
const col = Object.values(row.properties)[0];
|
|
54
|
+
const [name, props] = Object.entries(col.properties)[0];
|
|
55
|
+
if (props["x-read-pretty"] || props["x-disable"]) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (props["required"]) {
|
|
59
|
+
requiredFields.push(name);
|
|
60
|
+
}
|
|
61
|
+
fields.push(name);
|
|
62
|
+
});
|
|
63
|
+
return { fields, requiredFields };
|
|
64
|
+
}
|
|
45
65
|
async function updateProfile(ctx, next) {
|
|
66
|
+
const systemSettings = ctx.db.getRepository("systemSettings");
|
|
67
|
+
const settings = await systemSettings.findOne();
|
|
68
|
+
const enableEditProfile = settings.get("enableEditProfile");
|
|
69
|
+
if (enableEditProfile === false) {
|
|
70
|
+
ctx.throw(403, ctx.t("User profile is not allowed to be edited", { ns: import__.namespace }));
|
|
71
|
+
}
|
|
46
72
|
const values = ctx.action.params.values || {};
|
|
47
73
|
const { currentUser } = ctx.state;
|
|
48
74
|
if (!currentUser) {
|
|
49
75
|
ctx.throw(401);
|
|
50
76
|
}
|
|
51
|
-
const
|
|
52
|
-
const
|
|
77
|
+
const schemaRepo = ctx.db.getRepository("uiSchemas");
|
|
78
|
+
const schema = await schemaRepo.getJsonSchema("nocobase-user-profile-edit-form");
|
|
79
|
+
const { fields, requiredFields } = parseProfileFormSchema(schema);
|
|
80
|
+
const userRepo = ctx.db.getRepository("users");
|
|
81
|
+
const user = await userRepo.findOne({ filter: { id: currentUser.id } });
|
|
82
|
+
for (const field of requiredFields) {
|
|
83
|
+
if (!values[field]) {
|
|
84
|
+
throw new import_sequelize.ValidationError(`${field} can not be null`, [
|
|
85
|
+
new import_sequelize.ValidationErrorItem(
|
|
86
|
+
`${field} can not be null`,
|
|
87
|
+
// @ts-ignore
|
|
88
|
+
"notNull violation",
|
|
89
|
+
field,
|
|
90
|
+
null,
|
|
91
|
+
user,
|
|
92
|
+
"is_null",
|
|
93
|
+
null,
|
|
94
|
+
null
|
|
95
|
+
)
|
|
96
|
+
]);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const result = await userRepo.update({
|
|
53
100
|
filterByTk: currentUser.id,
|
|
54
|
-
values: import_lodash.default.pick(values,
|
|
101
|
+
values: import_lodash.default.pick(values, fields)
|
|
55
102
|
});
|
|
56
103
|
ctx.body = result;
|
|
57
104
|
await next();
|
|
58
105
|
}
|
|
106
|
+
async function updateLang(ctx, next) {
|
|
107
|
+
const { appLang } = ctx.action.params.values || {};
|
|
108
|
+
const { currentUser } = ctx.state;
|
|
109
|
+
if (!currentUser) {
|
|
110
|
+
ctx.throw(401);
|
|
111
|
+
}
|
|
112
|
+
const userRepo = ctx.db.getRepository("users");
|
|
113
|
+
await userRepo.update({
|
|
114
|
+
filterByTk: currentUser.id,
|
|
115
|
+
values: {
|
|
116
|
+
appLang
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
await next();
|
|
120
|
+
}
|
|
59
121
|
const listExcludeRole = async (ctx, next) => {
|
|
60
122
|
const { roleName, page = import_actions.DEFAULT_PAGE, pageSize = import_actions.DEFAULT_PER_PAGE } = ctx.action.params;
|
|
61
123
|
const repo = ctx.db.getRepository("users");
|
|
@@ -94,5 +156,6 @@ const listExcludeRole = async (ctx, next) => {
|
|
|
94
156
|
// Annotate the CommonJS export names for ESM import in node:
|
|
95
157
|
0 && (module.exports = {
|
|
96
158
|
listExcludeRole,
|
|
159
|
+
updateLang,
|
|
97
160
|
updateProfile
|
|
98
161
|
});
|
|
@@ -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 { Migration } from '@nocobase/server';
|
|
10
|
+
export default class extends Migration {
|
|
11
|
+
on: string;
|
|
12
|
+
up(): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
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
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var profile_schema_exports = {};
|
|
28
|
+
__export(profile_schema_exports, {
|
|
29
|
+
default: () => profile_schema_default
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(profile_schema_exports);
|
|
32
|
+
var import_server = require("@nocobase/server");
|
|
33
|
+
var import_edit_form_schema = require("../profile/edit-form-schema");
|
|
34
|
+
class profile_schema_default extends import_server.Migration {
|
|
35
|
+
on = "afterLoad";
|
|
36
|
+
// 'beforeLoad' or 'afterLoad'
|
|
37
|
+
async up() {
|
|
38
|
+
const repo = this.db.getRepository("uiSchemas");
|
|
39
|
+
const adminCreateSchema = await repo.findOne({
|
|
40
|
+
filter: {
|
|
41
|
+
"x-uid": "nocobase-admin-profile-create-form"
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
if (!adminCreateSchema) {
|
|
45
|
+
await repo.insert(import_edit_form_schema.adminProfileCreateFormSchema);
|
|
46
|
+
}
|
|
47
|
+
const adminEditSchema = await repo.findOne({
|
|
48
|
+
filter: {
|
|
49
|
+
"x-uid": "nocobase-admin-profile-edit-form"
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
if (!adminEditSchema) {
|
|
53
|
+
await repo.insert(import_edit_form_schema.adminProfileEditFormSchema);
|
|
54
|
+
}
|
|
55
|
+
const userSchema = await repo.findOne({
|
|
56
|
+
filter: {
|
|
57
|
+
"x-uid": "nocobase-user-profile-edit-form"
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
if (!userSchema) {
|
|
61
|
+
await repo.insert(import_edit_form_schema.userProfileEditFormSchema);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|