vona-module-a-user 5.0.22 → 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.
@@ -115,6 +115,7 @@ declare module 'vona' {
115
115
  /** event: begin */
116
116
  export * from '../bean/event.activate.ts';
117
117
  export * from '../bean/event.createUserAnonymous.ts';
118
+ export * from '../bean/event.register.ts';
118
119
  export * from '../bean/event.signin.ts';
119
120
  export * from '../bean/event.signout.ts';
120
121
  import 'vona';
@@ -133,6 +134,12 @@ declare module 'vona-module-a-user' {
133
134
  get $beanFullName(): 'a-user.event.createUserAnonymous';
134
135
  get $onionName(): 'a-user:createUserAnonymous';
135
136
  }
137
+ interface EventRegister {
138
+ }
139
+ interface EventRegister {
140
+ get $beanFullName(): 'a-user.event.register';
141
+ get $onionName(): 'a-user:register';
142
+ }
136
143
  interface EventSignin {
137
144
  }
138
145
  interface EventSignin {
@@ -150,11 +157,13 @@ declare module 'vona-module-a-user' {
150
157
  /** event: begin */
151
158
  import type { EventActivate } from '../bean/event.activate.ts';
152
159
  import type { EventCreateUserAnonymous } from '../bean/event.createUserAnonymous.ts';
160
+ import type { EventRegister } from '../bean/event.register.ts';
153
161
  import type { EventSignin } from '../bean/event.signin.ts';
154
162
  import type { EventSignout } from '../bean/event.signout.ts';
155
163
  export interface IModuleEvent {
156
164
  'activate': EventActivate;
157
165
  'createUserAnonymous': EventCreateUserAnonymous;
166
+ 'register': EventRegister;
158
167
  'signin': EventSignin;
159
168
  'signout': EventSignout;
160
169
  }
@@ -162,6 +171,7 @@ export interface IModuleEvent {
162
171
  /** event: begin */
163
172
  import type { TypeEventActivateData, TypeEventActivateResult } from '../bean/event.activate.ts';
164
173
  import type { TypeEventCreateUserAnonymousData, TypeEventCreateUserAnonymousResult } from '../bean/event.createUserAnonymous.ts';
174
+ import type { TypeEventRegisterData, TypeEventRegisterResult } from '../bean/event.register.ts';
165
175
  import type { TypeEventSigninData, TypeEventSigninResult } from '../bean/event.signin.ts';
166
176
  import type { TypeEventSignoutData, TypeEventSignoutResult } from '../bean/event.signout.ts';
167
177
  import type { EventOn } from 'vona-module-a-event';
@@ -169,6 +179,7 @@ declare module 'vona-module-a-event' {
169
179
  interface IEventRecord {
170
180
  'a-user:activate': EventOn<TypeEventActivateData, TypeEventActivateResult>;
171
181
  'a-user:createUserAnonymous': EventOn<TypeEventCreateUserAnonymousData, TypeEventCreateUserAnonymousResult>;
182
+ 'a-user:register': EventOn<TypeEventRegisterData, TypeEventRegisterResult>;
172
183
  'a-user:signin': EventOn<TypeEventSigninData, TypeEventSigninResult>;
173
184
  'a-user:signout': EventOn<TypeEventSignoutData, TypeEventSignoutResult>;
174
185
  }
@@ -5,7 +5,7 @@ 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>, autoActivate?: boolean): Promise<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/index.js CHANGED
@@ -5,15 +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$e, _dec2$e, _class$e;
9
- let GuardPassport = (_dec$e = Guard({
8
+ var _dec$f, _dec2$f, _class$f;
9
+ let GuardPassport = (_dec$f = Guard({
10
10
  global: true,
11
11
  public: false,
12
12
  activated: true,
13
13
  checkAuthToken: true
14
- }), _dec2$e = BeanInfo({
14
+ }), _dec2$f = BeanInfo({
15
15
  module: "a-user"
16
- }), _dec$e(_class$e = _dec2$e(_class$e = class GuardPassport extends BeanBase {
16
+ }), _dec$f(_class$f = _dec2$f(_class$f = class GuardPassport extends BeanBase {
17
17
  async execute(options, next) {
18
18
  // auth token
19
19
  if (!this.bean.passport.getCurrent()) {
@@ -47,7 +47,7 @@ let GuardPassport = (_dec$e = Guard({
47
47
  // next
48
48
  return next();
49
49
  }
50
- }) || _class$e) || _class$e);
50
+ }) || _class$f) || _class$f);
51
51
 
52
52
  let __roleAdapter;
53
53
  function setRoleAdapter(roleAdapter) {
@@ -92,12 +92,12 @@ function $getUserIdSystem(_userName, userId) {
92
92
  return userId;
93
93
  }
94
94
 
95
- var _dec$d, _dec2$d, _class$d;
96
- let GuardRoleName = (_dec$d = Guard({
95
+ var _dec$e, _dec2$e, _class$e;
96
+ let GuardRoleName = (_dec$e = Guard({
97
97
  passWhenMatched: true
98
- }), _dec2$d = BeanInfo({
98
+ }), _dec2$e = BeanInfo({
99
99
  module: "a-user"
100
- }), _dec$d(_class$d = _dec2$d(_class$d = class GuardRoleName extends BeanBase {
100
+ }), _dec$e(_class$e = _dec2$e(_class$e = class GuardRoleName extends BeanBase {
101
101
  async execute(options, next) {
102
102
  if (!options.name) return this.app.throw(403);
103
103
  const user = this.bean.passport.getCurrentUser();
@@ -111,14 +111,14 @@ let GuardRoleName = (_dec$d = Guard({
111
111
  // next
112
112
  return next();
113
113
  }
114
- }) || _class$d) || _class$d);
114
+ }) || _class$e) || _class$e);
115
115
 
116
- var _dec$c, _dec2$c, _class$c;
117
- let GuardUserName = (_dec$c = Guard({
116
+ var _dec$d, _dec2$d, _class$d;
117
+ let GuardUserName = (_dec$d = Guard({
118
118
  passWhenMatched: true
119
- }), _dec2$c = BeanInfo({
119
+ }), _dec2$d = BeanInfo({
120
120
  module: "a-user"
121
- }), _dec$c(_class$c = _dec2$c(_class$c = class GuardUserName extends BeanBase {
121
+ }), _dec$d(_class$d = _dec2$d(_class$d = class GuardUserName extends BeanBase {
122
122
  async execute(options, next) {
123
123
  if (!options.name) return this.app.throw(403);
124
124
  const user = this.bean.passport.getCurrentUser();
@@ -130,12 +130,12 @@ let GuardUserName = (_dec$c = Guard({
130
130
  // next
131
131
  return next();
132
132
  }
133
- }) || _class$c) || _class$c);
133
+ }) || _class$d) || _class$d);
134
134
 
135
- var _dec$b, _dec2$b, _class$b;
136
- let BeanAuthInner = (_dec$b = Bean(), _dec2$b = BeanInfo({
135
+ var _dec$c, _dec2$c, _class$c;
136
+ let BeanAuthInner = (_dec$c = Bean(), _dec2$c = BeanInfo({
137
137
  module: "a-user"
138
- }), _dec$b(_class$b = _dec2$b(_class$b = class BeanAuthInner extends BeanBase {
138
+ }), _dec$c(_class$c = _dec2$c(_class$c = class BeanAuthInner extends BeanBase {
139
139
  constructor(...args) {
140
140
  super(...args);
141
141
  this._authInnerAdapter = void 0;
@@ -151,7 +151,7 @@ let BeanAuthInner = (_dec$b = Bean(), _dec2$b = BeanInfo({
151
151
  if (String(auth.id).charAt(0) === '-') return auth;
152
152
  return await this.authInnerAdapter.findOne(auth);
153
153
  }
154
- }) || _class$b) || _class$b);
154
+ }) || _class$c) || _class$c);
155
155
 
156
156
  let __authAdapter;
157
157
  function setAuthAdapter(authAdapter) {
@@ -164,10 +164,10 @@ function $getAuthIdSystem(_authName, authId) {
164
164
  return authId;
165
165
  }
166
166
 
167
- var _dec$a, _dec2$a, _class$a;
168
- let BeanPassport = (_dec$a = Bean(), _dec2$a = BeanInfo({
167
+ var _dec$b, _dec2$b, _class$b;
168
+ let BeanPassport = (_dec$b = Bean(), _dec2$b = BeanInfo({
169
169
  module: "a-user"
170
- }), _dec$a(_class$a = _dec2$a(_class$a = class BeanPassport extends BeanBase {
170
+ }), _dec$b(_class$b = _dec2$b(_class$b = class BeanPassport extends BeanBase {
171
171
  constructor(...args) {
172
172
  super(...args);
173
173
  this._authTokenAdapter = void 0;
@@ -373,12 +373,12 @@ let BeanPassport = (_dec$a = Bean(), _dec2$a = BeanInfo({
373
373
  return payloadData2;
374
374
  }
375
375
  }
376
- }) || _class$a) || _class$a);
376
+ }) || _class$b) || _class$b);
377
377
 
378
- var _dec$9, _dec2$9, _class$9;
379
- let BeanRoleInner = (_dec$9 = Bean(), _dec2$9 = BeanInfo({
378
+ var _dec$a, _dec2$a, _class$a;
379
+ let BeanRoleInner = (_dec$a = Bean(), _dec2$a = BeanInfo({
380
380
  module: "a-user"
381
- }), _dec$9(_class$9 = _dec2$9(_class$9 = class BeanRoleInner extends BeanBase {
381
+ }), _dec$a(_class$a = _dec2$a(_class$a = class BeanRoleInner extends BeanBase {
382
382
  constructor(...args) {
383
383
  super(...args);
384
384
  this._roleInnerAdapter = void 0;
@@ -399,12 +399,12 @@ let BeanRoleInner = (_dec$9 = Bean(), _dec2$9 = BeanInfo({
399
399
  findAllByUserId(userId) {
400
400
  return this.roleInnerAdapter.findAllByUserId(userId);
401
401
  }
402
- }) || _class$9) || _class$9);
402
+ }) || _class$a) || _class$a);
403
403
 
404
- var _dec$8, _dec2$8, _class$8;
405
- let BeanUserInner = (_dec$8 = Bean(), _dec2$8 = BeanInfo({
404
+ var _dec$9, _dec2$9, _class$9;
405
+ let BeanUserInner = (_dec$9 = Bean(), _dec2$9 = BeanInfo({
406
406
  module: "a-user"
407
- }), _dec$8(_class$8 = _dec2$8(_class$8 = class BeanUserInner extends BeanBase {
407
+ }), _dec$9(_class$9 = _dec2$9(_class$9 = class BeanUserInner extends BeanBase {
408
408
  constructor(...args) {
409
409
  super(...args);
410
410
  this._userInnerAdapter = void 0;
@@ -417,18 +417,26 @@ let BeanUserInner = (_dec$8 = Bean(), _dec2$8 = BeanInfo({
417
417
  return this._userInnerAdapter;
418
418
  }
419
419
  async activate(user) {
420
- await this.scope.event.activate.emit(user, async () => {
420
+ await this.scope.event.activate.emit(user, async user => {
421
421
  await this.userInnerAdapter.setActivated(user.id, true);
422
422
  });
423
423
  }
424
- async register(user, autoActivate) {
425
- // config.user.autoActivate > autoActivate
426
- autoActivate = this.scope.config.user.autoActivate ? true : autoActivate;
427
- const userNew = await this.userInnerAdapter.create(user);
428
- if (autoActivate) {
429
- await this.activate(userNew);
430
- }
431
- return userNew;
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
+ });
432
440
  }
433
441
  async registerByProfile(profile) {
434
442
  const user = await this.userInnerAdapter.userOfProfile(profile);
@@ -449,12 +457,12 @@ let BeanUserInner = (_dec$8 = Bean(), _dec2$8 = BeanInfo({
449
457
  remove(user) {
450
458
  return this.userInnerAdapter.remove(user);
451
459
  }
452
- }) || _class$8) || _class$8);
460
+ }) || _class$9) || _class$9);
453
461
 
454
- var _dec$7, _dec2$7, _class$7;
455
- let ServiceAuthTokenAdapter = (_dec$7 = Service(), _dec2$7 = BeanInfo({
462
+ var _dec$8, _dec2$8, _class$8;
463
+ let ServiceAuthTokenAdapter = (_dec$8 = Service(), _dec2$8 = BeanInfo({
456
464
  module: "a-user"
457
- }), _dec$7(_class$7 = _dec2$7(_class$7 = class ServiceAuthTokenAdapter extends BeanBase {
465
+ }), _dec$8(_class$8 = _dec2$8(_class$8 = class ServiceAuthTokenAdapter extends BeanBase {
458
466
  async create(payloadData) {
459
467
  const authIdStr = this._getAuthId(payloadData)?.toString();
460
468
  const token = authIdStr === '-1' ? createHash(authIdStr) : uuidv4();
@@ -482,12 +490,12 @@ let ServiceAuthTokenAdapter = (_dec$7 = Service(), _dec2$7 = BeanInfo({
482
490
  _getAuthId(payloadData) {
483
491
  return payloadData[this.scope.config.payloadData.fields.authId];
484
492
  }
485
- }) || _class$7) || _class$7);
493
+ }) || _class$8) || _class$8);
486
494
 
487
- var _dec$6, _dec2$6, _class$6;
488
- let ServiceRedisToken = (_dec$6 = Service(), _dec2$6 = BeanInfo({
495
+ var _dec$7, _dec2$7, _class$7;
496
+ let ServiceRedisToken = (_dec$7 = Service(), _dec2$7 = BeanInfo({
489
497
  module: "a-user"
490
- }), _dec$6(_class$6 = _dec2$6(_class$6 = class ServiceRedisToken extends BeanBase {
498
+ }), _dec$7(_class$7 = _dec2$7(_class$7 = class ServiceRedisToken extends BeanBase {
491
499
  get redisAuth() {
492
500
  return this.bean.redis.get('auth');
493
501
  }
@@ -547,17 +555,22 @@ let ServiceRedisToken = (_dec$6 = Service(), _dec2$6 = BeanInfo({
547
555
  _getUserId(payloadData) {
548
556
  return payloadData[this.scope.config.payloadData.fields.userId];
549
557
  }
550
- }) || _class$6) || _class$6);
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);
551
564
 
552
565
  var _dec$5, _dec2$5, _class$5;
553
- let EventActivate = (_dec$5 = Event(), _dec2$5 = BeanInfo({
566
+ let EventCreateUserAnonymous = (_dec$5 = Event(), _dec2$5 = BeanInfo({
554
567
  module: "a-user"
555
- }), _dec$5(_class$5 = _dec2$5(_class$5 = class EventActivate extends BeanEventBase {}) || _class$5) || _class$5);
568
+ }), _dec$5(_class$5 = _dec2$5(_class$5 = class EventCreateUserAnonymous extends BeanEventBase {}) || _class$5) || _class$5);
556
569
 
557
570
  var _dec$4, _dec2$4, _class$4;
558
- let EventCreateUserAnonymous = (_dec$4 = Event(), _dec2$4 = BeanInfo({
571
+ let EventRegister = (_dec$4 = Event(), _dec2$4 = BeanInfo({
559
572
  module: "a-user"
560
- }), _dec$4(_class$4 = _dec2$4(_class$4 = class EventCreateUserAnonymous extends BeanEventBase {}) || _class$4) || _class$4);
573
+ }), _dec$4(_class$4 = _dec2$4(_class$4 = class EventRegister extends BeanEventBase {}) || _class$4) || _class$4);
561
574
 
562
575
  var _dec$3, _dec2$3, _class$3;
563
576
  let EventSignin = (_dec$3 = Event(), _dec2$3 = BeanInfo({
@@ -655,4 +668,4 @@ const Passport = {
655
668
  admin: Admin
656
669
  };
657
670
 
658
- export { $getAuthId, $getAuthIdSystem, $getRoleId, $getRoleName, $getUserActivated, $getUserAnonymous, $getUserAvatar, $getUserEmail, $getUserId, $getUserIdSystem, $getUserLocale, $getUserMobile, $getUserName, BeanAuthInner, BeanPassport, BeanRoleInner, BeanUserInner, EventActivate, 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 };
@@ -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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-module-a-user",
3
3
  "type": "module",
4
- "version": "5.0.22",
4
+ "version": "5.0.23",
5
5
  "title": "a-user",
6
6
  "vonaModule": {
7
7
  "dependencies": {}