@nocobase/plugin-users 0.11.1-alpha.4 → 0.12.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/index.js +11 -0
- package/{lib → dist}/index.d.ts +1 -0
- package/dist/index.js +18 -0
- package/dist/locale/en-US.js +12 -0
- package/dist/locale/es-ES.js +12 -0
- package/dist/locale/fr-FR.js +12 -0
- package/dist/locale/ja-JP.js +8 -0
- package/dist/locale/pt-BR.js +12 -0
- package/dist/locale/zh-CN.js +12 -0
- package/dist/server/actions/users.js +152 -0
- package/dist/server/authenticators/index.js +23 -0
- package/dist/server/authenticators/password.js +31 -0
- package/dist/server/collections/users.js +91 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +18 -0
- package/dist/server/jwt-service.js +34 -0
- package/dist/server/locale/en-US.js +12 -0
- package/dist/server/locale/es-ES.js +12 -0
- package/dist/server/locale/fr-FR.js +12 -0
- package/dist/server/locale/index.js +26 -0
- package/dist/server/locale/ja-JP.js +8 -0
- package/dist/server/locale/pt-BR.js +12 -0
- package/dist/server/locale/zh-CN.js +12 -0
- package/dist/server/middlewares/check.js +13 -0
- package/dist/server/middlewares/index.js +15 -0
- package/{src/server/middlewares/parseToken.ts → dist/server/middlewares/parseToken.js} +11 -12
- package/dist/server/migrations/20220818072639-add-users-phone.js +43 -0
- package/dist/server/server.js +249 -0
- package/package.json +17 -28
- package/lib/client/index.js +0 -22
- package/lib/index.js +0 -13
- package/lib/locale/en-US.js +0 -15
- package/lib/locale/es-ES.js +0 -15
- package/lib/locale/fr-FR.js +0 -15
- package/lib/locale/ja-JP.js +0 -11
- package/lib/locale/pt-BR.js +0 -15
- package/lib/locale/zh-CN.js +0 -15
- package/lib/server/actions/users.js +0 -253
- package/lib/server/authenticators/index.js +0 -44
- package/lib/server/authenticators/password.js +0 -49
- package/lib/server/collections/users.js +0 -90
- package/lib/server/index.d.ts +0 -2
- package/lib/server/index.js +0 -16
- package/lib/server/jwt-service.js +0 -42
- package/lib/server/locale/en-US.js +0 -15
- package/lib/server/locale/es-ES.js +0 -15
- package/lib/server/locale/fr-FR.js +0 -15
- package/lib/server/locale/index.js +0 -27
- package/lib/server/locale/ja-JP.js +0 -11
- package/lib/server/locale/pt-BR.js +0 -15
- package/lib/server/locale/zh-CN.js +0 -15
- package/lib/server/middlewares/check.js +0 -24
- package/lib/server/middlewares/index.js +0 -19
- package/lib/server/middlewares/parseToken.js +0 -75
- package/lib/server/migrations/20220818072639-add-users-phone.js +0 -57
- package/lib/server/server.js +0 -312
- package/src/client/index.ts +0 -7
- package/src/index.ts +0 -1
- package/src/locale/en-US.ts +0 -10
- package/src/locale/es-ES.ts +0 -8
- package/src/locale/fr-FR.ts +0 -11
- package/src/locale/ja-JP.ts +0 -4
- package/src/locale/pt-BR.ts +0 -10
- package/src/locale/zh-CN.ts +0 -8
- package/src/server/__tests__/actions.test.ts +0 -79
- package/src/server/__tests__/fields.test.ts +0 -90
- package/src/server/__tests__/utils.ts +0 -8
- package/src/server/actions/users.ts +0 -148
- package/src/server/authenticators/index.ts +0 -26
- package/src/server/authenticators/password.ts +0 -34
- package/src/server/collections/users.ts +0 -89
- package/src/server/index.ts +0 -3
- package/src/server/jwt-service.ts +0 -34
- package/src/server/locale/en-US.ts +0 -10
- package/src/server/locale/es-ES.ts +0 -8
- package/src/server/locale/fr-FR.ts +0 -11
- package/src/server/locale/index.ts +0 -3
- package/src/server/locale/ja-JP.ts +0 -4
- package/src/server/locale/pt-BR.ts +0 -10
- package/src/server/locale/zh-CN.ts +0 -8
- package/src/server/middlewares/check.ts +0 -11
- package/src/server/middlewares/index.ts +0 -2
- package/src/server/migrations/20220818072639-add-users-phone.ts +0 -39
- package/src/server/server.ts +0 -253
- /package/{lib → dist}/client/index.d.ts +0 -0
- /package/{lib → dist}/locale/en-US.d.ts +0 -0
- /package/{lib → dist}/locale/es-ES.d.ts +0 -0
- /package/{lib → dist}/locale/fr-FR.d.ts +0 -0
- /package/{lib → dist}/locale/ja-JP.d.ts +0 -0
- /package/{lib → dist}/locale/pt-BR.d.ts +0 -0
- /package/{lib → dist}/locale/zh-CN.d.ts +0 -0
- /package/{lib → dist}/server/actions/users.d.ts +0 -0
- /package/{lib → dist}/server/authenticators/index.d.ts +0 -0
- /package/{lib → dist}/server/authenticators/password.d.ts +0 -0
- /package/{lib → dist}/server/collections/users.d.ts +0 -0
- /package/{lib → dist}/server/jwt-service.d.ts +0 -0
- /package/{lib → dist}/server/locale/en-US.d.ts +0 -0
- /package/{lib → dist}/server/locale/es-ES.d.ts +0 -0
- /package/{lib → dist}/server/locale/fr-FR.d.ts +0 -0
- /package/{lib → dist}/server/locale/index.d.ts +0 -0
- /package/{lib → dist}/server/locale/ja-JP.d.ts +0 -0
- /package/{lib → dist}/server/locale/pt-BR.d.ts +0 -0
- /package/{lib → dist}/server/locale/zh-CN.d.ts +0 -0
- /package/{lib → dist}/server/middlewares/check.d.ts +0 -0
- /package/{lib → dist}/server/middlewares/index.d.ts +0 -0
- /package/{lib → dist}/server/middlewares/parseToken.d.ts +0 -0
- /package/{lib → dist}/server/migrations/20220818072639-add-users-phone.d.ts +0 -0
- /package/{lib → dist}/server/server.d.ts +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var server = require('@nocobase/server');
|
|
4
|
+
|
|
5
|
+
class AddUsersPhoneMigration extends server.Migration {
|
|
6
|
+
async up() {
|
|
7
|
+
const match = await this.app.version.satisfies("<=0.7.4-alpha.7");
|
|
8
|
+
if (!match) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const Field = this.context.db.getRepository("fields");
|
|
12
|
+
const existed = await Field.count({
|
|
13
|
+
filter: {
|
|
14
|
+
name: "phone",
|
|
15
|
+
collectionName: "users"
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
if (!existed) {
|
|
19
|
+
await Field.create({
|
|
20
|
+
values: {
|
|
21
|
+
name: "phone",
|
|
22
|
+
collectionName: "users",
|
|
23
|
+
type: "string",
|
|
24
|
+
unique: true,
|
|
25
|
+
interface: "phone",
|
|
26
|
+
uiSchema: {
|
|
27
|
+
type: "string",
|
|
28
|
+
title: '{{t("Phone")}}',
|
|
29
|
+
"x-component": "Input",
|
|
30
|
+
"x-validator": "phone",
|
|
31
|
+
require: true
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
// NOTE: to trigger hook
|
|
35
|
+
context: {}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async down() {
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
module.exports = AddUsersPhoneMigration;
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var database = require('@nocobase/database');
|
|
4
|
+
var server = require('@nocobase/server');
|
|
5
|
+
var utils = require('@nocobase/utils');
|
|
6
|
+
var path = require('path');
|
|
7
|
+
var _ = require('./');
|
|
8
|
+
var actions = require('./actions/users');
|
|
9
|
+
var initAuthenticators = require('./authenticators');
|
|
10
|
+
var jwtService = require('./jwt-service');
|
|
11
|
+
var locale = require('./locale');
|
|
12
|
+
|
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
function _interopNamespace(e) {
|
|
16
|
+
if (e && e.__esModule) return e;
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
n.default = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var actions__namespace = /*#__PURE__*/_interopNamespace(actions);
|
|
34
|
+
var initAuthenticators__default = /*#__PURE__*/_interopDefault(initAuthenticators);
|
|
35
|
+
|
|
36
|
+
class UsersPlugin extends server.Plugin {
|
|
37
|
+
jwtService;
|
|
38
|
+
authenticators = new utils.Registry();
|
|
39
|
+
constructor(app, options) {
|
|
40
|
+
super(app, options);
|
|
41
|
+
this.jwtService = new jwtService.JwtService((options == null ? void 0 : options.jwt) || {});
|
|
42
|
+
}
|
|
43
|
+
async beforeLoad() {
|
|
44
|
+
this.app.i18n.addResources("zh-CN", _.namespace, locale.zhCN);
|
|
45
|
+
this.app.i18n.addResources("en-US", _.namespace, locale.enUS);
|
|
46
|
+
const cmd = this.app.findCommand("install");
|
|
47
|
+
if (cmd) {
|
|
48
|
+
cmd.requiredOption("-e, --root-email <rootEmail>", "", process.env.INIT_ROOT_EMAIL);
|
|
49
|
+
cmd.requiredOption("-p, --root-password <rootPassword>", "", process.env.INIT_ROOT_PASSWORD);
|
|
50
|
+
cmd.option("-n, --root-nickname <rootNickname>");
|
|
51
|
+
}
|
|
52
|
+
this.db.registerOperators({
|
|
53
|
+
$isCurrentUser(_, ctx) {
|
|
54
|
+
var _a, _b, _c, _d;
|
|
55
|
+
return {
|
|
56
|
+
[database.Op.eq]: ((_d = (_c = (_b = (_a = ctx == null ? void 0 : ctx.app) == null ? void 0 : _a.ctx) == null ? void 0 : _b.state) == null ? void 0 : _c.currentUser) == null ? void 0 : _d.id) || -1
|
|
57
|
+
};
|
|
58
|
+
},
|
|
59
|
+
$isNotCurrentUser(_, ctx) {
|
|
60
|
+
var _a, _b, _c, _d;
|
|
61
|
+
return {
|
|
62
|
+
[database.Op.ne]: ((_d = (_c = (_b = (_a = ctx == null ? void 0 : ctx.app) == null ? void 0 : _a.ctx) == null ? void 0 : _b.state) == null ? void 0 : _c.currentUser) == null ? void 0 : _d.id) || -1
|
|
63
|
+
};
|
|
64
|
+
},
|
|
65
|
+
$isVar(val, ctx) {
|
|
66
|
+
var _a, _b;
|
|
67
|
+
const obj = utils.parse({ val: `{{${val}}}` })(JSON.parse(JSON.stringify((_b = (_a = ctx == null ? void 0 : ctx.app) == null ? void 0 : _a.ctx) == null ? void 0 : _b.state)));
|
|
68
|
+
return {
|
|
69
|
+
[database.Op.eq]: obj.val
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
this.db.on("afterDefineCollection", (collection) => {
|
|
74
|
+
const { createdBy, updatedBy } = collection.options;
|
|
75
|
+
if (createdBy === true) {
|
|
76
|
+
collection.setField("createdById", {
|
|
77
|
+
type: "context",
|
|
78
|
+
dataType: "bigInt",
|
|
79
|
+
dataIndex: "state.currentUser.id",
|
|
80
|
+
createOnly: true,
|
|
81
|
+
visible: true,
|
|
82
|
+
index: true
|
|
83
|
+
});
|
|
84
|
+
collection.setField("createdBy", {
|
|
85
|
+
type: "belongsTo",
|
|
86
|
+
target: "users",
|
|
87
|
+
foreignKey: "createdById",
|
|
88
|
+
targetKey: "id"
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
if (updatedBy === true) {
|
|
92
|
+
collection.setField("updatedById", {
|
|
93
|
+
type: "context",
|
|
94
|
+
dataType: "bigInt",
|
|
95
|
+
dataIndex: "state.currentUser.id",
|
|
96
|
+
visible: true,
|
|
97
|
+
index: true
|
|
98
|
+
});
|
|
99
|
+
collection.setField("updatedBy", {
|
|
100
|
+
type: "belongsTo",
|
|
101
|
+
target: "users",
|
|
102
|
+
foreignKey: "updatedById",
|
|
103
|
+
targetKey: "id"
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
for (const [key, action] of Object.entries(actions__namespace)) {
|
|
108
|
+
this.app.resourcer.registerActionHandler(`users:${key}`, action);
|
|
109
|
+
}
|
|
110
|
+
this.app.acl.addFixedParams("users", "destroy", () => {
|
|
111
|
+
return {
|
|
112
|
+
filter: {
|
|
113
|
+
"id.$ne": 1
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
this.app.acl.addFixedParams("collections", "destroy", () => {
|
|
118
|
+
return {
|
|
119
|
+
filter: {
|
|
120
|
+
"name.$ne": "users"
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
const publicActions = ["check", "signin", "signup", "lostpassword", "resetpassword", "getUserByResetToken"];
|
|
125
|
+
const loggedInActions = ["signout", "updateProfile", "changePassword"];
|
|
126
|
+
publicActions.forEach((action) => this.app.acl.allow("users", action));
|
|
127
|
+
loggedInActions.forEach((action) => this.app.acl.allow("users", action, "loggedIn"));
|
|
128
|
+
this.app.on("beforeStart", () => this.initVerification());
|
|
129
|
+
}
|
|
130
|
+
async load() {
|
|
131
|
+
await this.db.import({
|
|
132
|
+
directory: path.resolve(__dirname, "collections")
|
|
133
|
+
});
|
|
134
|
+
this.db.addMigrations({
|
|
135
|
+
namespace: "users",
|
|
136
|
+
directory: path.resolve(__dirname, "migrations"),
|
|
137
|
+
context: {
|
|
138
|
+
plugin: this
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
initAuthenticators__default.default(this);
|
|
142
|
+
}
|
|
143
|
+
getInstallingData(options = {}) {
|
|
144
|
+
var _a;
|
|
145
|
+
const { INIT_ROOT_NICKNAME, INIT_ROOT_PASSWORD, INIT_ROOT_EMAIL } = process.env;
|
|
146
|
+
const {
|
|
147
|
+
rootEmail = INIT_ROOT_EMAIL,
|
|
148
|
+
rootPassword = INIT_ROOT_PASSWORD,
|
|
149
|
+
rootNickname = INIT_ROOT_NICKNAME || "Super Admin"
|
|
150
|
+
} = options.users || ((_a = options == null ? void 0 : options.cliArgs) == null ? void 0 : _a[0]) || {};
|
|
151
|
+
return {
|
|
152
|
+
rootEmail,
|
|
153
|
+
rootPassword,
|
|
154
|
+
rootNickname
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
async install(options) {
|
|
158
|
+
const { rootNickname, rootPassword, rootEmail } = this.getInstallingData(options);
|
|
159
|
+
const User = this.db.getCollection("users");
|
|
160
|
+
if (await User.repository.findOne({ filter: { email: rootEmail } })) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
await User.repository.create({
|
|
164
|
+
values: {
|
|
165
|
+
email: rootEmail,
|
|
166
|
+
password: rootPassword,
|
|
167
|
+
nickname: rootNickname
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
const repo = this.db.getRepository("collections");
|
|
171
|
+
if (repo) {
|
|
172
|
+
await repo.db2cm("users");
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// TODO(module): should move to preset or dynamic configuration panel
|
|
176
|
+
async initVerification() {
|
|
177
|
+
const verificationPlugin = this.app.getPlugin("verification");
|
|
178
|
+
if (!verificationPlugin) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
const systemSettingsRepo = this.db.getRepository("systemSettings");
|
|
182
|
+
const settings = await systemSettingsRepo.findOne();
|
|
183
|
+
if (!settings.smsAuthEnabled) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
verificationPlugin.interceptors.register("users:signin", {
|
|
187
|
+
manual: true,
|
|
188
|
+
getReceiver(ctx) {
|
|
189
|
+
return ctx.action.params.values.phone;
|
|
190
|
+
},
|
|
191
|
+
expiresIn: 120,
|
|
192
|
+
validate: async (ctx, phone) => {
|
|
193
|
+
if (!phone) {
|
|
194
|
+
throw new Error(ctx.t("Not a valid cellphone number, please re-enter"));
|
|
195
|
+
}
|
|
196
|
+
const User = this.db.getCollection("users");
|
|
197
|
+
const exists = await User.model.count({
|
|
198
|
+
where: {
|
|
199
|
+
phone
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
if (!exists) {
|
|
203
|
+
throw new Error(ctx.t("The phone number is not registered, please register first", { ns: _.namespace }));
|
|
204
|
+
}
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
verificationPlugin.interceptors.register("users:signup", {
|
|
209
|
+
getReceiver(ctx) {
|
|
210
|
+
return ctx.action.params.values.phone;
|
|
211
|
+
},
|
|
212
|
+
expiresIn: 120,
|
|
213
|
+
validate: async (ctx, phone) => {
|
|
214
|
+
if (!phone) {
|
|
215
|
+
throw new Error(ctx.t("Not a valid cellphone number, please re-enter", { ns: _.namespace }));
|
|
216
|
+
}
|
|
217
|
+
const User = this.db.getCollection("users");
|
|
218
|
+
const exists = await User.model.count({
|
|
219
|
+
where: {
|
|
220
|
+
phone
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
if (exists) {
|
|
224
|
+
throw new Error(ctx.t("The phone number has been registered, please login directly", { ns: _.namespace }));
|
|
225
|
+
}
|
|
226
|
+
return true;
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
this.authenticators.register(
|
|
230
|
+
"sms",
|
|
231
|
+
(ctx, next) => verificationPlugin.intercept(ctx, async () => {
|
|
232
|
+
const { values } = ctx.action.params;
|
|
233
|
+
const User = ctx.db.getCollection("users");
|
|
234
|
+
const user = await User.model.findOne({
|
|
235
|
+
where: {
|
|
236
|
+
phone: values.phone
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
if (!user) {
|
|
240
|
+
return ctx.throw(404, ctx.t("The phone number is incorrect, please re-enter", { ns: _.namespace }));
|
|
241
|
+
}
|
|
242
|
+
ctx.state.currentUser = user;
|
|
243
|
+
return next();
|
|
244
|
+
})
|
|
245
|
+
);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
module.exports = UsersPlugin;
|
package/package.json
CHANGED
|
@@ -1,37 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-users",
|
|
3
3
|
"displayName": "users",
|
|
4
|
-
"displayName.zh-CN": "
|
|
5
|
-
"description": "
|
|
6
|
-
"description.zh-CN": "
|
|
7
|
-
"version": "0.
|
|
4
|
+
"displayName.zh-CN": "用户",
|
|
5
|
+
"description": "Provide a basic user model and a password-based user authentication type, and extended the createdBy and updatedBy field types",
|
|
6
|
+
"description.zh-CN": "提供了基础的用户模型和基于密码的用户认证方式,并拓展了创建人和最后更新人字段类型",
|
|
7
|
+
"version": "0.12.0-alpha.1",
|
|
8
8
|
"license": "AGPL-3.0",
|
|
9
|
-
"main": "./
|
|
10
|
-
"
|
|
11
|
-
"lib",
|
|
12
|
-
"src",
|
|
13
|
-
"README.md",
|
|
14
|
-
"README.zh-CN.md",
|
|
15
|
-
"CHANGELOG.md",
|
|
16
|
-
"server.js",
|
|
17
|
-
"server.d.ts",
|
|
18
|
-
"client.js",
|
|
19
|
-
"client.d.ts"
|
|
20
|
-
],
|
|
21
|
-
"dependencies": {
|
|
9
|
+
"main": "./dist/server/index.js",
|
|
10
|
+
"devDependencies": {
|
|
22
11
|
"@types/jsonwebtoken": "^8.5.8",
|
|
23
12
|
"jsonwebtoken": "^8.5.1"
|
|
24
13
|
},
|
|
25
|
-
"
|
|
26
|
-
"@nocobase/actions": "0.
|
|
27
|
-
"@nocobase/client": "0.
|
|
28
|
-
"@nocobase/database": "0.
|
|
29
|
-
"@nocobase/plugin-acl": "0.
|
|
30
|
-
"@nocobase/plugin-auth": "0.
|
|
31
|
-
"@nocobase/resourcer": "0.
|
|
32
|
-
"@nocobase/server": "0.
|
|
33
|
-
"@nocobase/test": "0.
|
|
34
|
-
"@nocobase/utils": "0.
|
|
14
|
+
"peerDependencies": {
|
|
15
|
+
"@nocobase/actions": "0.x",
|
|
16
|
+
"@nocobase/client": "0.x",
|
|
17
|
+
"@nocobase/database": "0.x",
|
|
18
|
+
"@nocobase/plugin-acl": "0.x",
|
|
19
|
+
"@nocobase/plugin-auth": "0.x",
|
|
20
|
+
"@nocobase/resourcer": "0.x",
|
|
21
|
+
"@nocobase/server": "0.x",
|
|
22
|
+
"@nocobase/test": "0.x",
|
|
23
|
+
"@nocobase/utils": "0.x"
|
|
35
24
|
},
|
|
36
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "543dcc0216b7b1451b552b0f685bc3e0682f9d59"
|
|
37
26
|
}
|
package/lib/client/index.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
function _client() {
|
|
8
|
-
const data = require("@nocobase/client");
|
|
9
|
-
_client = function _client() {
|
|
10
|
-
return data;
|
|
11
|
-
};
|
|
12
|
-
return data;
|
|
13
|
-
}
|
|
14
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
15
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
16
|
-
class UsersPlugin extends _client().Plugin {
|
|
17
|
-
load() {
|
|
18
|
-
return _asyncToGenerator(function* () {})();
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
var _default = UsersPlugin;
|
|
22
|
-
exports.default = _default;
|
package/lib/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "default", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _server.default;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
var _server = _interopRequireDefault(require("./server"));
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/locale/en-US.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
'The email is incorrect, please re-enter': 'The email is incorrect, please re-enter',
|
|
9
|
-
'Please fill in your email address': 'Please fill in your email address',
|
|
10
|
-
'The password is incorrect, please re-enter': 'The password is incorrect, please re-enter',
|
|
11
|
-
'Not a valid cellphone number, please re-enter': 'Not a valid cellphone number, please re-enter',
|
|
12
|
-
'The phone number has been registered, please login directly': 'The phone number has been registered, please login directly',
|
|
13
|
-
'The phone number is not registered, please register first': 'The phone number is not registered, please register first'
|
|
14
|
-
};
|
|
15
|
-
exports.default = _default;
|
package/lib/locale/es-ES.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
"The email is incorrect, please re-enter": "El correo electrónico es incorrecto, por favor vuelva a introducirlo",
|
|
9
|
-
"Please fill in your email address": "Por favor, introduzca su dirección de correo electrónico",
|
|
10
|
-
"The password is incorrect, please re-enter": "La contraseña es incorrecta, por favor, vuelva a introducirla",
|
|
11
|
-
"Not a valid cellphone number, please re-enter": "No es un número de móvil válido, por favor, vuelva a introducirlo",
|
|
12
|
-
"The phone number has been registered, please login directly": "El número de teléfono ha sido registrado, por favor, inicie sesión directamente",
|
|
13
|
-
"The phone number is not registered, please register first": "El número de teléfono no está registrado, por favor regístrese primero"
|
|
14
|
-
};
|
|
15
|
-
exports.default = _default;
|
package/lib/locale/fr-FR.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
'The email is incorrect, please re-enter': "L'adresse e-mail est incorrecte, veuillez la saisir à nouveau",
|
|
9
|
-
'Please fill in your email address': 'Veuillez remplir votre adresse e-mail',
|
|
10
|
-
'The password is incorrect, please re-enter': 'Le mot de passe est incorrect, veuillez le saisir à nouveau',
|
|
11
|
-
'Not a valid cellphone number, please re-enter': 'Numéro de téléphone portable invalide, veuillez le saisir à nouveau',
|
|
12
|
-
'The phone number has been registered, please login directly': 'Le numéro de téléphone a été enregistré, veuillez vous connecter directement',
|
|
13
|
-
'The phone number is not registered, please register first': "Le numéro de téléphone n'est pas enregistré, veuillez vous inscrire d'abord"
|
|
14
|
-
};
|
|
15
|
-
exports.default = _default;
|
package/lib/locale/ja-JP.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
'Please fill in your email address': 'メールアドレスを入力してください',
|
|
9
|
-
'The password is incorrect, please re-enter': 'パスワードが正しくありません。再度入力してください。'
|
|
10
|
-
};
|
|
11
|
-
exports.default = _default;
|
package/lib/locale/pt-BR.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
'The email is incorrect, please re-enter': 'O e-mail está incorreto, por favor, digite novamente',
|
|
9
|
-
'Please fill in your email address': 'Por favor, preencha o seu endereço de e-mail',
|
|
10
|
-
'The password is incorrect, please re-enter': 'A senha está incorreta, por favor, digite novamente',
|
|
11
|
-
'Not a valid cellphone number, please re-enter': 'Número de celular inválido, por favor, digite novamente',
|
|
12
|
-
'The phone number has been registered, please login directly': 'O número de celular já está registrado, por favor, faça login diretamente',
|
|
13
|
-
'The phone number is not registered, please register first': 'O número de celular não está registrado, por favor, registre-se primeiro'
|
|
14
|
-
};
|
|
15
|
-
exports.default = _default;
|
package/lib/locale/zh-CN.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _default = {
|
|
8
|
-
'The email is incorrect, please re-enter': '邮箱有误,请重新输入',
|
|
9
|
-
'Please fill in your email address': '请填写邮箱',
|
|
10
|
-
'The password is incorrect, please re-enter': '密码有误,请重新输入',
|
|
11
|
-
'Not a valid cellphone number, please re-enter': '不是有效的手机号,请重新输入',
|
|
12
|
-
'The phone number has been registered, please login directly': '手机号已注册,请直接登录',
|
|
13
|
-
'The phone number is not registered, please register first': '手机号未注册,请先注册'
|
|
14
|
-
};
|
|
15
|
-
exports.default = _default;
|