@nocobase/plugin-users 1.2.13-alpha → 1.3.0-alpha.20240710084543

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.
Files changed (57) hide show
  1. package/package.json +2 -2
  2. package/dist/client/PasswordField.d.ts +0 -10
  3. package/dist/client/RoleUsersManager.d.ts +0 -10
  4. package/dist/client/UserRolesField.d.ts +0 -10
  5. package/dist/client/UsersManagement.d.ts +0 -10
  6. package/dist/client/hooks.d.ts +0 -13
  7. package/dist/client/index.d.ts +0 -13
  8. package/dist/client/index.js +0 -10
  9. package/dist/client/locale.d.ts +0 -9
  10. package/dist/client/schemas/users.d.ts +0 -173
  11. package/dist/client/utils.d.ts +0 -9
  12. package/dist/externalVersion.js +0 -25
  13. package/dist/index.d.ts +0 -10
  14. package/dist/index.js +0 -48
  15. package/dist/locale/en-US.json +0 -7
  16. package/dist/locale/zh-CN.json +0 -7
  17. package/dist/server/actions/users.d.ts +0 -11
  18. package/dist/server/actions/users.js +0 -98
  19. package/dist/server/collections/users.d.ts +0 -10
  20. package/dist/server/collections/users.js +0 -161
  21. package/dist/server/index.d.ts +0 -10
  22. package/dist/server/index.js +0 -49
  23. package/dist/server/locale/en-US.d.ts +0 -17
  24. package/dist/server/locale/en-US.js +0 -39
  25. package/dist/server/locale/es-ES.d.ts +0 -17
  26. package/dist/server/locale/es-ES.js +0 -39
  27. package/dist/server/locale/fr-FR.d.ts +0 -17
  28. package/dist/server/locale/fr-FR.js +0 -39
  29. package/dist/server/locale/index.d.ts +0 -11
  30. package/dist/server/locale/index.js +0 -52
  31. package/dist/server/locale/ja-JP.d.ts +0 -13
  32. package/dist/server/locale/ja-JP.js +0 -35
  33. package/dist/server/locale/pt-BR.d.ts +0 -17
  34. package/dist/server/locale/pt-BR.js +0 -39
  35. package/dist/server/locale/zh-CN.d.ts +0 -17
  36. package/dist/server/locale/zh-CN.js +0 -39
  37. package/dist/server/migrations/20220818072639-add-users-phone-constraint.d.ts +0 -15
  38. package/dist/server/migrations/20220818072639-add-users-phone-constraint.js +0 -66
  39. package/dist/server/migrations/20220818072639-add-users-phone.d.ts +0 -14
  40. package/dist/server/migrations/20220818072639-add-users-phone.js +0 -64
  41. package/dist/server/migrations/20230802170800-add-username-constraint.d.ts +0 -14
  42. package/dist/server/migrations/20230802170800-add-username-constraint.js +0 -64
  43. package/dist/server/migrations/20230802170800-add-username.d.ts +0 -13
  44. package/dist/server/migrations/20230802170800-add-username.js +0 -62
  45. package/dist/server/migrations/20230802183100-update-username.d.ts +0 -14
  46. package/dist/server/migrations/20230802183100-update-username.js +0 -56
  47. package/dist/server/migrations/20230908164036-update-username-interface.d.ts +0 -14
  48. package/dist/server/migrations/20230908164036-update-username-interface.js +0 -55
  49. package/dist/server/migrations/20240410152410-update-phone-interface.d.ts +0 -14
  50. package/dist/server/migrations/20240410152410-update-phone-interface.js +0 -62
  51. package/dist/server/migrations/20240418101937-update-system-fields.d.ts +0 -14
  52. package/dist/server/migrations/20240418101937-update-system-fields.js +0 -146
  53. package/dist/server/models/UserModel.d.ts +0 -12
  54. package/dist/server/models/UserModel.js +0 -49
  55. package/dist/server/server.d.ts +0 -20
  56. package/dist/server/server.js +0 -234
  57. package/dist/swagger/index.json +0 -117
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.2.13-alpha",
7
+ "version": "1.3.0-alpha.20240710084543",
8
8
  "license": "AGPL-3.0",
9
9
  "main": "./dist/server/index.js",
10
10
  "homepage": "https://docs.nocobase.com/handbook/users",
@@ -24,7 +24,7 @@
24
24
  "@nocobase/test": "1.x",
