@nocobase/plugin-users 1.5.0-beta.12 → 1.5.0-beta.13

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.
@@ -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 k}});var n=r("964"),o=r("563"),a=r("505"),u=r("772"),s=r("721"),c=r("156"),i=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 s="";s+=t.charAt(u[0]%t.length),s+=r.charAt(u[1]%r.length),s+=n.charAt(u[2]%n.length),s+=o.charAt(u[3]%o.length);for(var c=4;c<e;c++){var i=u[c]%a.length;s+=a.charAt(i)}return s=s[0]+s.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=i().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,s=!1;try{for(o=o.call(e);!(u=(r=o.next()).done)&&(a.push(r.value),!t||a.length!==t);u=!0);}catch(e){s=!0,n=e}finally{try{!u&&null!=o.return&&o.return()}finally{if(s)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]),i().createElement(s.Row,{gutter:10},i().createElement(s.Col,{span:18},i().createElement(u.Password,{checkStrength:!0,visibilityToggle:{visible:m,onVisibleChange:b},value:n.value,onChange:function(e){return n.setValue(e.target.value)},autoComplete:"off"})),i().createElement(s.Col,{span:4},i().createElement(s.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 s=e[a](u),c=s.value}catch(e){r(e);return}s.done?t(c):Promise.resolve(c).then(n,o)}function y(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,s,"next",e)}function s(e){v(a,n,o,u,s,"throw",e)}u(void 0)})}}function h(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 d(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:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){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,s])}}}function w(){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 w=function(){return r},r}var C=function(){var e=(0,u.useActionContext)().setVisible,t=(0,a.useForm)();return{type:"default",onClick:function(){e(!1),t.reset()}}},P=function(){var e=(0,u.useActionContext)().setVisible,t=s.App.useApp().message,r=(0,a.useForm)(),n=(0,u.useDataBlockResource)(),o=(0,u.useDataBlockRequest)().refresh,c=(0,l.B)().t,i=(0,u.useCollection)();return{type:"primary",onClick:function(){return y(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)[i.filterTargetKey])return[3,3];return[4,n.update({values:a,filterByTk:a[i.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(){var e=(0,l.B)().t,t=(0,u.useSchemaComponentContext)();return i().createElement(u.SchemaComponentContext.Provider,{value:d(h({},t),{designable:!1})},i().createElement(u.SchemaComponent,{schema:b.SN,scope:{t:e,useCancelActionProps:C,useSubmitActionProps:P,useEditFormProps:S},components:{PasswordField:m}}))},A=(0,c.createContext)({}),E=function(e){var t=(0,u.useRequest)({url:"systemSettings:get/1"});return i().createElement(A.Provider,{value:t},e.children)},j=function(){var e=(0,l.B)().t,t=(0,u.useSchemaComponentContext)(),r=(0,a.useForm)();return i().createElement(u.SchemaComponentContext.Provider,{value:d(h({},t),{designable:!1})},i().createElement(u.SchemaComponent,{schema:b.eF,scope:{t:e,useFormBlockProps:function(){var e,t=(0,c.useContext)(A),n=(null==t?void 0:null===(e=t.data)||void 0===e?void 0:e.data)||{},o=n.enableChangePassword,a=n.enableEditProfile;return(0,c.useEffect)(function(){null==r||r.setValues({enableChangePassword:!1!==o,enableEditProfile:!1!==a})},[t]),{form:r}},useSubmitActionProps:function(){var t=(0,u.useAPIClient)(),r=(0,a.useForm)();return{type:"primary",onClick:function(){return y(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(),s.message.success(e("Saved successfully")),window.location.reload(),[2]}})})()}}}},components:{UsersSettingsProvider:E}}))},k=function(){var e=(0,l.B)().t;return i().createElement(s.Tabs,{defaultActiveKey:"usersManager",type:"card",className:(0,n.css)(w()),items:[{label:e("Users manager"),key:"usersManager",children:i().createElement(O,null)},{label:e("Settings"),key:"usersSettings",children:i().createElement(j,null)}]})}}}]);
@@ -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}},m={};function h(e){var t=m[e];if(void 0!==t)return t.exports;var n=m[e]={exports:{}};return y[e](n,n.exports,h),n.exports}h.m=y,h.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return h.d(t,{a:t}),t},h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.f={},h.e=function(e){return Promise.all(Object.keys(h.f).reduce(function(t,n){return h.f[n](e,t),t},[]))},h.u=function(e){return""+({114:"e727dfc0317bc5a0",360:"22278d77439e9853",554:"15e63b04cb86dc53"})[e]+".js"},h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l={},f="@nocobase/plugin-users:",h.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,h.nc&&o.setAttribute("nonce",h.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)},h.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},h.p="/static/plugins/@nocobase/plugin-users/dist/client/",p={909:0},h.f.j=function(e,t){var n=h.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=h.p+h.u(e),i=Error();h.l(o,function(t){if(h.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)}}},d=function(e,t){var n=t[0],r=t[1],o=t[2],i,u,c=0;if(n.some(function(e){return 0!==p[e]})){for(i in r)h.o(r,i)&&(h.m[i]=r[i]);o&&o(h)}for(e&&e(t);c<n.length;c++)u=n[c],h.o(p,u)&&p[u]&&p[u][0](),p[u]=0},(b=self.webpackChunk_nocobase_plugin_users=self.webpackChunk_nocobase_plugin_users||[]).forEach(d.bind(null,0)),b.push=d.bind(null,b.push.bind(b));var v={};return!function(){"use strict";h.r(v);var e=h(772),t=h(584),n=h(465),r=h.n(n),o=h(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})()}var p=(0,e.lazy)(function(){return o("imported_-193g1io_component",Promise.all([h.e("360"),h.e("554")]).then(h.bind(h,891)))},"UsersManagement").UsersManagement,d=(0,e.lazy)(function(){return o("imported_-121r5eb_component",Promise.all([h.e("360"),h.e("114")]).then(h.bind(h,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));v.default=b}(),v}()});
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}},m={};function h(e){var t=m[e];if(void 0!==t)return t.exports;var n=m[e]={exports:{}};return y[e](n,n.exports,h),n.exports}h.m=y,h.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return h.d(t,{a:t}),t},h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},h.f={},h.e=function(e){return Promise.all(Object.keys(h.f).reduce(function(t,n){return h.f[n](e,t),t},[]))},h.u=function(e){return""+({114:"e727dfc0317bc5a0",360:"22278d77439e9853",554:"d024ffc2036fc321"})[e]+".js"},h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l={},f="@nocobase/plugin-users:",h.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,h.nc&&o.setAttribute("nonce",h.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)},h.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},h.p="/static/plugins/@nocobase/plugin-users/dist/client/",p={909:0},h.f.j=function(e,t){var n=h.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=h.p+h.u(e),i=Error();h.l(o,function(t){if(h.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)}}},d=function(e,t){var n=t[0],r=t[1],o=t[2],i,u,c=0;if(n.some(function(e){return 0!==p[e]})){for(i in r)h.o(r,i)&&(h.m[i]=r[i]);o&&o(h)}for(e&&e(t);c<n.length;c++)u=n[c],h.o(p,u)&&p[u]&&p[u][0](),p[u]=0},(b=self.webpackChunk_nocobase_plugin_users=self.webpackChunk_nocobase_plugin_users||[]).forEach(d.bind(null,0)),b.push=d.bind(null,b.push.bind(b));var v={};return!function(){"use strict";h.r(v);var e=h(772),t=h(584),n=h(465),r=h.n(n),o=h(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})()}var p=(0,e.lazy)(function(){return o("imported_-193g1io_component",Promise.all([h.e("360"),h.e("554")]).then(h.bind(h,891)))},"UsersManagement").UsersManagement,d=(0,e.lazy)(function(){return o("imported_-121r5eb_component",Promise.all([h.e("360"),h.e("114")]).then(h.bind(h,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));v.default=b}(),v}()});
@@ -10,17 +10,17 @@
10
10
  module.exports = {
11
11
  "react": "18.2.0",
12
12
  "antd": "5.12.8",
13
- "@nocobase/client": "1.5.0-beta.12",
13
+ "@nocobase/client": "1.5.0-beta.13",
14
14
  "@formily/react": "2.3.0",
15
15
  "@formily/core": "2.3.0",
16
- "@nocobase/plugin-acl": "1.5.0-beta.12",
16
+ "@nocobase/plugin-acl": "1.5.0-beta.13",
17
17
  "@emotion/css": "11.13.0",
18
- "@nocobase/utils": "1.5.0-beta.12",
18
+ "@nocobase/utils": "1.5.0-beta.13",
19
19
  "react-i18next": "11.18.6",
20
- "@nocobase/database": "1.5.0-beta.12",
21
- "@nocobase/server": "1.5.0-beta.12",
22
- "@nocobase/plugin-user-data-sync": "1.5.0-beta.12",
20
+ "@nocobase/database": "1.5.0-beta.13",
21
+ "@nocobase/server": "1.5.0-beta.13",
22
+ "@nocobase/plugin-user-data-sync": "1.5.0-beta.13",
23
23
  "lodash": "4.17.21",
24
24
  "@formily/shared": "2.3.2",
25
- "@nocobase/actions": "1.5.0-beta.12"
25
+ "@nocobase/actions": "1.5.0-beta.13"
26
26
  };
