vona-module-a-user 5.0.21 → 5.0.23
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 +22 -0
- package/dist/bean/bean.passport.d.ts +1 -0
- package/dist/bean/bean.roleInner.d.ts +1 -1
- package/dist/bean/bean.userInner.d.ts +3 -1
- package/dist/bean/event.activate.d.ts +6 -0
- package/dist/bean/event.register.d.ts +10 -0
- package/dist/bean/guard.passport.d.ts +1 -0
- package/dist/config/config.d.ts +3 -0
- package/dist/index.js +112 -47
- package/dist/lib/auth.d.ts +1 -1
- package/dist/lib/passport.d.ts +3 -3
- package/dist/lib/role.d.ts +1 -1
- package/dist/lib/user.d.ts +4 -1
- package/dist/types/auth.d.ts +1 -1
- package/dist/types/authProfile.d.ts +2 -0
- package/dist/types/role.d.ts +1 -1
- package/dist/types/user.d.ts +7 -2
- package/package.json +1 -1
|
@@ -113,19 +113,33 @@ declare module 'vona' {
|
|
|
113
113
|
}
|
|
114
114
|
/** service: end */
|
|
115
115
|
/** event: begin */
|
|
116
|
+
export * from '../bean/event.activate.ts';
|
|
116
117
|
export * from '../bean/event.createUserAnonymous.ts';
|
|
118
|
+
export * from '../bean/event.register.ts';
|
|
117
119
|
export * from '../bean/event.signin.ts';
|
|
118
120
|
export * from '../bean/event.signout.ts';
|
|
119
121
|
import 'vona';
|
|
120
122
|
declare module 'vona' {
|
|
121
123
|
}
|
|
122
124
|
declare module 'vona-module-a-user' {
|
|
125
|
+
interface EventActivate {
|
|
126
|
+
}
|
|
127
|
+
interface EventActivate {
|
|
128
|
+
get $beanFullName(): 'a-user.event.activate';
|
|
129
|
+
get $onionName(): 'a-user:activate';
|
|
130
|
+
}
|
|
123
131
|
interface EventCreateUserAnonymous {
|
|
124
132
|
}
|
|
125
133
|
interface EventCreateUserAnonymous {
|
|
126
134
|
get $beanFullName(): 'a-user.event.createUserAnonymous';
|
|
127
135
|
get $onionName(): 'a-user:createUserAnonymous';
|
|
128
136
|
}
|
|
137
|
+
interface EventRegister {
|
|
138
|
+
}
|
|
139
|
+
interface EventRegister {
|
|
140
|
+
get $beanFullName(): 'a-user.event.register';
|
|
141
|
+
get $onionName(): 'a-user:register';
|
|
142
|
+
}
|
|
129
143
|
interface EventSignin {
|
|
130
144
|
}
|
|
131
145
|
interface EventSignin {
|
|
@@ -141,23 +155,31 @@ declare module 'vona-module-a-user' {
|
|
|
141
155
|
}
|
|
142
156
|
/** event: end */
|
|
143
157
|
/** event: begin */
|
|
158
|
+
import type { EventActivate } from '../bean/event.activate.ts';
|
|
144
159
|
import type { EventCreateUserAnonymous } from '../bean/event.createUserAnonymous.ts';
|
|
160
|
+
import type { EventRegister } from '../bean/event.register.ts';
|
|
145
161
|
import type { EventSignin } from '../bean/event.signin.ts';
|
|
146
162
|
import type { EventSignout } from '../bean/event.signout.ts';
|
|
147
163
|
export interface IModuleEvent {
|
|
164
|
+
'activate': EventActivate;
|
|
148
165
|
'createUserAnonymous': EventCreateUserAnonymous;
|
|
166
|
+
'register': EventRegister;
|
|
149
167
|
'signin': EventSignin;
|
|
150
168
|
'signout': EventSignout;
|
|
151
169
|
}
|
|
152
170
|
/** event: end */
|
|
153
171
|
/** event: begin */
|
|
172
|
+
import type { TypeEventActivateData, TypeEventActivateResult } from '../bean/event.activate.ts';
|
|
154
173
|
import type { TypeEventCreateUserAnonymousData, TypeEventCreateUserAnonymousResult } from '../bean/event.createUserAnonymous.ts';
|
|
174
|
+
import type { TypeEventRegisterData, TypeEventRegisterResult } from '../bean/event.register.ts';
|
|
155
175
|
import type { TypeEventSigninData, TypeEventSigninResult } from '../bean/event.signin.ts';
|
|
156
176
|
import type { TypeEventSignoutData, TypeEventSignoutResult } from '../bean/event.signout.ts';
|
|
157
177
|
import type { EventOn } from 'vona-module-a-event';
|
|
158
178
|
declare module 'vona-module-a-event' {
|
|
159
179
|
interface IEventRecord {
|
|
180
|
+
'a-user:activate': EventOn<TypeEventActivateData, TypeEventActivateResult>;
|
|
160
181
|
'a-user:createUserAnonymous': EventOn<TypeEventCreateUserAnonymousData, TypeEventCreateUserAnonymousResult>;
|
|
182
|
+
'a-user:register': EventOn<TypeEventRegisterData, TypeEventRegisterResult>;
|
|
161
183
|
'a-user:signin': EventOn<TypeEventSigninData, TypeEventSigninResult>;
|
|
162
184
|
'a-user:signout': EventOn<TypeEventSignoutData, TypeEventSignoutResult>;
|
|
163
185
|
}
|
|
@@ -11,6 +11,7 @@ export declare class BeanPassport extends BeanBase {
|
|
|
11
11
|
private get authTokenAdapter();
|
|
12
12
|
private get passportAdapter();
|
|
13
13
|
get isAuthenticated(): boolean;
|
|
14
|
+
get isActivated(): boolean;
|
|
14
15
|
isAdmin(): Promise<boolean>;
|
|
15
16
|
setCurrent(passport: IPassportBase | undefined): Promise<void>;
|
|
16
17
|
getCurrent(): IPassportBase | undefined;
|
|
@@ -4,7 +4,9 @@ import { BeanBase } from 'vona';
|
|
|
4
4
|
export declare class BeanUserInner extends BeanBase {
|
|
5
5
|
private _userInnerAdapter;
|
|
6
6
|
private get userInnerAdapter();
|
|
7
|
-
|
|
7
|
+
activate(user: IUserBase): Promise<void>;
|
|
8
|
+
register(user: Partial<IUserBase>, confirmed?: boolean): Promise<IUserBase>;
|
|
9
|
+
registerByProfile(profile: IAuthUserProfile): Promise<IUserBase>;
|
|
8
10
|
createAnonymous(): Promise<IUserBase>;
|
|
9
11
|
findOneByName(name: string): Promise<IUserBase | undefined>;
|
|
10
12
|
findOne(user: Partial<IUserBase>): Promise<IUserBase | undefined>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IUserBase } from '../types/user.ts';
|
|
2
|
+
import { BeanEventBase } from 'vona-module-a-event';
|
|
3
|
+
export type TypeEventActivateData = IUserBase;
|
|
4
|
+
export type TypeEventActivateResult = void;
|
|
5
|
+
export declare class EventActivate extends BeanEventBase<TypeEventActivateData, TypeEventActivateResult> {
|
|
6
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -3,6 +3,7 @@ import type { IDecoratorGuardOptionsGlobal, IGuardExecute } from 'vona-module-a-
|
|
|
3
3
|
import { BeanBase } from 'vona';
|
|
4
4
|
export interface IGuardOptionsPassport extends IDecoratorGuardOptionsGlobal {
|
|
5
5
|
public: boolean;
|
|
6
|
+
activated?: boolean;
|
|
6
7
|
checkAuthToken: boolean;
|
|
7
8
|
}
|
|
8
9
|
export declare class GuardPassport extends BeanBase implements IGuardExecute {
|
package/dist/config/config.d.ts
CHANGED
|
@@ -2,6 +2,9 @@ import type { VonaApplication } from 'vona';
|
|
|
2
2
|
import type { IServiceRecord } from 'vona-module-a-bean';
|
|
3
3
|
import type { TypeAuthToken } from '../types/auth.ts';
|
|
4
4
|
export declare function config(_app: VonaApplication): {
|
|
5
|
+
user: {
|
|
6
|
+
autoActivate: boolean;
|
|
7
|
+
};
|
|
5
8
|
passport: {
|
|
6
9
|
refreshAuthToken: TypeAuthToken;
|
|
7
10
|
};
|
package/dist/index.js
CHANGED
|
@@ -5,14 +5,15 @@ import { Bean, Service, Scope } from 'vona-module-a-bean';
|
|
|
5
5
|
import { Event, BeanEventBase } from 'vona-module-a-event';
|
|
6
6
|
import { Meta } from 'vona-module-a-meta';
|
|
7
7
|
|
|
8
|
-
var _dec$
|
|
9
|
-
let GuardPassport = (_dec$
|
|
8
|
+
var _dec$f, _dec2$f, _class$f;
|
|
9
|
+
let GuardPassport = (_dec$f = Guard({
|
|
10
10
|
global: true,
|
|
11
11
|
public: false,
|
|
12
|
+
activated: true,
|
|
12
13
|
checkAuthToken: true
|
|
13
|
-
}), _dec2$
|
|
14
|
+
}), _dec2$f = BeanInfo({
|
|
14
15
|
module: "a-user"
|
|
15
|
-
}), _dec$
|
|
16
|
+
}), _dec$f(_class$f = _dec2$f(_class$f = class GuardPassport extends BeanBase {
|
|
16
17
|
async execute(options, next) {
|
|
17
18
|
// auth token
|
|
18
19
|
if (!this.bean.passport.getCurrent()) {
|
|
@@ -30,15 +31,23 @@ let GuardPassport = (_dec$d = Guard({
|
|
|
30
31
|
}
|
|
31
32
|
if (!options.public && !this.bean.passport.isAuthenticated) {
|
|
32
33
|
// return false;
|
|
33
|
-
// 401 for this guard,403 for the next guards
|
|
34
|
+
// 401 for this guard, 403 for the next guards
|
|
34
35
|
return this.app.throw(401);
|
|
35
36
|
}
|
|
37
|
+
if (this.bean.passport.isAuthenticated) {
|
|
38
|
+
if (options.activated === true && !this.bean.passport.isActivated) {
|
|
39
|
+
return this.app.throw(403);
|
|
40
|
+
}
|
|
41
|
+
if (options.activated === false && this.bean.passport.isActivated) {
|
|
42
|
+
return this.app.throw(403);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
36
45
|
// check innerAccess
|
|
37
46
|
if (this.ctx.innerAccess) return true;
|
|
38
47
|
// next
|
|
39
48
|
return next();
|
|
40
49
|
}
|
|
41
|
-
}) || _class$
|
|
50
|
+
}) || _class$f) || _class$f);
|
|
42
51
|
|
|
43
52
|
let __roleAdapter;
|
|
44
53
|
function setRoleAdapter(roleAdapter) {
|
|
@@ -64,6 +73,15 @@ function $getUserName(user) {
|
|
|
64
73
|
function $getUserAvatar(user) {
|
|
65
74
|
return __userAdapter.getUserAvatar(user);
|
|
66
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
|
+
}
|
|
67
85
|
function $getUserLocale(user) {
|
|
68
86
|
return __userAdapter.getUserLocale(user);
|
|
69
87
|
}
|
|
@@ -74,12 +92,12 @@ function $getUserIdSystem(_userName, userId) {
|
|
|
74
92
|
return userId;
|
|
75
93
|
}
|
|
76
94
|
|
|
77
|
-
var _dec$
|
|
78
|
-
let GuardRoleName = (_dec$
|
|
95
|
+
var _dec$e, _dec2$e, _class$e;
|
|
96
|
+
let GuardRoleName = (_dec$e = Guard({
|
|
79
97
|
passWhenMatched: true
|
|
80
|
-
}), _dec2$
|
|
98
|
+
}), _dec2$e = BeanInfo({
|
|
81
99
|
module: "a-user"
|
|
82
|
-
}), _dec$
|
|
100
|
+
}), _dec$e(_class$e = _dec2$e(_class$e = class GuardRoleName extends BeanBase {
|
|
83
101
|
async execute(options, next) {
|
|
84
102
|
if (!options.name) return this.app.throw(403);
|
|
85
103
|
const user = this.bean.passport.getCurrentUser();
|
|
@@ -93,14 +111,14 @@ let GuardRoleName = (_dec$c = Guard({
|
|
|
93
111
|
// next
|
|
94
112
|
return next();
|
|
95
113
|
}
|
|
96
|
-
}) || _class$
|
|
114
|
+
}) || _class$e) || _class$e);
|
|
97
115
|
|
|
98
|
-
var _dec$
|
|
99
|
-
let GuardUserName = (_dec$
|
|
116
|
+
var _dec$d, _dec2$d, _class$d;
|
|
117
|
+
let GuardUserName = (_dec$d = Guard({
|
|
100
118
|
passWhenMatched: true
|
|
101
|
-
}), _dec2$
|
|
119
|
+
}), _dec2$d = BeanInfo({
|
|
102
120
|
module: "a-user"
|
|
103
|
-
}), _dec$
|
|
121
|
+
}), _dec$d(_class$d = _dec2$d(_class$d = class GuardUserName extends BeanBase {
|
|
104
122
|
async execute(options, next) {
|
|
105
123
|
if (!options.name) return this.app.throw(403);
|
|
106
124
|
const user = this.bean.passport.getCurrentUser();
|
|
@@ -112,12 +130,12 @@ let GuardUserName = (_dec$b = Guard({
|
|
|
112
130
|
// next
|
|
113
131
|
return next();
|
|
114
132
|
}
|
|
115
|
-
}) || _class$
|
|
133
|
+
}) || _class$d) || _class$d);
|
|
116
134
|
|
|
117
|
-
var _dec$
|
|
118
|
-
let BeanAuthInner = (_dec$
|
|
135
|
+
var _dec$c, _dec2$c, _class$c;
|
|
136
|
+
let BeanAuthInner = (_dec$c = Bean(), _dec2$c = BeanInfo({
|
|
119
137
|
module: "a-user"
|
|
120
|
-
}), _dec$
|
|
138
|
+
}), _dec$c(_class$c = _dec2$c(_class$c = class BeanAuthInner extends BeanBase {
|
|
121
139
|
constructor(...args) {
|
|
122
140
|
super(...args);
|
|
123
141
|
this._authInnerAdapter = void 0;
|
|
@@ -133,7 +151,7 @@ let BeanAuthInner = (_dec$a = Bean(), _dec2$a = BeanInfo({
|
|
|
133
151
|
if (String(auth.id).charAt(0) === '-') return auth;
|
|
134
152
|
return await this.authInnerAdapter.findOne(auth);
|
|
135
153
|
}
|
|
136
|
-
}) || _class$
|
|
154
|
+
}) || _class$c) || _class$c);
|
|
137
155
|
|
|
138
156
|
let __authAdapter;
|
|
139
157
|
function setAuthAdapter(authAdapter) {
|
|
@@ -146,10 +164,10 @@ function $getAuthIdSystem(_authName, authId) {
|
|
|
146
164
|
return authId;
|
|
147
165
|
}
|
|
148
166
|
|
|
149
|
-
var _dec$
|
|
150
|
-
let BeanPassport = (_dec$
|
|
167
|
+
var _dec$b, _dec2$b, _class$b;
|
|
168
|
+
let BeanPassport = (_dec$b = Bean(), _dec2$b = BeanInfo({
|
|
151
169
|
module: "a-user"
|
|
152
|
-
}), _dec$
|
|
170
|
+
}), _dec$b(_class$b = _dec2$b(_class$b = class BeanPassport extends BeanBase {
|
|
153
171
|
constructor(...args) {
|
|
154
172
|
super(...args);
|
|
155
173
|
this._authTokenAdapter = void 0;
|
|
@@ -174,6 +192,10 @@ let BeanPassport = (_dec$9 = Bean(), _dec2$9 = BeanInfo({
|
|
|
174
192
|
const user = this.getCurrentUser();
|
|
175
193
|
return !!user && !$getUserAnonymous(user);
|
|
176
194
|
}
|
|
195
|
+
get isActivated() {
|
|
196
|
+
const user = this.getCurrentUser();
|
|
197
|
+
return !!user && $getUserActivated(user);
|
|
198
|
+
}
|
|
177
199
|
async isAdmin() {
|
|
178
200
|
const passport = this.getCurrent();
|
|
179
201
|
return await this.passportAdapter.isAdmin(passport);
|
|
@@ -351,12 +373,12 @@ let BeanPassport = (_dec$9 = Bean(), _dec2$9 = BeanInfo({
|
|
|
351
373
|
return payloadData2;
|
|
352
374
|
}
|
|
353
375
|
}
|
|
354
|
-
}) || _class$
|
|
376
|
+
}) || _class$b) || _class$b);
|
|
355
377
|
|
|
356
|
-
var _dec$
|
|
357
|
-
let BeanRoleInner = (_dec$
|
|
378
|
+
var _dec$a, _dec2$a, _class$a;
|
|
379
|
+
let BeanRoleInner = (_dec$a = Bean(), _dec2$a = BeanInfo({
|
|
358
380
|
module: "a-user"
|
|
359
|
-
}), _dec$
|
|
381
|
+
}), _dec$a(_class$a = _dec2$a(_class$a = class BeanRoleInner extends BeanBase {
|
|
360
382
|
constructor(...args) {
|
|
361
383
|
super(...args);
|
|
362
384
|
this._roleInnerAdapter = void 0;
|
|
@@ -377,12 +399,12 @@ let BeanRoleInner = (_dec$8 = Bean(), _dec2$8 = BeanInfo({
|
|
|
377
399
|
findAllByUserId(userId) {
|
|
378
400
|
return this.roleInnerAdapter.findAllByUserId(userId);
|
|
379
401
|
}
|
|
380
|
-
}) || _class$
|
|
402
|
+
}) || _class$a) || _class$a);
|
|
381
403
|
|
|
382
|
-
var _dec$
|
|
383
|
-
let BeanUserInner = (_dec$
|
|
404
|
+
var _dec$9, _dec2$9, _class$9;
|
|
405
|
+
let BeanUserInner = (_dec$9 = Bean(), _dec2$9 = BeanInfo({
|
|
384
406
|
module: "a-user"
|
|
385
|
-
}), _dec$
|
|
407
|
+
}), _dec$9(_class$9 = _dec2$9(_class$9 = class BeanUserInner extends BeanBase {
|
|
386
408
|
constructor(...args) {
|
|
387
409
|
super(...args);
|
|
388
410
|
this._userInnerAdapter = void 0;
|
|
@@ -394,8 +416,31 @@ let BeanUserInner = (_dec$7 = Bean(), _dec2$7 = BeanInfo({
|
|
|
394
416
|
}
|
|
395
417
|
return this._userInnerAdapter;
|
|
396
418
|
}
|
|
397
|
-
|
|
398
|
-
|
|
419
|
+
async activate(user) {
|
|
420
|
+
await this.scope.event.activate.emit(user, async user => {
|
|
421
|
+
await this.userInnerAdapter.setActivated(user.id, true);
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
async register(user, confirmed) {
|
|
425
|
+
// config.user.autoActivate > confirmed
|
|
426
|
+
const autoActivate = this.scope.config.user.autoActivate ? true : confirmed;
|
|
427
|
+
const data = {
|
|
428
|
+
user,
|
|
429
|
+
confirmed,
|
|
430
|
+
autoActivate
|
|
431
|
+
};
|
|
432
|
+
return await this.scope.event.register.emit(data, async data => {
|
|
433
|
+
// user
|
|
434
|
+
const userNew = await this.userInnerAdapter.create(data.user);
|
|
435
|
+
if (data.autoActivate) {
|
|
436
|
+
await this.activate(userNew);
|
|
437
|
+
}
|
|
438
|
+
return userNew;
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
async registerByProfile(profile) {
|
|
442
|
+
const user = await this.userInnerAdapter.userOfProfile(profile);
|
|
443
|
+
return await this.register(user, profile.confirmed);
|
|
399
444
|
}
|
|
400
445
|
createAnonymous() {
|
|
401
446
|
return this.userInnerAdapter.createAnonymous();
|
|
@@ -412,12 +457,12 @@ let BeanUserInner = (_dec$7 = Bean(), _dec2$7 = BeanInfo({
|
|
|
412
457
|
remove(user) {
|
|
413
458
|
return this.userInnerAdapter.remove(user);
|
|
414
459
|
}
|
|
415
|
-
}) || _class$
|
|
460
|
+
}) || _class$9) || _class$9);
|
|
416
461
|
|
|
417
|
-
var _dec$
|
|
418
|
-
let ServiceAuthTokenAdapter = (_dec$
|
|
462
|
+
var _dec$8, _dec2$8, _class$8;
|
|
463
|
+
let ServiceAuthTokenAdapter = (_dec$8 = Service(), _dec2$8 = BeanInfo({
|
|
419
464
|
module: "a-user"
|
|
420
|
-
}), _dec$
|
|
465
|
+
}), _dec$8(_class$8 = _dec2$8(_class$8 = class ServiceAuthTokenAdapter extends BeanBase {
|
|
421
466
|
async create(payloadData) {
|
|
422
467
|
const authIdStr = this._getAuthId(payloadData)?.toString();
|
|
423
468
|
const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
|
|
@@ -445,12 +490,12 @@ let ServiceAuthTokenAdapter = (_dec$6 = Service(), _dec2$6 = BeanInfo({
|
|
|
445
490
|
_getAuthId(payloadData) {
|
|
446
491
|
return payloadData[this.scope.config.payloadData.fields.authId];
|
|
447
492
|
}
|
|
448
|
-
}) || _class$
|
|
493
|
+
}) || _class$8) || _class$8);
|
|
449
494
|
|
|
450
|
-
var _dec$
|
|
451
|
-
let ServiceRedisToken = (_dec$
|
|
495
|
+
var _dec$7, _dec2$7, _class$7;
|
|
496
|
+
let ServiceRedisToken = (_dec$7 = Service(), _dec2$7 = BeanInfo({
|
|
452
497
|
module: "a-user"
|
|
453
|
-
}), _dec$
|
|
498
|
+
}), _dec$7(_class$7 = _dec2$7(_class$7 = class ServiceRedisToken extends BeanBase {
|
|
454
499
|
get redisAuth() {
|
|
455
500
|
return this.bean.redis.get('auth');
|
|
456
501
|
}
|
|
@@ -510,12 +555,22 @@ let ServiceRedisToken = (_dec$5 = Service(), _dec2$5 = BeanInfo({
|
|
|
510
555
|
_getUserId(payloadData) {
|
|
511
556
|
return payloadData[this.scope.config.payloadData.fields.userId];
|
|
512
557
|
}
|
|
513
|
-
}) || _class$
|
|
558
|
+
}) || _class$7) || _class$7);
|
|
559
|
+
|
|
560
|
+
var _dec$6, _dec2$6, _class$6;
|
|
561
|
+
let EventActivate = (_dec$6 = Event(), _dec2$6 = BeanInfo({
|
|
562
|
+
module: "a-user"
|
|
563
|
+
}), _dec$6(_class$6 = _dec2$6(_class$6 = class EventActivate extends BeanEventBase {}) || _class$6) || _class$6);
|
|
564
|
+
|
|
565
|
+
var _dec$5, _dec2$5, _class$5;
|
|
566
|
+
let EventCreateUserAnonymous = (_dec$5 = Event(), _dec2$5 = BeanInfo({
|
|
567
|
+
module: "a-user"
|
|
568
|
+
}), _dec$5(_class$5 = _dec2$5(_class$5 = class EventCreateUserAnonymous extends BeanEventBase {}) || _class$5) || _class$5);
|
|
514
569
|
|
|
515
570
|
var _dec$4, _dec2$4, _class$4;
|
|
516
|
-
let
|
|
571
|
+
let EventRegister = (_dec$4 = Event(), _dec2$4 = BeanInfo({
|
|
517
572
|
module: "a-user"
|
|
518
|
-
}), _dec$4(_class$4 = _dec2$4(_class$4 = class
|
|
573
|
+
}), _dec$4(_class$4 = _dec2$4(_class$4 = class EventRegister extends BeanEventBase {}) || _class$4) || _class$4);
|
|
519
574
|
|
|
520
575
|
var _dec$3, _dec2$3, _class$3;
|
|
521
576
|
let EventSignin = (_dec$3 = Event(), _dec2$3 = BeanInfo({
|
|
@@ -549,6 +604,9 @@ let MetaPrintTip = (_dec$1 = Meta(), _dec2$1 = BeanInfo({
|
|
|
549
604
|
|
|
550
605
|
function config(_app) {
|
|
551
606
|
return {
|
|
607
|
+
user: {
|
|
608
|
+
autoActivate: false
|
|
609
|
+
},
|
|
552
610
|
passport: {
|
|
553
611
|
refreshAuthToken: 'recreate'
|
|
554
612
|
},
|
|
@@ -579,12 +637,18 @@ let ScopeModuleAUser = (_dec = Scope(), _dec2 = BeanInfo({
|
|
|
579
637
|
|
|
580
638
|
/** scope: end */
|
|
581
639
|
|
|
582
|
-
function Public(
|
|
583
|
-
const _public = options?.public === undefined ? true : options.public;
|
|
640
|
+
function Public(_public = true) {
|
|
584
641
|
return Aspect.guardGlobal('a-user:passport', {
|
|
585
642
|
public: _public
|
|
586
643
|
});
|
|
587
644
|
}
|
|
645
|
+
|
|
646
|
+
// true/false/undefined
|
|
647
|
+
function Activated(activated) {
|
|
648
|
+
return Aspect.guardGlobal('a-user:passport', {
|
|
649
|
+
activated
|
|
650
|
+
});
|
|
651
|
+
}
|
|
588
652
|
function UserName(options) {
|
|
589
653
|
return Aspect.guard('a-user:userName', options);
|
|
590
654
|
}
|
|
@@ -598,9 +662,10 @@ function Admin(options) {
|
|
|
598
662
|
}
|
|
599
663
|
const Passport = {
|
|
600
664
|
public: Public,
|
|
665
|
+
activated: Activated,
|
|
601
666
|
userName: UserName,
|
|
602
667
|
roleName: RoleName,
|
|
603
668
|
admin: Admin
|
|
604
669
|
};
|
|
605
670
|
|
|
606
|
-
export { $getAuthId, $getAuthIdSystem, $getRoleId, $getRoleName, $getUserAnonymous, $getUserAvatar, $getUserId, $getUserIdSystem, $getUserLocale, $getUserName, BeanAuthInner, BeanPassport, BeanRoleInner, BeanUserInner, EventCreateUserAnonymous, EventSignin, EventSignout, GuardPassport, GuardRoleName, GuardUserName, MetaPrintTip, Passport, ScopeModuleAUser, ServiceAuthTokenAdapter, ServiceRedisToken, config, setAuthAdapter, setRoleAdapter, setUserAdapter };
|
|
671
|
+
export { $getAuthId, $getAuthIdSystem, $getRoleId, $getRoleName, $getUserActivated, $getUserAnonymous, $getUserAvatar, $getUserEmail, $getUserId, $getUserIdSystem, $getUserLocale, $getUserMobile, $getUserName, BeanAuthInner, BeanPassport, BeanRoleInner, BeanUserInner, EventActivate, EventCreateUserAnonymous, EventRegister, EventSignin, EventSignout, GuardPassport, GuardRoleName, GuardUserName, MetaPrintTip, Passport, ScopeModuleAUser, ServiceAuthTokenAdapter, ServiceRedisToken, config, setAuthAdapter, setRoleAdapter, setUserAdapter };
|
package/dist/lib/auth.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TableIdentity } from '
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { IAuthAdapter, IAuthBase, IAuthIdRecord } from '../types/auth.ts';
|
|
3
3
|
export declare function setAuthAdapter(authAdapter: IAuthAdapter): void;
|
|
4
4
|
export declare function $getAuthId(user: IAuthBase): TableIdentity;
|
package/dist/lib/passport.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import type { TypeUseOnionOmitOptionsGlobal } from 'vona-module-a-onion';
|
|
2
|
-
import type { IGuardOptionsPassport } from '../bean/guard.passport.ts';
|
|
3
1
|
import type { IGuardOptionsRoleName } from '../bean/guard.roleName.ts';
|
|
4
2
|
import type { IGuardOptionsUserName } from '../bean/guard.userName.ts';
|
|
5
|
-
declare function Public(
|
|
3
|
+
declare function Public(_public?: boolean): ClassDecorator & MethodDecorator;
|
|
4
|
+
declare function Activated(activated?: boolean): ClassDecorator & MethodDecorator;
|
|
6
5
|
declare function UserName(options?: Partial<IGuardOptionsUserName>): ClassDecorator & MethodDecorator;
|
|
7
6
|
declare function RoleName(options?: Partial<IGuardOptionsRoleName>): ClassDecorator & MethodDecorator;
|
|
8
7
|
declare function Admin(options?: Partial<Omit<IGuardOptionsRoleName, 'name'>>): ClassDecorator & MethodDecorator;
|
|
9
8
|
export interface IDecoratorGroupPassport {
|
|
10
9
|
public: typeof Public;
|
|
10
|
+
activated: typeof Activated;
|
|
11
11
|
userName: typeof UserName;
|
|
12
12
|
roleName: typeof RoleName;
|
|
13
13
|
admin: typeof Admin;
|
package/dist/lib/role.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TableIdentity } from '
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
2
2
|
import type { IRoleAdapter, IRoleBase } from '../types/role.ts';
|
|
3
3
|
export declare function setRoleAdapter(roleAdapter: IRoleAdapter): void;
|
|
4
4
|
export declare function $getRoleId(role: IRoleBase): TableIdentity;
|
package/dist/lib/user.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
1
2
|
import type { ILocaleInfos } from 'vona';
|
|
2
|
-
import type { TableIdentity } from 'vona-module-a-orm';
|
|
3
3
|
import type { IUserAdapter, IUserBase, IUserIdRecord } from '../types/user.ts';
|
|
4
4
|
export declare function setUserAdapter(userAdapter: IUserAdapter): void;
|
|
5
5
|
export declare function $getUserId(user: IUserBase): TableIdentity;
|
|
6
6
|
export declare function $getUserName(user: IUserBase): string;
|
|
7
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;
|
|
8
11
|
export declare function $getUserLocale(user: IUserBase): keyof ILocaleInfos | undefined;
|
|
9
12
|
export declare function $getUserAnonymous(user: IUserBase): boolean;
|
|
10
13
|
export declare function $getUserIdSystem<K extends keyof IUserIdRecord>(_userName: IUserIdRecord[K], userId: K): TableIdentity;
|
package/dist/types/auth.d.ts
CHANGED
|
@@ -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
package/dist/types/user.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { TableIdentity } from 'table-identity';
|
|
1
2
|
import type { ILocaleInfos } from 'vona';
|
|
2
|
-
import type { TableIdentity } from 'vona-module-a-orm';
|
|
3
3
|
import type { IAuthUserProfile } from './authProfile.ts';
|
|
4
4
|
export interface IUserNameRecord {
|
|
5
5
|
admin: never;
|
|
@@ -14,14 +14,19 @@ export interface IUserAdapter {
|
|
|
14
14
|
getUserId(user: IUserBase): TableIdentity;
|
|
15
15
|
getUserName(user: IUserBase): string;
|
|
16
16
|
getUserAvatar(user: IUserBase): string | undefined;
|
|
17
|
+
getUserEmail(user: IUserBase): string | undefined;
|
|
18
|
+
getUserMobile(user: IUserBase): string | undefined;
|
|
19
|
+
getUserActivated(user: IUserBase): boolean;
|
|
17
20
|
getUserLocale(user: IUserBase): keyof ILocaleInfos | undefined;
|
|
18
21
|
getUserAnonymous(user: IUserBase): boolean;
|
|
19
22
|
}
|
|
20
23
|
export interface IUserInnerAdapter {
|
|
21
|
-
|
|
24
|
+
create(user: Partial<IUserBase>): Promise<IUserBase>;
|
|
25
|
+
userOfProfile(profile: IAuthUserProfile): Promise<IUserBase>;
|
|
22
26
|
createAnonymous(): Promise<IUserBase>;
|
|
23
27
|
findOneByName(name: string): Promise<IUserBase | undefined>;
|
|
24
28
|
findOne(user: Partial<IUserBase>): Promise<IUserBase | undefined>;
|
|
25
29
|
update(user: Partial<IUserBase>): Promise<void>;
|
|
26
30
|
remove(user: Partial<IUserBase>): Promise<void>;
|
|
31
|
+
setActivated(id: TableIdentity, activated: boolean): Promise<void>;
|
|
27
32
|
}
|