25
25
  "@nocobase/utils": "1.x"
26
26
  },
27
- "gitHead": "b6a1c2ee330b47c2581ea2ce15ee46210e6220f2",
27
+ "gitHead": "07a8b596fc64a9779a194cb9b0dc2ca7570ed9d4",
28
28
  "keywords": [
29
29
  "Users & permissions"
30
30
  ]
@@ -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
- import React from 'react';
10
- export declare const PasswordField: React.FC;
@@ -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
- import React from 'react';
10
- export declare const RoleUsersManager: React.FC;
@@ -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
- import React from 'react';
10
- export declare const UserRolesField: React.FC;
@@ -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
- import React from 'react';
10
- export declare const UsersManagement: React.FC;
@@ -1,13 +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
- export declare const useFilterActionProps: () => {
10
- options: any;
11
- onSubmit(values: any): any;
12
- onReset(): any;
13
- };
@@ -1,13 +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
- import { Plugin } from '@nocobase/client';
10
- declare class PluginUsersClient extends Plugin {
11
- load(): Promise<void>;
12
- }
13
- export default PluginUsersClient;
@@ -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
- (function(t,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("@nocobase/client"),require("@nocobase/utils/client"),require("react/jsx-runtime"),require("react"),require("@formily/shared"),require("antd"),require("@formily/react"),require("react-i18next"),require("@nocobase/plugin-acl/client")):typeof define=="function"&&define.amd?define(["exports","@nocobase/client","@nocobase/utils/client","react/jsx-runtime","react","@formily/shared","antd","@formily/react","react-i18next","@nocobase/plugin-acl/client"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t["@nocobase/plugin-users"]={},t["@nocobase/client"],t["@nocobase/utils"],t.jsxRuntime,t.react,t["@formily/shared"],t.antd,t["@formily/react"],t["react-i18next"],t["@nocobase/plugin-acl"]))})(this,function(t,e,i,c,p,F,x,v,y,d){"use strict";var N=Object.defineProperty,L=Object.defineProperties;var _=Object.getOwnPropertyDescriptors;var D=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var T=(t,e,i)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i,f=(t,e)=>{for(var i in e||(e={}))z.call(e,i)&&T(t,i,e[i]);if(D)for(var i of D(e))$.call(e,i)&&T(t,i,e[i]);return t},w=(t,e)=>L(t,_(e));var h=(t,e,i)=>new Promise((c,p)=>{var F=y=>{try{v(i.next(y))}catch(d){p(d)}},x=y=>{try{v(i.throw(y))}catch(d){p(d)}},v=y=>y.done?c(y.value):Promise.resolve(y.value).then(F,x);v((i=i.apply(t,e)).next())});const g={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","x-validator":"phone",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"}}}}]},P={type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:g,resourceName:"users",request:{resource:"users",action:"list",params:{pageSize:50,appends:[]}}},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{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"},delete:{type:"void",title:'{{ t("Delete") }}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useBulkDestroyAction }}",confirm:{title:"{{t('Delete users')}}",content:"{{t('Are you sure you want to delete it?')}}"},icon:"DeleteOutlined"}},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":"Form",title:'{{t("Add user")}}',properties:{nickname:{"x-component":"CollectionField","x-decorator":"FormItem"},username:{"x-component":"CollectionField","x-decorator":"FormItem"},email:{title:'{{t("Email")}}',"x-component":"Input","x-validator":"email","x-decorator":"FormItem",required:!1},phone:{title:'{{t("Phone")}}',"x-component":"Input","x-validator":"phone","x-decorator":"FormItem",required:!1},password:{"x-component":"CollectionField","x-decorator":"FormItem",required:!0},roles:{"x-component":"CollectionField","x-collection-field":"users.roles","x-decorator":"FormItem"},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:"{{ cm.useCreateAction }}"}}}}}}}}}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{nickname:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{username:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{email:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",title:'{{t("Roles")}}',properties:{roles:{type:"array","x-component":"UserRolesField"}}},column5:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",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","x-decorator":"Form","x-decorator-props":{useValues:s=>{const o=e.useRecord(),r=e.useRequest(()=>Promise.resolve({data:o}),w(f({},s),{manual:!0})),n=e.useActionContext();return p.useEffect(()=>{n.visible&&r.run()},[n.visible]),r}},title:'{{t("Edit profile")}}',properties:{nickname:{"x-component":"CollectionField","x-decorator":"FormItem"},username:{"x-component":"CollectionField","x-decorator":"FormItem"},email:{title:'{{t("Email")}}',"x-component":"Input","x-validator":"email","x-decorator":"FormItem",required:!1},phone:{title:'{{t("Phone")}}',"x-component":"Input","x-validator":"phone","x-decorator":"FormItem",required:!1},roles:{"x-component":"CollectionField","x-decorator":"FormItem","x-collection-field":"users.roles"},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:"{{ cm.useUpdateAction }}"}}}}}}}},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":"Form",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-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:"{{ cm.useUpdateAction }}"}}}}}}}},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?')}}"},useAction:"{{cm.useDestroyAction}}"}}}}}}}}}}}},I=()=>({type:"void",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{[F.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"},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 }}"}}}}}}}}}}}},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 }}"}}}}}}}}}});function A(){return y.useTranslation(["users","client"],{nsMode:"fallback"})}const U=()=>{const{t:s}=A();return(v.useField().value||[]).map(r=>c.jsx(x.Tag,{children:v.Schema.compile(r.title,{t:s})},r.name))},S=()=>{var n,a;const s=p.useContext(e.CollectionContext),o=e.useFilterFieldOptions(s.fields),r=e.useResourceActionContext();return e.useFilterFieldProps({options:o,params:((a=(n=r.state)==null?void 0:n.params)==null?void 0:a[0])||r.params,service:r})},R=(s=10)=>{const o="ABCDEFGHIJKLMNOPQRSTUVWXYZ",r="abcdefghijklmnopqrstuvwxyz",n="0123456789",a="!#$%^&*-_+=",C=o+r+n+a,u=new Uint32Array(s);crypto.getRandomValues(u);let l="";l+=o.charAt(u[0]%o.length),l+=r.charAt(u[1]%r.length),l+=n.charAt(u[2]%n.length),l+=a.charAt(u[3]%a.length);for(let m=4;m<s;m++){const b=u[m]%C.length;l+=C.charAt(b)}return l=l[0]+l.slice(1).split("").sort(()=>Math.random()-.5).join(""),l},k=()=>{const{t:s}=A(),o=v.useField(),[r,n]=p.useState(!1),a=e.useActionContext();return p.useEffect(()=>{a.visible||o.reset()},[o,a.visible]),c.jsxs(x.Row,{gutter:10,children:[c.jsx(x.Col,{span:18,children:c.jsx(e.Password,{checkStrength:!0,visibilityToggle:{visible:r,onVisibleChange:n},value:o.value,onChange:C=>o.setValue(C.target.value),autoComplete:"off"})}),c.jsx(x.Col,{span:4,children:c.jsx(x.Button,{onClick:()=>{o.setValue(R()),n(!0)},children:s("Random password")})})]})},q=()=>{const{t:s}=A(),o=e.useSchemaComponentContext();return c.jsx(e.SchemaComponentContext.Provider,{value:w(f({},o),{designable:!1}),children:c.jsx(x.Card,{children:c.jsx(e.SchemaComponent,{schema:P,scope:{t:s,useFilterActionProps:S},components:{UserRolesField:U,PasswordField:k}})})})},M=()=>{const s=e.useAPIClient(),{role:o}=p.useContext(d.RolesManagerContext),r=e.useRecord(),{refresh:n}=e.useResourceActionContext();return{run(){return h(this,null,function*(){yield s.resource("roles.users",o==null?void 0:o.name).remove({values:[r.id]}),n()})}}},O=()=>{const{t:s}=A(),{message:o}=x.App.useApp(),r=e.useAPIClient(),{state:n,setState:a,refresh:C}=e.useResourceActionContext(),{role:u}=p.useContext(d.RolesManagerContext);return{run(){return h(this,null,function*(){const m=n==null?void 0:n.selectedRowKeys;if(!(m!=null&&m.length)){o.warning(s("Please select users"));return}yield r.resource("roles.users",u==null?void 0:u.name).remove({values:m}),a==null||a({selectedRowKeys:[]}),C()})}}},V=s=>{const{role:o}=p.useContext(d.RolesManagerContext);return c.jsx(e.ResourceActionProvider,{collection:g,request:{resource:"users",action:"listExcludeRole",params:{roleName:o==null?void 0:o.name}},children:s.children})},B=()=>{const{t:s}=A(),{role:o}=p.useContext(d.RolesManagerContext),r=e.useRequest({resource:"roles.users",resourceOf:o==null?void 0:o.name,action:"list"},{ready:!!o});p.useEffect(()=>{r.run()},[o]);const n=p.useRef([]),a=(l,m)=>{n.current=m},C=()=>{const{role:l}=p.useContext(d.RolesManagerContext),m=e.useAPIClient(),{setVisible:b}=e.useActionContext(),{refresh:K}=e.useResourceActionContext();return{run(){return h(this,null,function*(){yield m.resource("roles.users",l==null?void 0:l.name).add({values:n.current.map(j=>j.id)}),n.current=[],b(!1),K()})}}},u=p.useMemo(()=>I(),[o]);return c.jsx(e.ResourceActionContext.Provider,{value:f({},r),children:c.jsx(e.CollectionProvider_deprecated,{collection:g,children:c.jsx(e.SchemaComponent,{schema:u,components:{RoleUsersProvider:V},scope:{useBulkRemoveUsers:O,useRemoveUser:M,handleSelectRoleUsers:a,useAddRoleUsers:C,useFilterActionProps:S,t:s}})})})};class E extends e.Plugin{load(){return h(this,null,function*(){this.app.pluginSettingsManager.add("users-permissions",{title:i.tval("Users & Permissions",{ns:"users"}),icon:"TeamOutlined"}),this.app.pluginSettingsManager.add("users-permissions.users",{title:i.tval("Users"),icon:"UserOutlined",Component:q,aclSnippet:"pm.users"}),this.app.pm.get(d).rolesManager.add("users",{title:i.tval("Users"),Component:B})})}}t.default=E,Object.defineProperties(t,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,9 +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
- export declare function useUsersTranslation(): import("react-i18next").UseTranslationResponse<("users" | "client")[], undefined>;
@@ -1,173 +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
- import { ISchema } from '@formily/react';
10
- export declare const userCollection: {
11
- name: string;
12
- fields: ({
13
- name: string;
14
- type: string;
15
- autoIncrement: boolean;
16
- primaryKey: boolean;
17
- allowNull: boolean;
18
- uiSchema: {
19
- type: string;
20
- title: string;
21
- 'x-component': string;
22
- 'x-read-pretty': boolean;
23
- 'x-validator'?: undefined;
24
- required?: undefined;
25
- 'x-component-props'?: undefined;
26
- };
27
- interface: string;
28
- unique?: undefined;
29
- hidden?: undefined;
30
- target?: undefined;
31
- foreignKey?: undefined;
32
- otherKey?: undefined;
33
- onDelete?: undefined;
34
- sourceKey?: undefined;
35
- targetKey?: undefined;
36
- through?: undefined;
37
- } | {
38
- interface: string;
39
- type: string;
40
- name: string;
41
- uiSchema: {
42
- type: string;
43
- title: string;
44
- 'x-component': string;
45
- 'x-read-pretty'?: undefined;
46
- 'x-validator'?: undefined;
47
- required?: undefined;
48
- 'x-component-props'?: undefined;
49
- };
50
- autoIncrement?: undefined;
51
- primaryKey?: undefined;
52
- allowNull?: undefined;
53
- unique?: undefined;
54
- hidden?: undefined;
55
- target?: undefined;
56
- foreignKey?: undefined;
57
- otherKey?: undefined;
58
- onDelete?: undefined;
59
- sourceKey?: undefined;
60
- targetKey?: undefined;
61
- through?: undefined;
62
- } | {
63
- interface: string;
64
- type: string;
65
- name: string;
66
- unique: boolean;
67
- uiSchema: {
68
- type: string;
69
- title: string;
70
- 'x-component': string;
71
- 'x-validator': {
72
- username: boolean;
73
- };
74
- required: boolean;
75
- 'x-read-pretty'?: undefined;
76
- 'x-component-props'?: undefined;
77
- };
78
- autoIncrement?: undefined;
79
- primaryKey?: undefined;
80
- allowNull?: undefined;
81
- hidden?: undefined;
82
- target?: undefined;
83
- foreignKey?: undefined;
84
- otherKey?: undefined;
85
- onDelete?: undefined;
86
- sourceKey?: undefined;
87
- targetKey?: undefined;
88
- through?: undefined;
89
- } | {
90
- interface: string;
91
- type: string;
92
- name: string;
93
- unique: boolean;
94
- uiSchema: {
95
- type: string;
96
- title: string;
97
- 'x-component': string;
98
- 'x-validator': string;
99
- required: boolean;
100
- 'x-read-pretty'?: undefined;
101
- 'x-component-props'?: undefined;
102
- };
103
- autoIncrement?: undefined;
104
- primaryKey?: undefined;
105
- allowNull?: undefined;
106
- hidden?: undefined;
107
- target?: undefined;
108
- foreignKey?: undefined;
109
- otherKey?: undefined;
110
- onDelete?: undefined;
111
- sourceKey?: undefined;
112
- targetKey?: undefined;
113
- through?: undefined;
114
- } | {
115
- interface: string;
116
- type: string;
117
- name: string;
118
- hidden: boolean;
119
- uiSchema: {
120
- type: string;
121
- title: string;
122
- 'x-component': string;
123
- 'x-read-pretty'?: undefined;
124
- 'x-validator'?: undefined;
125
- required?: undefined;
126
- 'x-component-props'?: undefined;
127
- };
128
- autoIncrement?: undefined;
129
- primaryKey?: undefined;
130
- allowNull?: undefined;
131
- unique?: undefined;
132
- target?: undefined;
133
- foreignKey?: undefined;
134
- otherKey?: undefined;
135
- onDelete?: undefined;
136
- sourceKey?: undefined;
137
- targetKey?: undefined;
138
- through?: undefined;
139
- } | {
140
- interface: string;
141
- type: string;
142
- name: string;
143
- target: string;
144
- foreignKey: string;
145
- otherKey: string;
146
- onDelete: string;
147
- sourceKey: string;
148
- targetKey: string;
149
- through: string;
150
- uiSchema: {
151
- type: string;
152
- title: string;
153
- 'x-component': string;
154
- 'x-component-props': {
155
- multiple: boolean;
156
- fieldNames: {
157
- label: string;
158
- value: string;
159
- };
160
- };
161
- 'x-read-pretty'?: undefined;
162
- 'x-validator'?: undefined;
163
- required?: undefined;
164
- };
165
- autoIncrement?: undefined;
166
- primaryKey?: undefined;
167
- allowNull?: undefined;
168
- unique?: undefined;
169
- hidden?: undefined;
170
- })[];
171
- };
172
- export declare const usersSchema: ISchema;
173
- export declare const getRoleUsersSchema: () => ISchema;
@@ -1,9 +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
- export declare const generatePassword: (length?: number) => string;
@@ -1,25 +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
- module.exports = {
11
- "react": "18.2.0",
12
- "antd": "5.12.8",
13
- "@nocobase/client": "1.2.13-alpha",
14
- "@formily/react": "2.3.0",
15
- "@formily/core": "2.3.0",
16
- "@nocobase/plugin-acl": "1.2.13-alpha",
17
- "@nocobase/utils": "1.2.13-alpha",
18
- "react-i18next": "11.18.6",
19
- "@nocobase/database": "1.2.13-alpha",
20
- "@nocobase/server": "1.2.13-alpha",
21
- "@nocobase/cache": "1.2.13-alpha",
22
- "@formily/shared": "2.3.0",
23
- "@nocobase/actions": "1.2.13-alpha",
24
- "lodash": "4.17.21"
25
- };
package/dist/index.d.ts DELETED
@@ -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
- export * from './server';
10
- export { default } from './server';
package/dist/index.js DELETED
@@ -1,48 +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
- var __create = Object.create;
11
- var __defProp = Object.defineProperty;
12
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
- var __getOwnPropNames = Object.getOwnPropertyNames;
14
- var __getProtoOf = Object.getPrototypeOf;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __export = (target, all) => {
17
- for (var name in all)
18
- __defProp(target, name, { get: all[name], enumerable: true });
19
- };
20
- var __copyProps = (to, from, except, desc) => {
21
- if (from && typeof from === "object" || typeof from === "function") {
22
- for (let key of __getOwnPropNames(from))
23
- if (!__hasOwnProp.call(to, key) && key !== except)
24
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
- }
26
- return to;
27
- };
28
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
29
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
- // If the importer is in node compatibility mode or this is not an ESM
31
- // file that has been converted to a CommonJS file using a Babel-
32
- // compatible transform (i.e. "__esModule" has not been set), then set
33
- // "default" to the CommonJS "module.exports" for node compatibility.
34
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
- mod
36
- ));
37
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
- var src_exports = {};
39
- __export(src_exports, {
40
- default: () => import_server.default
41
- });
42
- module.exports = __toCommonJS(src_exports);
43
- __reExport(src_exports, require("./server"), module.exports);
44
- var import_server = __toESM(require("./server"));
45
- // Annotate the CommonJS export names for ESM import in node:
46
- 0 && (module.exports = {
47
- ...require("./server")
48
- });
@@ -1,7 +0,0 @@
1
- {
2
- "Users & Permissions": "Users & Permissions",
3
- "Add users": "Add users",
4
- "Remove user": "Remove user",
5
- "Are you sure you want to remove it?": "Are you sure you want to remove it?",
6
- "Random password": "Random password"
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "Users & Permissions": "用户和权限",
3
- "Add users": "添加用户",
4
- "Remove user": "移除用户",
5
- "Are you sure you want to remove it?": "你确定要移除吗?",
6
- "Random password": "随机密码"
7
- }
@@ -1,11 +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
- import { Context, Next } from '@nocobase/actions';
10
- export declare function updateProfile(ctx: Context, next: Next): Promise<void>;
11
- export declare const listExcludeRole: (ctx: Context, next: Next) => Promise<void>;
@@ -1,98 +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
- var __create = Object.create;
11
- var __defProp = Object.defineProperty;
12
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
13
- var __getOwnPropNames = Object.getOwnPropertyNames;
14
- var __getProtoOf = Object.getPrototypeOf;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __export = (target, all) => {
17
- for (var name in all)
18
- __defProp(target, name, { get: all[name], enumerable: true });
19
- };
20
- var __copyProps = (to, from, except, desc) => {
21
- if (from && typeof from === "object" || typeof from === "function") {
22
- for (let key of __getOwnPropNames(from))
23
- if (!__hasOwnProp.call(to, key) && key !== except)
24
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
- }
26
- return to;
27
- };
28
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
29
- // If the importer is in node compatibility mode or this is not an ESM
30
- // file that has been converted to a CommonJS file using a Babel-
31
- // compatible transform (i.e. "__esModule" has not been set), then set
32
- // "default" to the CommonJS "module.exports" for node compatibility.
33
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
34
- mod
35
- ));
36
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
37
- var users_exports = {};
38
- __export(users_exports, {
39
- listExcludeRole: () => listExcludeRole,
40
- updateProfile: () => updateProfile
41
- });
42
- module.exports = __toCommonJS(users_exports);
43
- var import_actions = require("@nocobase/actions");
44
- var import_lodash = __toESM(require("lodash"));
45
- async function updateProfile(ctx, next) {
46
- const values = ctx.action.params.values || {};
47
- const { currentUser } = ctx.state;
48
- if (!currentUser) {
49
- ctx.throw(401);
50
- }
51
- const UserRepo = ctx.db.getRepository("users");
52
- const result = await UserRepo.update({
53
- filterByTk: currentUser.id,
54
- values: import_lodash.default.pick(values, ["nickname", "username", "email", "phone", "systemSettings", "appLang"])
55
- });
56
- ctx.body = result;
57
- await next();
58
- }
59
- const listExcludeRole = async (ctx, next) => {
60
- const { roleName, page = import_actions.DEFAULT_PAGE, pageSize = import_actions.DEFAULT_PER_PAGE } = ctx.action.params;
61
- const repo = ctx.db.getRepository("users");
62
- const users = await repo.find({
63
- fields: ["id"],
64
- filter: {
65
- "roles.name": roleName
66
- }
67
- });
68
- const userIds = users.map((user) => user.id);
69
- if (userIds.length) {
70
- ctx.action.mergeParams({
71
- filter: {
72
- id: {
73
- $notIn: userIds
74
- }
75
- }
76
- });
77
- }
78
- const { filter } = ctx.action.params;
79
- const [rows, count] = await repo.findAndCount({
80
- context: ctx,
81
- offset: (page - 1) * pageSize,
82
- limit: pageSize,
83
- filter
84
- });
85
- ctx.body = {
86
- count,
87
- rows,
88
- page: Number(page),
89
- pageSize: Number(pageSize),
90
- totalPage: Math.ceil(count / pageSize)
91
- };
92
- await next();
93
- };
94
- // Annotate the CommonJS export names for ESM import in node:
95
- 0 && (module.exports = {
96
- listExcludeRole,
97
- updateProfile
98
- });
@@ -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
- declare const _default: import("@nocobase/database").CollectionOptions;
10
- export default _default;