@@ -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
  }
@@ -6,5 +6,6 @@
6
6
  "Random password": "随机密码",
7
7
  "Users manager": "用户管理",
8
8
  "Allow edit profile": "允许修改个人资料",
9
- "Allow change password": "允许修改密码"
9
+ "Allow change password": "允许修改密码",
10
+ "User profile is not allowed to be edited": "用户资料不允许修改"
10
11
  }
@@ -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,12 +37,20 @@ 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("..");
45
47
  async function updateProfile(ctx, next) {
48
+ const systemSettings = ctx.db.getRepository("systemSettings");
49
+ const settings = await systemSettings.findOne();
50
+ const enableEditProfile = settings.get("enableEditProfile");
51
+ if (enableEditProfile === false) {
52
+ ctx.throw(403, ctx.t("User profile is not allowed to be edited", { ns: import__.namespace }));
53
+ }
46
54
  const values = ctx.action.params.values || {};
47
55
  const { currentUser } = ctx.state;
48
56
  if (!currentUser) {
@@ -51,11 +59,26 @@ async function updateProfile(ctx, next) {
51
59
  const UserRepo = ctx.db.getRepository("users");
52
60
  const result = await UserRepo.update({
53
61
  filterByTk: currentUser.id,
54
- values: import_lodash.default.pick(values, ["nickname", "username", "email", "phone", "systemSettings", "appLang"])
62
+ values: import_lodash.default.pick(values, ["nickname", "username", "email", "phone"])
55
63
  });
56
64
  ctx.body = result;
57
65
  await next();
58
66
  }
67
+ async function updateLang(ctx, next) {
68
+ const { appLang } = ctx.action.params.values || {};
69
+ const { currentUser } = ctx.state;
70
+ if (!currentUser) {
71
+ ctx.throw(401);
72
+ }
73
+ const userRepo = ctx.db.getRepository("users");
74
+ await userRepo.update({
75
+ filterByTk: currentUser.id,
76
+ values: {
77
+ appLang
78
+ }
79
+ });
80
+ await next();
81
+ }
59
82
  const listExcludeRole = async (ctx, next) => {
60
83
  const { roleName, page = import_actions.DEFAULT_PAGE, pageSize = import_actions.DEFAULT_PER_PAGE } = ctx.action.params;
61
84
  const repo = ctx.db.getRepository("users");
@@ -94,5 +117,6 @@ const listExcludeRole = async (ctx, next) => {
94
117
  // Annotate the CommonJS export names for ESM import in node:
95
118
  0 && (module.exports = {
96
119
  listExcludeRole,
120
+ updateLang,
97
121
  updateProfile
98
122
  });
@@ -169,7 +169,7 @@ class PluginUsersServer extends import_server.Plugin {
169
169
  }
170
170
  };
171
171
  });
172
- const loggedInActions = ["updateProfile"];
172
+ const loggedInActions = ["updateProfile", "updateLang"];
173
173
  loggedInActions.forEach((action) => this.app.acl.allow("users", action, "loggedIn"));
174
174
  this.app.acl.registerSnippet({
175
175
  name: `pm.${this.name}`,
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "displayName.zh-CN": "用户",
5
5
  "description": "Provides basic user model, as well as created by and updated by fields.",
6
6
  "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。",
7
- "version": "1.5.0-beta.12",
7
+ "version": "1.5.0-beta.13",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/users",
@@ -25,7 +25,7 @@
25
25
  "@nocobase/test": "1.x",
26
26
  "@nocobase/utils": "1.x"
27
27
  },
28
- "gitHead": "b7641ec089514ad9147b62e176ab1fed17a7661e",
28
+ "gitHead": "d0f2a559454a5386feaba0340c4c38dff9227c0d",
29
29
  "keywords": [
30
30
  "Users & permissions"
31
31
  ]
@@ -1,10 +0,0 @@
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,n){n.r(t),n.d(t,{UsersManagement:function(){return j}});var r=n("964"),o=n("563"),a=n("505"),u=n("772"),s=n("721"),c=n("156"),i=n.n(c),l=n("888"),f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:10,t="ABCDEFGHIJKLMNOPQRSTUVWXYZ",n="abcdefghijklmnopqrstuvwxyz",r="0123456789",o="!#$%^&*-_+=",a=t+n+r+o,u=new Uint32Array(e);crypto.getRandomValues(u);var s="";s+=t.charAt(u[0]%t.length),s+=n.charAt(u[1]%n.length),s+=r.charAt(u[2]%r.length),s+=o.charAt(u[3]%o.length);for(var c=4;c<e;c++){var i=u[c]%a.length;s+=a.charAt(i)}return s=s[0]+s.slice(1).split("").sort(function(){return Math.random()-.5}).join("")};function p(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}var m=function(){var e,t,n=(0,l.B)().t,r=(0,a.useField)();var o=(e=i().useState(!1),t=2,function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],u=!0,s=!1;try{for(o=o.call(e);!(u=(n=o.next()).done)&&(a.push(n.value),!t||a.length!==t);u=!0);}catch(e){s=!0,r=e}finally{try{!u&&null!=o.return&&o.return()}finally{if(s)throw r}}return a}}(e,2)||function(e,t){if(e){if("string"==typeof e)return p(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 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)r.reset()},[r,v.visible]),i().createElement(s.Row,{gutter:10},i().createElement(s.Col,{span:18},i().createElement(u.Password,{checkStrength:!0,visibilityToggle:{visible:m,onVisibleChange:b},value:r.value,onChange:function(e){return r.setValue(e.target.value)},autoComplete:"off"})),i().createElement(s.Col,{span:4},i().createElement(s.Button,{onClick:function(){r.setValue(f()),b(!0)}},n("Random password"))))},b=n("241");function v(e,t,n,r,o,a,u){try{var s=e[a](u),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,o)}function y(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function u(e){v(a,r,o,u,s,"next",e)}function s(e){v(a,r,o,u,s,"throw",e)}u(void 0)})}}function h(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,o,a;r=e,o=t,a=n[t],o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a})}return e}function d(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function g(e,t){var n,r,o,a,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(n)throw TypeError("Generator is already executing.");for(;u;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=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++,r=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],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}function w(){var e,t,n=(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 w=function(){return n},n}var C=function(){var e=(0,u.useActionContext)().setVisible,t=(0,a.useForm)();return{type:"default",onClick:function(){e(!1),t.reset()}}},P=function(){var e=(0,u.useActionContext)().setVisible,t=s.App.useApp().message,n=(0,a.useForm)(),r=(0,u.useDataBlockResource)(),o=(0,u.useDataBlockRequestGetter)().getDataBlockRequest,c=(0,l.B)().t,i=(0,u.useCollection)();return{type:"primary",onClick:function(){return y(function(){var a,u;return g(this,function(s){switch(s.label){case 0:return[4,n.submit()];case 1:if(s.sent(),!(u=n.values)[i.filterTargetKey])return[3,3];return[4,r.update({values:u,filterByTk:u[i.filterTargetKey]})];case 2:return s.sent(),[3,5];case 3:return[4,r.create({values:u})];case 4:s.sent(),s.label=5;case 5:return[4,null===(a=o())||void 0===a?void 0:a.runAsync()];case 6:return s.sent(),t.success(c("Saved successfully")),e(!1),n.reset(),[2]}})})()}}},S=function(){var e=(0,u.useCollectionRecordData)();return{form:(0,c.useMemo)(function(){return(0,o.createForm)({initialValues:e})},[e])}},O=function(){var e=(0,l.B)().t,t=(0,u.useSchemaComponentContext)();return i().createElement(u.SchemaComponentContext.Provider,{value:d(h({},t),{designable:!1})},i().createElement(u.SchemaComponent,{schema:b.SN,scope:{t:e,useCancelActionProps:C,useSubmitActionProps:P,useEditFormProps:S},components:{PasswordField:m}}))},A=(0,c.createContext)({}),k=function(e){var t=(0,u.useRequest)({url:"systemSettings:get/1"});return i().createElement(A.Provider,{value:t},e.children)},E=function(){var e=(0,l.B)().t,t=(0,u.useSchemaComponentContext)(),n=(0,a.useForm)();return i().createElement(u.SchemaComponentContext.Provider,{value:d(h({},t),{designable:!1})},i().createElement(u.SchemaComponent,{schema:b.eF,scope:{t:e,useFormBlockProps:function(){var e,t=(0,c.useContext)(A),r=(null==t?void 0:null===(e=t.data)||void 0===e?void 0:e.data)||{},o=r.enableChangePassword,a=r.enableEditProfile;return(0,c.useEffect)(function(){null==n||n.setValues({enableChangePassword:!1!==o,enableEditProfile:!1!==a})},[t]),{form:n}},useSubmitActionProps:function(){var t=(0,u.useAPIClient)(),n=(0,a.useForm)();return{type:"primary",onClick:function(){return y(function(){var r;return g(this,function(o){switch(o.label){case 0:return[4,n.submit()];case 1:return o.sent(),r=n.values,[4,t.request({url:"systemSettings:update/1",data:r,method:"POST"})];case 2:return o.sent(),s.message.success(e("Saved successfully")),window.location.reload(),[2]}})})()}}}},components:{UsersSettingsProvider:k}}))},j=function(){var e=(0,l.B)().t;return i().createElement(s.Tabs,{defaultActiveKey:"usersManager",type:"card",className:(0,r.css)(w()),items:[{label:e("Users manager"),key:"usersManager",children:i().createElement(O,null)},{label:e("Settings"),key:"usersSettings",children:i().createElement(E,null)}]})}}}]);