vona-module-a-user 5.0.22 → 5.0.24
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/.metadata/index.d.ts +19 -13
- package/dist/bean/{bean.roleInner.d.ts → bean.role.d.ts} +3 -3
- package/dist/bean/{bean.userInner.d.ts → bean.user.d.ts} +4 -4
- package/dist/bean/event.register.d.ts +10 -0
- package/dist/config/config.d.ts +2 -3
- package/dist/index.js +83 -138
- package/dist/lib/auth.d.ts +1 -3
- package/dist/lib/index.d.ts +0 -1
- package/dist/lib/user.d.ts +1 -11
- package/dist/types/auth.d.ts +8 -6
- package/dist/types/authProfile.d.ts +2 -0
- package/dist/types/role.d.ts +1 -4
- package/dist/types/user.d.ts +7 -10
- package/package.json +1 -1
- package/dist/bean/bean.authInner.d.ts +0 -7
- package/dist/lib/role.d.ts +0 -5
|
@@ -37,36 +37,31 @@ declare module 'vona-module-a-user' {
|
|
|
37
37
|
}
|
|
38
38
|
/** guard: end */
|
|
39
39
|
/** bean: begin */
|
|
40
|
-
export * from '../bean/bean.authInner.ts';
|
|
41
40
|
export * from '../bean/bean.passport.ts';
|
|
42
|
-
export * from '../bean/bean.
|
|
43
|
-
export * from '../bean/bean.
|
|
41
|
+
export * from '../bean/bean.role.ts';
|
|
42
|
+
export * from '../bean/bean.user.ts';
|
|
44
43
|
import 'vona';
|
|
45
44
|
declare module 'vona' {
|
|
46
45
|
}
|
|
47
46
|
declare module 'vona-module-a-user' {
|
|
48
|
-
interface BeanAuthInner {
|
|
49
|
-
}
|
|
50
47
|
interface BeanPassport {
|
|
51
48
|
}
|
|
52
|
-
interface
|
|
49
|
+
interface BeanRole {
|
|
53
50
|
}
|
|
54
|
-
interface
|
|
51
|
+
interface BeanUser {
|
|
55
52
|
}
|
|
56
53
|
}
|
|
57
54
|
/** bean: end */
|
|
58
55
|
/** bean: begin */
|
|
59
|
-
import type { BeanAuthInner } from '../bean/bean.authInner.ts';
|
|
60
56
|
import type { BeanPassport } from '../bean/bean.passport.ts';
|
|
61
|
-
import type {
|
|
62
|
-
import type {
|
|
57
|
+
import type { BeanRole } from '../bean/bean.role.ts';
|
|
58
|
+
import type { BeanUser } from '../bean/bean.user.ts';
|
|
63
59
|
import 'vona';
|
|
64
60
|
declare module 'vona' {
|
|
65
61
|
interface IBeanRecordGlobal {
|
|
66
|
-
'authInner': BeanAuthInner;
|
|
67
62
|
'passport': BeanPassport;
|
|
68
|
-
'
|
|
69
|
-
'
|
|
63
|
+
'role': BeanRole;
|
|
64
|
+
'user': BeanUser;
|
|
70
65
|
}
|
|
71
66
|
}
|
|
72
67
|
/** bean: end */
|
|
@@ -115,6 +110,7 @@ declare module 'vona' {
|
|
|
115
110
|
/** event: begin */
|
|
116
111
|
export * from '../bean/event.activate.ts';
|
|
117
112
|
export * from '../bean/event.createUserAnonymous.ts';
|
|
113
|
+
export * from '../bean/event.register.ts';
|
|
118
114
|
export * from '../bean/event.signin.ts';
|
|
119
115
|
export * from '../bean/event.signout.ts';
|
|
120
116
|
import 'vona';
|
|
@@ -133,6 +129,12 @@ declare module 'vona-module-a-user' {
|
|
|
133
129
|
get $beanFullName(): 'a-user.event.createUserAnonymous';
|
|
134
130
|
get $onionName(): 'a-user:createUserAnonymous';
|
|
135
131
|
}
|
|
132
|
+
interface EventRegister {
|
|
133
|
+
}
|
|
134
|
+
interface EventRegister {
|
|
135
|
+
get $beanFullName(): 'a-user.event.register';
|
|
136
|
+
get $onionName(): 'a-user:register';
|
|
137
|
+
}
|
|
136
138
|
interface EventSignin {
|
|
137
139
|
}
|
|
138
140
|
interface EventSignin {
|
|
@@ -150,11 +152,13 @@ declare module 'vona-module-a-user' {
|
|
|
150
152
|
/** event: begin */
|
|
151
153
|
import type { EventActivate } from '../bean/event.activate.ts';
|
|
152
154
|
import type { EventCreateUserAnonymous } from '../bean/event.createUserAnonymous.ts';
|
|
155
|
+
import type { EventRegister } from '../bean/event.register.ts';
|
|
153
156
|
import type { EventSignin } from '../bean/event.signin.ts';
|
|
154
157
|
import type { EventSignout } from '../bean/event.signout.ts';
|
|
155
158
|
export interface IModuleEvent {
|
|
156
159
|
'activate': EventActivate;
|
|
157
160
|
'createUserAnonymous': EventCreateUserAnonymous;
|
|
161
|
+
'register': EventRegister;
|
|
158
162
|
'signin': EventSignin;
|
|
159
163
|
'signout': EventSignout;
|
|
160
164
|
}
|
|
@@ -162,6 +166,7 @@ export interface IModuleEvent {
|
|
|
162
166
|
/** event: begin */
|
|
163
167
|
import type { TypeEventActivateData, TypeEventActivateResult } from '../bean/event.activate.ts';
|
|
164
168
|
import type { TypeEventCreateUserAnonymousData, TypeEventCreateUserAnonymousResult } from '../bean/event.createUserAnonymous.ts';
|
|
169
|
+
import type { TypeEventRegisterData, TypeEventRegisterResult } from '../bean/event.register.ts';
|
|
165
170
|
import type { TypeEventSigninData, TypeEventSigninResult } from '../bean/event.signin.ts';
|
|
166
171
|
import type { TypeEventSignoutData, TypeEventSignoutResult } from '../bean/event.signout.ts';
|
|
167
172
|
import type { EventOn } from 'vona-module-a-event';
|
|
@@ -169,6 +174,7 @@ declare module 'vona-module-a-event' {
|
|
|
169
174
|
interface IEventRecord {
|
|
170
175
|
'a-user:activate': EventOn<TypeEventActivateData, TypeEventActivateResult>;
|
|
171
176
|
'a-user:createUserAnonymous': EventOn<TypeEventCreateUserAnonymousData, TypeEventCreateUserAnonymousResult>;
|
|
177
|
+
'a-user:register': EventOn<TypeEventRegisterData, TypeEventRegisterResult>;
|
|
172
178
|
'a-user:signin': EventOn<TypeEventSigninData, TypeEventSigninResult>;
|
|
173
179
|
'a-user:signout': EventOn<TypeEventSignoutData, TypeEventSignoutResult>;
|
|
174
180
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { IRoleBase } from '../types/role.ts';
|
|
3
3
|
import { BeanBase } from 'vona';
|
|
4
|
-
export declare class
|
|
5
|
-
private
|
|
6
|
-
private get
|
|
4
|
+
export declare class BeanRole extends BeanBase {
|
|
5
|
+
private _roleAdapter;
|
|
6
|
+
private get roleAdapter();
|
|
7
7
|
findOneByName(name: string): Promise<IRoleBase | undefined>;
|
|
8
8
|
findOne(role: Partial<IRoleBase>): Promise<IRoleBase | undefined>;
|
|
9
9
|
findAllByUserId(userId: TableIdentity): Promise<IRoleBase[] | undefined>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { IAuthUserProfile } from '../types/authProfile.ts';
|
|
2
2
|
import type { IUserBase } from '../types/user.ts';
|
|
3
3
|
import { BeanBase } from 'vona';
|
|
4
|
-
export declare class
|
|
5
|
-
private
|
|
6
|
-
private get
|
|
4
|
+
export declare class BeanUser extends BeanBase {
|
|
5
|
+
private _userAdapter;
|
|
6
|
+
private get userAdapter();
|
|
7
7
|
activate(user: IUserBase): Promise<void>;
|
|
8
|
-
register(user: Partial<IUserBase>,
|
|
8
|
+
register(user: Partial<IUserBase>, confirmed?: boolean): Promise<IUserBase>;
|
|
9
9
|
registerByProfile(profile: IAuthUserProfile): Promise<IUserBase>;
|
|
10
10
|
createAnonymous(): Promise<IUserBase>;
|
|
11
11
|
findOneByName(name: string): Promise<IUserBase | undefined>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IUserBase } from '../types/user.ts';
|
|
2
|
+
import { BeanEventBase } from 'vona-module-a-event';
|
|
3
|
+
export interface TypeEventRegisterData {
|
|
4
|
+
user: Partial<IUserBase>;
|
|
5
|
+
confirmed?: boolean;
|
|
6
|
+
autoActivate?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type TypeEventRegisterResult = Partial<IUserBase>;
|
|
9
|
+
export declare class EventRegister extends BeanEventBase<TypeEventRegisterData, TypeEventRegisterResult> {
|
|
10
|
+
}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -11,9 +11,8 @@ export declare function config(_app: VonaApplication): {
|
|
|
11
11
|
adapter: {
|
|
12
12
|
authToken: keyof IServiceRecord;
|
|
13
13
|
passport: keyof IServiceRecord;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
roleInner: keyof IServiceRecord;
|
|
14
|
+
user: keyof IServiceRecord;
|
|
15
|
+
role: keyof IServiceRecord;
|
|
17
16
|
};
|
|
18
17
|
payloadData: {
|
|
19
18
|
fields: {
|
package/dist/index.js
CHANGED
|
@@ -49,49 +49,6 @@ let GuardPassport = (_dec$e = Guard({
|
|
|
49
49
|
}
|
|
50
50
|
}) || _class$e) || _class$e);
|
|
51
51
|
|
|
52
|
-
let __roleAdapter;
|
|
53
|
-
function setRoleAdapter(roleAdapter) {
|
|
54
|
-
__roleAdapter = roleAdapter;
|
|
55
|
-
}
|
|
56
|
-
function $getRoleId(role) {
|
|
57
|
-
return __roleAdapter.getRoleId(role);
|
|
58
|
-
}
|
|
59
|
-
function $getRoleName(role) {
|
|
60
|
-
return __roleAdapter.getRoleName(role);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
let __userAdapter;
|
|
64
|
-
function setUserAdapter(userAdapter) {
|
|
65
|
-
__userAdapter = userAdapter;
|
|
66
|
-
}
|
|
67
|
-
function $getUserId(user) {
|
|
68
|
-
return __userAdapter.getUserId(user);
|
|
69
|
-
}
|
|
70
|
-
function $getUserName(user) {
|
|
71
|
-
return __userAdapter.getUserName(user);
|
|
72
|
-
}
|
|
73
|
-
function $getUserAvatar(user) {
|
|
74
|
-
return __userAdapter.getUserAvatar(user);
|
|
75
|
-
}
|
|
76
|
-
function $getUserEmail(user) {
|
|
77
|
-
return __userAdapter.getUserEmail(user);
|
|
78
|
-
}
|
|
79
|
-
function $getUserMobile(user) {
|
|
80
|
-
return __userAdapter.getUserMobile(user);
|
|
81
|
-
}
|
|
82
|
-
function $getUserActivated(user) {
|
|
83
|
-
return __userAdapter.getUserActivated(user);
|
|
84
|
-
}
|
|
85
|
-
function $getUserLocale(user) {
|
|
86
|
-
return __userAdapter.getUserLocale(user);
|
|
87
|
-
}
|
|
88
|
-
function $getUserAnonymous(user) {
|
|
89
|
-
return __userAdapter.getUserAnonymous(user);
|
|
90
|
-
}
|
|
91
|
-
function $getUserIdSystem(_userName, userId) {
|
|
92
|
-
return userId;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
52
|
var _dec$d, _dec2$d, _class$d;
|
|
96
53
|
let GuardRoleName = (_dec$d = Guard({
|
|
97
54
|
passWhenMatched: true
|
|
@@ -101,10 +58,10 @@ let GuardRoleName = (_dec$d = Guard({
|
|
|
101
58
|
async execute(options, next) {
|
|
102
59
|
if (!options.name) return this.app.throw(403);
|
|
103
60
|
const user = this.bean.passport.getCurrentUser();
|
|
104
|
-
if (!user ||
|
|
61
|
+
if (!user || user.anonymous) return this.app.throw(403);
|
|
105
62
|
const roles = this.bean.passport.getCurrentRoles();
|
|
106
63
|
if (!roles) return this.app.throw(403);
|
|
107
|
-
const roleNames = roles?.map(item =>
|
|
64
|
+
const roleNames = roles?.map(item => item.name);
|
|
108
65
|
const optionsName = Array.isArray(options.name) ? options.name : [options.name];
|
|
109
66
|
if (!roleNames.some(roleName => optionsName.includes(roleName))) return this.app.throw(403);
|
|
110
67
|
if (options.passWhenMatched) return true;
|
|
@@ -122,8 +79,8 @@ let GuardUserName = (_dec$c = Guard({
|
|
|
122
79
|
async execute(options, next) {
|
|
123
80
|
if (!options.name) return this.app.throw(403);
|
|
124
81
|
const user = this.bean.passport.getCurrentUser();
|
|
125
|
-
if (!user ||
|
|
126
|
-
const userName =
|
|
82
|
+
if (!user || user.anonymous) return this.app.throw(403);
|
|
83
|
+
const userName = user.name;
|
|
127
84
|
const optionsName = Array.isArray(options.name) ? options.name : [options.name];
|
|
128
85
|
if (!optionsName.includes(userName)) return this.app.throw(403);
|
|
129
86
|
if (options.passWhenMatched) return true;
|
|
@@ -132,42 +89,14 @@ let GuardUserName = (_dec$c = Guard({
|
|
|
132
89
|
}
|
|
133
90
|
}) || _class$c) || _class$c);
|
|
134
91
|
|
|
135
|
-
var _dec$b, _dec2$b, _class$b;
|
|
136
|
-
let BeanAuthInner = (_dec$b = Bean(), _dec2$b = BeanInfo({
|
|
137
|
-
module: "a-user"
|
|
138
|
-
}), _dec$b(_class$b = _dec2$b(_class$b = class BeanAuthInner extends BeanBase {
|
|
139
|
-
constructor(...args) {
|
|
140
|
-
super(...args);
|
|
141
|
-
this._authInnerAdapter = void 0;
|
|
142
|
-
}
|
|
143
|
-
get authInnerAdapter() {
|
|
144
|
-
if (!this._authInnerAdapter) {
|
|
145
|
-
const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.authInner, 'service');
|
|
146
|
-
this._authInnerAdapter = this.bean._getBean(beanFullName);
|
|
147
|
-
}
|
|
148
|
-
return this._authInnerAdapter;
|
|
149
|
-
}
|
|
150
|
-
async findOne(auth) {
|
|
151
|
-
if (String(auth.id).charAt(0) === '-') return auth;
|
|
152
|
-
return await this.authInnerAdapter.findOne(auth);
|
|
153
|
-
}
|
|
154
|
-
}) || _class$b) || _class$b);
|
|
155
|
-
|
|
156
|
-
let __authAdapter;
|
|
157
|
-
function setAuthAdapter(authAdapter) {
|
|
158
|
-
__authAdapter = authAdapter;
|
|
159
|
-
}
|
|
160
|
-
function $getAuthId(user) {
|
|
161
|
-
return __authAdapter.getAuthId(user);
|
|
162
|
-
}
|
|
163
92
|
function $getAuthIdSystem(_authName, authId) {
|
|
164
93
|
return authId;
|
|
165
94
|
}
|
|
166
95
|
|
|
167
|
-
var _dec$
|
|
168
|
-
let BeanPassport = (_dec$
|
|
96
|
+
var _dec$b, _dec2$b, _class$b;
|
|
97
|
+
let BeanPassport = (_dec$b = Bean(), _dec2$b = BeanInfo({
|
|
169
98
|
module: "a-user"
|
|
170
|
-
}), _dec$
|
|
99
|
+
}), _dec$b(_class$b = _dec2$b(_class$b = class BeanPassport extends BeanBase {
|
|
171
100
|
constructor(...args) {
|
|
172
101
|
super(...args);
|
|
173
102
|
this._authTokenAdapter = void 0;
|
|
@@ -190,11 +119,11 @@ let BeanPassport = (_dec$a = Bean(), _dec2$a = BeanInfo({
|
|
|
190
119
|
}
|
|
191
120
|
get isAuthenticated() {
|
|
192
121
|
const user = this.getCurrentUser();
|
|
193
|
-
return !!user &&
|
|
122
|
+
return !!user && !user.anonymous;
|
|
194
123
|
}
|
|
195
124
|
get isActivated() {
|
|
196
125
|
const user = this.getCurrentUser();
|
|
197
|
-
return !!user &&
|
|
126
|
+
return !!user && !!user.activated;
|
|
198
127
|
}
|
|
199
128
|
async isAdmin() {
|
|
200
129
|
const passport = this.getCurrent();
|
|
@@ -240,7 +169,7 @@ let BeanPassport = (_dec$a = Bean(), _dec2$a = BeanInfo({
|
|
|
240
169
|
await this.setCurrent(undefined);
|
|
241
170
|
}
|
|
242
171
|
async signinSystem(authName, authId, name, options) {
|
|
243
|
-
const user = await this.bean.
|
|
172
|
+
const user = await this.bean.user.findOneByName(name ?? 'admin');
|
|
244
173
|
if (!user) return this.app.throw(401);
|
|
245
174
|
const auth = {
|
|
246
175
|
id: $getAuthIdSystem(authName, authId)
|
|
@@ -263,7 +192,7 @@ let BeanPassport = (_dec$a = Bean(), _dec2$a = BeanInfo({
|
|
|
263
192
|
await this.setCurrent(passport);
|
|
264
193
|
}
|
|
265
194
|
async createUserAnonymous() {
|
|
266
|
-
const userAnonymous = await this.bean.
|
|
195
|
+
const userAnonymous = await this.bean.user.createAnonymous();
|
|
267
196
|
// event
|
|
268
197
|
await this.scope.event.createUserAnonymous.emit(userAnonymous);
|
|
269
198
|
// ok
|
|
@@ -373,88 +302,96 @@ let BeanPassport = (_dec$a = Bean(), _dec2$a = BeanInfo({
|
|
|
373
302
|
return payloadData2;
|
|
374
303
|
}
|
|
375
304
|
}
|
|
376
|
-
}) || _class$
|
|
305
|
+
}) || _class$b) || _class$b);
|
|
377
306
|
|
|
378
|
-
var _dec$
|
|
379
|
-
let
|
|
307
|
+
var _dec$a, _dec2$a, _class$a;
|
|
308
|
+
let BeanRole = (_dec$a = Bean(), _dec2$a = BeanInfo({
|
|
380
309
|
module: "a-user"
|
|
381
|
-
}), _dec$
|
|
310
|
+
}), _dec$a(_class$a = _dec2$a(_class$a = class BeanRole extends BeanBase {
|
|
382
311
|
constructor(...args) {
|
|
383
312
|
super(...args);
|
|
384
|
-
this.
|
|
313
|
+
this._roleAdapter = void 0;
|
|
385
314
|
}
|
|
386
|
-
get
|
|
387
|
-
if (!this.
|
|
388
|
-
const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.
|
|
389
|
-
this.
|
|
315
|
+
get roleAdapter() {
|
|
316
|
+
if (!this._roleAdapter) {
|
|
317
|
+
const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.role, 'service');
|
|
318
|
+
this._roleAdapter = this.bean._getBean(beanFullName);
|
|
390
319
|
}
|
|
391
|
-
return this.
|
|
320
|
+
return this._roleAdapter;
|
|
392
321
|
}
|
|
393
322
|
findOneByName(name) {
|
|
394
|
-
return this.
|
|
323
|
+
return this.roleAdapter.findOneByName(name);
|
|
395
324
|
}
|
|
396
325
|
findOne(role) {
|
|
397
|
-
return this.
|
|
326
|
+
return this.roleAdapter.findOne(role);
|
|
398
327
|
}
|
|
399
328
|
findAllByUserId(userId) {
|
|
400
|
-
return this.
|
|
329
|
+
return this.roleAdapter.findAllByUserId(userId);
|
|
401
330
|
}
|
|
402
|
-
}) || _class$
|
|
331
|
+
}) || _class$a) || _class$a);
|
|
403
332
|
|
|
404
|
-
var _dec$
|
|
405
|
-
let
|
|
333
|
+
var _dec$9, _dec2$9, _class$9;
|
|
334
|
+
let BeanUser = (_dec$9 = Bean(), _dec2$9 = BeanInfo({
|
|
406
335
|
module: "a-user"
|
|
407
|
-
}), _dec$
|
|
336
|
+
}), _dec$9(_class$9 = _dec2$9(_class$9 = class BeanUser extends BeanBase {
|
|
408
337
|
constructor(...args) {
|
|
409
338
|
super(...args);
|
|
410
|
-
this.
|
|
339
|
+
this._userAdapter = void 0;
|
|
411
340
|
}
|
|
412
|
-
get
|
|
413
|
-
if (!this.
|
|
414
|
-
const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.
|
|
415
|
-
this.
|
|
341
|
+
get userAdapter() {
|
|
342
|
+
if (!this._userAdapter) {
|
|
343
|
+
const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.user, 'service');
|
|
344
|
+
this._userAdapter = this.bean._getBean(beanFullName);
|
|
416
345
|
}
|
|
417
|
-
return this.
|
|
346
|
+
return this._userAdapter;
|
|
418
347
|
}
|
|
419
348
|
async activate(user) {
|
|
420
|
-
await this.scope.event.activate.emit(user, async
|
|
421
|
-
await this.
|
|
349
|
+
await this.scope.event.activate.emit(user, async user => {
|
|
350
|
+
await this.userAdapter.setActivated(user.id, true);
|
|
422
351
|
});
|
|
423
352
|
}
|
|
424
|
-
async register(user,
|
|
425
|
-
// config.user.autoActivate >
|
|
426
|
-
autoActivate = this.scope.config.user.autoActivate ? true :
|
|
427
|
-
const
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
353
|
+
async register(user, confirmed) {
|
|
354
|
+
// config.user.autoActivate > confirmed
|
|
355
|
+
const autoActivate = this.scope.config.user.autoActivate ? true : confirmed;
|
|
356
|
+
const data = {
|
|
357
|
+
user,
|
|
358
|
+
confirmed,
|
|
359
|
+
autoActivate
|
|
360
|
+
};
|
|
361
|
+
return await this.scope.event.register.emit(data, async data => {
|
|
362
|
+
// user
|
|
363
|
+
const userNew = await this.userAdapter.create(data.user);
|
|
364
|
+
if (data.autoActivate) {
|
|
365
|
+
await this.activate(userNew);
|
|
366
|
+
}
|
|
367
|
+
return userNew;
|
|
368
|
+
});
|
|
432
369
|
}
|
|
433
370
|
async registerByProfile(profile) {
|
|
434
|
-
const user = await this.
|
|
371
|
+
const user = await this.userAdapter.userOfProfile(profile);
|
|
435
372
|
return await this.register(user, profile.confirmed);
|
|
436
373
|
}
|
|
437
374
|
createAnonymous() {
|
|
438
|
-
return this.
|
|
375
|
+
return this.userAdapter.createAnonymous();
|
|
439
376
|
}
|
|
440
377
|
findOneByName(name) {
|
|
441
|
-
return this.
|
|
378
|
+
return this.userAdapter.findOneByName(name);
|
|
442
379
|
}
|
|
443
380
|
findOne(user) {
|
|
444
|
-
return this.
|
|
381
|
+
return this.userAdapter.findOne(user);
|
|
445
382
|
}
|
|
446
383
|
update(user) {
|
|
447
|
-
return this.
|
|
384
|
+
return this.userAdapter.update(user);
|
|
448
385
|
}
|
|
449
386
|
remove(user) {
|
|
450
|
-
return this.
|
|
387
|
+
return this.userAdapter.remove(user);
|
|
451
388
|
}
|
|
452
|
-
}) || _class$
|
|
389
|
+
}) || _class$9) || _class$9);
|
|
453
390
|
|
|
454
|
-
var _dec$
|
|
455
|
-
let ServiceAuthTokenAdapter = (_dec$
|
|
391
|
+
var _dec$8, _dec2$8, _class$8;
|
|
392
|
+
let ServiceAuthTokenAdapter = (_dec$8 = Service(), _dec2$8 = BeanInfo({
|
|
456
393
|
module: "a-user"
|
|
457
|
-
}), _dec$
|
|
394
|
+
}), _dec$8(_class$8 = _dec2$8(_class$8 = class ServiceAuthTokenAdapter extends BeanBase {
|
|
458
395
|
async create(payloadData) {
|
|
459
396
|
const authIdStr = this._getAuthId(payloadData)?.toString();
|
|
460
397
|
const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
|
|
@@ -482,12 +419,12 @@ let ServiceAuthTokenAdapter = (_dec$7 = Service(), _dec2$7 = BeanInfo({
|
|
|
482
419
|
_getAuthId(payloadData) {
|
|
483
420
|
return payloadData[this.scope.config.payloadData.fields.authId];
|
|
484
421
|
}
|
|
485
|
-
}) || _class$
|
|
422
|
+
}) || _class$8) || _class$8);
|
|
486
423
|
|
|
487
|
-
var _dec$
|
|
488
|
-
let ServiceRedisToken = (_dec$
|
|
424
|
+
var _dec$7, _dec2$7, _class$7;
|
|
425
|
+
let ServiceRedisToken = (_dec$7 = Service(), _dec2$7 = BeanInfo({
|
|
489
426
|
module: "a-user"
|
|
490
|
-
}), _dec$
|
|
427
|
+
}), _dec$7(_class$7 = _dec2$7(_class$7 = class ServiceRedisToken extends BeanBase {
|
|
491
428
|
get redisAuth() {
|
|
492
429
|
return this.bean.redis.get('auth');
|
|
493
430
|
}
|
|
@@ -547,17 +484,22 @@ let ServiceRedisToken = (_dec$6 = Service(), _dec2$6 = BeanInfo({
|
|
|
547
484
|
_getUserId(payloadData) {
|
|
548
485
|
return payloadData[this.scope.config.payloadData.fields.userId];
|
|
549
486
|
}
|
|
550
|
-
}) || _class$
|
|
487
|
+
}) || _class$7) || _class$7);
|
|
488
|
+
|
|
489
|
+
var _dec$6, _dec2$6, _class$6;
|
|
490
|
+
let EventActivate = (_dec$6 = Event(), _dec2$6 = BeanInfo({
|
|
491
|
+
module: "a-user"
|
|
492
|
+
}), _dec$6(_class$6 = _dec2$6(_class$6 = class EventActivate extends BeanEventBase {}) || _class$6) || _class$6);
|
|
551
493
|
|
|
552
494
|
var _dec$5, _dec2$5, _class$5;
|
|
553
|
-
let
|
|
495
|
+
let EventCreateUserAnonymous = (_dec$5 = Event(), _dec2$5 = BeanInfo({
|
|
554
496
|
module: "a-user"
|
|
555
|
-
}), _dec$5(_class$5 = _dec2$5(_class$5 = class
|
|
497
|
+
}), _dec$5(_class$5 = _dec2$5(_class$5 = class EventCreateUserAnonymous extends BeanEventBase {}) || _class$5) || _class$5);
|
|
556
498
|
|
|
557
499
|
var _dec$4, _dec2$4, _class$4;
|
|
558
|
-
let
|
|
500
|
+
let EventRegister = (_dec$4 = Event(), _dec2$4 = BeanInfo({
|
|
559
501
|
module: "a-user"
|
|
560
|
-
}), _dec$4(_class$4 = _dec2$4(_class$4 = class
|
|
502
|
+
}), _dec$4(_class$4 = _dec2$4(_class$4 = class EventRegister extends BeanEventBase {}) || _class$4) || _class$4);
|
|
561
503
|
|
|
562
504
|
var _dec$3, _dec2$3, _class$3;
|
|
563
505
|
let EventSignin = (_dec$3 = Event(), _dec2$3 = BeanInfo({
|
|
@@ -600,9 +542,8 @@ function config(_app) {
|
|
|
600
542
|
adapter: {
|
|
601
543
|
authToken: 'a-user:authTokenAdapter',
|
|
602
544
|
passport: 'home-user:passportAdapter',
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
roleInner: 'home-user:roleInnerAdapter'
|
|
545
|
+
user: 'home-user:userAdapter',
|
|
546
|
+
role: 'home-user:roleAdapter'
|
|
606
547
|
},
|
|
607
548
|
payloadData: {
|
|
608
549
|
fields: {
|
|
@@ -655,4 +596,8 @@ const Passport = {
|
|
|
655
596
|
admin: Admin
|
|
656
597
|
};
|
|
657
598
|
|
|
658
|
-
|
|
599
|
+
function $getUserIdSystem(_userName, userId) {
|
|
600
|
+
return userId;
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
export { $getAuthIdSystem, $getUserIdSystem, BeanPassport, BeanRole, BeanUser, EventActivate, EventCreateUserAnonymous, EventRegister, EventSignin, EventSignout, GuardPassport, GuardRoleName, GuardUserName, MetaPrintTip, Passport, ScopeModuleAUser, ServiceAuthTokenAdapter, ServiceRedisToken, config };
|
package/dist/lib/auth.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
|
-
import type {
|
|
3
|
-
export declare function setAuthAdapter(authAdapter: IAuthAdapter): void;
|
|
4
|
-
export declare function $getAuthId(user: IAuthBase): TableIdentity;
|
|
2
|
+
import type { IAuthIdRecord } from '../types/auth.ts';
|
|
5
3
|
export declare function $getAuthIdSystem<K extends keyof IAuthIdRecord>(_authName: IAuthIdRecord[K], authId: K): TableIdentity;
|
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/user.d.ts
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
|
-
import type {
|
|
3
|
-
import type { IUserAdapter, IUserBase, IUserIdRecord } from '../types/user.ts';
|
|
4
|
-
export declare function setUserAdapter(userAdapter: IUserAdapter): void;
|
|
5
|
-
export declare function $getUserId(user: IUserBase): TableIdentity;
|
|
6
|
-
export declare function $getUserName(user: IUserBase): string;
|
|
7
|
-
export declare function $getUserAvatar(user: IUserBase): string | undefined;
|
|
8
|
-
export declare function $getUserEmail(user: IUserBase): string | undefined;
|
|
9
|
-
export declare function $getUserMobile(user: IUserBase): string | undefined;
|
|
10
|
-
export declare function $getUserActivated(user: IUserBase): boolean;
|
|
11
|
-
export declare function $getUserLocale(user: IUserBase): keyof ILocaleInfos | undefined;
|
|
12
|
-
export declare function $getUserAnonymous(user: IUserBase): boolean;
|
|
2
|
+
import type { IUserIdRecord } from '../types/user.ts';
|
|
13
3
|
export declare function $getUserIdSystem<K extends keyof IUserIdRecord>(_userName: IUserIdRecord[K], userId: K): TableIdentity;
|
package/dist/types/auth.d.ts
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
import type { TableIdentity } from 'table-identity';
|
|
2
|
+
import type { IAuthProviderRecord } from 'vona-module-a-auth';
|
|
2
3
|
export interface IAuthIdRecord {
|
|
3
4
|
'-1': 'dev';
|
|
4
5
|
'-10000': 'mock';
|
|
5
6
|
}
|
|
6
|
-
export interface
|
|
7
|
+
export interface IAuthProviderBase {
|
|
7
8
|
id: TableIdentity;
|
|
9
|
+
providerName: keyof IAuthProviderRecord;
|
|
10
|
+
clientName: string;
|
|
8
11
|
}
|
|
9
|
-
export interface
|
|
10
|
-
|
|
12
|
+
export interface IAuthBase {
|
|
13
|
+
id: TableIdentity;
|
|
14
|
+
profileId?: string;
|
|
15
|
+
authProvider?: IAuthProviderBase;
|
|
11
16
|
}
|
|
12
17
|
export type TypeAuthToken = 'recreate' | 'refresh' | 'nochange';
|
|
13
18
|
export interface ISigninOptions {
|
|
14
19
|
/** default: refresh */
|
|
15
20
|
authToken?: TypeAuthToken;
|
|
16
21
|
}
|
|
17
|
-
export interface IAuthInnerAdapter {
|
|
18
|
-
findOne(auth: Partial<IAuthBase>): Promise<IAuthBase | undefined>;
|
|
19
|
-
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ILocaleInfos } from 'vona';
|
|
1
2
|
export interface IAuthUserProfilePropSlice {
|
|
2
3
|
value: string;
|
|
3
4
|
}
|
|
@@ -15,5 +16,6 @@ export interface IAuthUserProfile {
|
|
|
15
16
|
profileUrl?: string;
|
|
16
17
|
emails?: IAuthUserProfilePropSlice[];
|
|
17
18
|
photos?: IAuthUserProfilePropSlice[];
|
|
19
|
+
locale?: keyof ILocaleInfos;
|
|
18
20
|
confirmed?: boolean;
|
|
19
21
|
}
|
package/dist/types/role.d.ts
CHANGED
|
@@ -6,12 +6,9 @@ export interface IRoleIdRecord {
|
|
|
6
6
|
}
|
|
7
7
|
export interface IRoleBase {
|
|
8
8
|
id: TableIdentity;
|
|
9
|
+
name: string;
|
|
9
10
|
}
|
|
10
11
|
export interface IRoleAdapter {
|
|
11
|
-
getRoleId(role: IRoleBase): TableIdentity;
|
|
12
|
-
getRoleName(role: IRoleBase): string;
|
|
13
|
-
}
|
|
14
|
-
export interface IRoleInnerAdapter {
|
|
15
12
|
findOneByName(name: string): Promise<IRoleBase | undefined>;
|
|
16
13
|
findOne(role: Partial<IRoleBase>): Promise<IRoleBase | undefined>;
|
|
17
14
|
findAllByUserId(userId: TableIdentity): Promise<IRoleBase[] | undefined>;
|
package/dist/types/user.d.ts
CHANGED
|
@@ -9,18 +9,15 @@ export interface IUserIdRecord {
|
|
|
9
9
|
}
|
|
10
10
|
export interface IUserBase {
|
|
11
11
|
id: TableIdentity;
|
|
12
|
+
name: string;
|
|
13
|
+
avatar?: string;
|
|
14
|
+
email?: string;
|
|
15
|
+
mobile?: string;
|
|
16
|
+
activated?: boolean;
|
|
17
|
+
locale?: keyof ILocaleInfos | undefined;
|
|
18
|
+
anonymous?: boolean;
|
|
12
19
|
}
|
|
13
20
|
export interface IUserAdapter {
|
|
14
|
-
getUserId(user: IUserBase): TableIdentity;
|
|
15
|
-
getUserName(user: IUserBase): string;
|
|
16
|
-
getUserAvatar(user: IUserBase): string | undefined;
|
|
17
|
-
getUserEmail(user: IUserBase): string | undefined;
|
|
18
|
-
getUserMobile(user: IUserBase): string | undefined;
|
|
19
|
-
getUserActivated(user: IUserBase): boolean;
|
|
20
|
-
getUserLocale(user: IUserBase): keyof ILocaleInfos | undefined;
|
|
21
|
-
getUserAnonymous(user: IUserBase): boolean;
|
|
22
|
-
}
|
|
23
|
-
export interface IUserInnerAdapter {
|
|
24
21
|
create(user: Partial<IUserBase>): Promise<IUserBase>;
|
|
25
22
|
userOfProfile(profile: IAuthUserProfile): Promise<IUserBase>;
|
|
26
23
|
createAnonymous(): Promise<IUserBase>;
|
package/package.json
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { IAuthBase } from '../types/auth.ts';
|
|
2
|
-
import { BeanBase } from 'vona';
|
|
3
|
-
export declare class BeanAuthInner extends BeanBase {
|
|
4
|
-
private _authInnerAdapter;
|
|
5
|
-
private get authInnerAdapter();
|
|
6
|
-
findOne(auth: Partial<IAuthBase>): Promise<IAuthBase | undefined>;
|
|
7
|
-
}
|
package/dist/lib/role.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { TableIdentity } from 'table-identity';
|
|
2
|
-
import type { IRoleAdapter, IRoleBase } from '../types/role.ts';
|
|
3
|
-
export declare function setRoleAdapter(roleAdapter: IRoleAdapter): void;
|
|
4
|
-
export declare function $getRoleId(role: IRoleBase): TableIdentity;
|
|
5
|
-
export declare function $getRoleName(role: IRoleBase): string;
|