vona-cli-set-api 1.0.176 → 1.0.179

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/cli/templates/create/project/basic/boilerplate/package.original.json +1 -1
  2. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/.metadata/index.ts +22 -45
  3. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/eventListener.activate.ts +2 -3
  4. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/eventListener.emailConfirmCallback.ts +2 -2
  5. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/eventListener.register.ts +2 -3
  6. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/bean/zodRefine.usernameUnique.ts +1 -1
  7. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/config/config.ts +0 -4
  8. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/controller/passport.ts +2 -2
  9. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/dto/passport.ts +1 -1
  10. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/index.ts +0 -1
  11. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/passportAdapter.ts +7 -8
  12. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/{roleInnerAdapter.ts → roleAdapter.ts} +4 -5
  13. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/{userInnerAdapter.ts → userAdapter.ts} +8 -9
  14. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/index.ts +0 -3
  15. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/passport.ts +0 -8
  16. package/package.json +2 -2
  17. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/dto/auth.ts +0 -13
  18. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/authAdapter.ts +0 -11
  19. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/index.ts +0 -3
  20. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/roleAdapter.ts +0 -15
  21. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/lib/userAdapter.ts +0 -40
  22. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/service/authInnerAdapter.ts +0 -14
  23. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/auth.ts +0 -3
  24. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/role.ts +0 -5
  25. package/cli/templates/create/project/basic/boilerplate/src/suite/a-home/modules/home-user/src/types/user.ts +0 -11
@@ -45,7 +45,7 @@
45
45
  }
46
46
  },
47
47
  "dependencies": {
48
- "vona": "^5.0.104"
48
+ "vona": "^5.0.106"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@cabloy/lint": "^5.0.16",
@@ -214,35 +214,23 @@ declare module 'vona-module-a-orm' {
214
214
  }
215
215
  /** model: end */
216
216
  /** service: begin */
217
- export * from '../service/authInnerAdapter.ts';
218
217
  export * from '../service/passportAdapter.ts';
219
- export * from '../service/roleInnerAdapter.ts';
220
- export * from '../service/userInnerAdapter.ts';
218
+ export * from '../service/roleAdapter.ts';
219
+ export * from '../service/userAdapter.ts';
221
220
 
222
221
  import 'vona';
223
222
  declare module 'vona-module-a-bean' {
224
223
 
225
224
  export interface IServiceRecord {
226
- 'home-user:authInnerAdapter': never;
227
- 'home-user:passportAdapter': never;
228
- 'home-user:roleInnerAdapter': never;
229
- 'home-user:userInnerAdapter': never;
225
+ 'home-user:passportAdapter': never;
226
+ 'home-user:roleAdapter': never;
227
+ 'home-user:userAdapter': never;
230
228
  }
231
229
 
232
230
 
233
231
  }
234
232
  declare module 'vona-module-home-user' {
235
233
 
236
- export interface ServiceAuthInnerAdapter {
237
- /** @internal */
238
- get scope(): ScopeModuleHomeUser;
239
- }
240
-
241
- export interface ServiceAuthInnerAdapter {
242
- get $beanFullName(): 'home-user.service.authInnerAdapter';
243
- get $onionName(): 'home-user:authInnerAdapter';
244
- }
245
-
246
234
  export interface ServicePassportAdapter {
247
235
  /** @internal */
248
236
  get scope(): ScopeModuleHomeUser;
@@ -253,37 +241,35 @@ declare module 'vona-module-home-user' {
253
241
  get $onionName(): 'home-user:passportAdapter';
254
242
  }
255
243
 
256
- export interface ServiceRoleInnerAdapter {
244
+ export interface ServiceRoleAdapter {
257
245
  /** @internal */
258
246
  get scope(): ScopeModuleHomeUser;
259
247
  }
260
248
 
261
- export interface ServiceRoleInnerAdapter {
262
- get $beanFullName(): 'home-user.service.roleInnerAdapter';
263
- get $onionName(): 'home-user:roleInnerAdapter';
249
+ export interface ServiceRoleAdapter {
250
+ get $beanFullName(): 'home-user.service.roleAdapter';
251
+ get $onionName(): 'home-user:roleAdapter';
264
252
  }
265
253
 
266
- export interface ServiceUserInnerAdapter {
254
+ export interface ServiceUserAdapter {
267
255
  /** @internal */
268
256
  get scope(): ScopeModuleHomeUser;
269
257
  }
270
258
 
271
- export interface ServiceUserInnerAdapter {
272
- get $beanFullName(): 'home-user.service.userInnerAdapter';
273
- get $onionName(): 'home-user:userInnerAdapter';
259
+ export interface ServiceUserAdapter {
260
+ get $beanFullName(): 'home-user.service.userAdapter';
261
+ get $onionName(): 'home-user:userAdapter';
274
262
  }
275
263
  }
276
264
  /** service: end */
277
265
  /** service: begin */
278
- import type { ServiceAuthInnerAdapter } from '../service/authInnerAdapter.ts';
279
266
  import type { ServicePassportAdapter } from '../service/passportAdapter.ts';
280
- import type { ServiceRoleInnerAdapter } from '../service/roleInnerAdapter.ts';
281
- import type { ServiceUserInnerAdapter } from '../service/userInnerAdapter.ts';
267
+ import type { ServiceRoleAdapter } from '../service/roleAdapter.ts';
268
+ import type { ServiceUserAdapter } from '../service/userAdapter.ts';
282
269
  export interface IModuleService {
283
- 'authInnerAdapter': ServiceAuthInnerAdapter;
284
- 'passportAdapter': ServicePassportAdapter;
285
- 'roleInnerAdapter': ServiceRoleInnerAdapter;
286
- 'userInnerAdapter': ServiceUserInnerAdapter;
270
+ 'passportAdapter': ServicePassportAdapter;
271
+ 'roleAdapter': ServiceRoleAdapter;
272
+ 'userAdapter': ServiceUserAdapter;
287
273
  }
288
274
  /** service: end */
289
275
  /** service: begin */
@@ -291,10 +277,9 @@ export interface IModuleService {
291
277
  import 'vona';
292
278
  declare module 'vona' {
293
279
  export interface IBeanRecordGeneral {
294
- 'home-user.service.authInnerAdapter': ServiceAuthInnerAdapter;
295
- 'home-user.service.passportAdapter': ServicePassportAdapter;
296
- 'home-user.service.roleInnerAdapter': ServiceRoleInnerAdapter;
297
- 'home-user.service.userInnerAdapter': ServiceUserInnerAdapter;
280
+ 'home-user.service.passportAdapter': ServicePassportAdapter;
281
+ 'home-user.service.roleAdapter': ServiceRoleAdapter;
282
+ 'home-user.service.userAdapter': ServiceUserAdapter;
298
283
  }
299
284
  }
300
285
  /** service: end */
@@ -397,12 +382,10 @@ declare module 'vona-module-home-user' {
397
382
  }
398
383
  /** meta: end */
399
384
  /** dto: begin */
400
- export * from '../dto/auth.ts';
401
385
  export * from '../dto/login.ts';
402
386
  export * from '../dto/passport.ts';
403
387
  export * from '../dto/passportJwt.ts';
404
388
  export * from '../dto/register.ts';
405
- import type { IDtoOptionsAuth } from '../dto/auth.ts';
406
389
  import type { IDtoOptionsLogin } from '../dto/login.ts';
407
390
  import type { IDtoOptionsPassport } from '../dto/passport.ts';
408
391
  import type { IDtoOptionsPassportJwt } from '../dto/passportJwt.ts';
@@ -411,8 +394,7 @@ import 'vona';
411
394
  declare module 'vona-module-a-web' {
412
395
 
413
396
  export interface IDtoRecord {
414
- 'home-user:auth': IDtoOptionsAuth;
415
- 'home-user:login': IDtoOptionsLogin;
397
+ 'home-user:login': IDtoOptionsLogin;
416
398
  'home-user:passport': IDtoOptionsPassport;
417
399
  'home-user:passportJwt': IDtoOptionsPassportJwt;
418
400
  'home-user:register': IDtoOptionsRegister;
@@ -425,17 +407,12 @@ declare module 'vona-module-home-user' {
425
407
  }
426
408
  /** dto: end */
427
409
  /** dto: begin */
428
- import type { DtoAuth } from '../dto/auth.ts';
429
410
  import type { DtoLogin } from '../dto/login.ts';
430
411
  import type { DtoPassport } from '../dto/passport.ts';
431
412
  import type { DtoPassportJwt } from '../dto/passportJwt.ts';
432
413
  import type { DtoRegister } from '../dto/register.ts';
433
414
  declare module 'vona-module-home-user' {
434
415
 
435
- export interface IDtoOptionsAuth {
436
- fields?: TypeEntityOptionsFields<DtoAuth, IDtoOptionsAuth[TypeSymbolKeyFieldsMore]>;
437
- }
438
-
439
416
  export interface IDtoOptionsLogin {
440
417
  fields?: TypeEntityOptionsFields<DtoLogin, IDtoOptionsLogin[TypeSymbolKeyFieldsMore]>;
441
418
  }
@@ -1,6 +1,5 @@
1
1
  import type { IEventExecute, NextEvent } from 'vona-module-a-event';
2
- import type { TypeEventActivateData, TypeEventActivateResult } from 'vona-module-a-user';
3
- import type { IUser } from '../types/user.ts';
2
+ import type { IUserBase, TypeEventActivateData, TypeEventActivateResult } from 'vona-module-a-user';
4
3
  import { BeanBase } from 'vona';
5
4
  import { EventListener } from 'vona-module-a-event';
6
5
 
@@ -12,7 +11,7 @@ export class EventListenerActivate
12
11
  extends BeanBase
13
12
  implements IEventExecute<TypeEventData, TypeEventResult> {
14
13
  async execute(data: TypeEventData, next: NextEvent<TypeEventData, TypeEventResult>): Promise<TypeEventResult> {
15
- const user = data as IUser;
14
+ const user = data as IUserBase;
16
15
  if (user.name === 'admin') {
17
16
  // role: admin
18
17
  const roleAdmin = await this.scope.model.role.get({ name: 'admin' });
@@ -16,8 +16,8 @@ export class EventListenerEmailConfirmCallback
16
16
  return this.scope.locale.ConfirmationEmailExpired();
17
17
  }
18
18
  // activate
19
- const user = await this.bean.userInner.findOne({ id: data.userId });
20
- await this.bean.userInner.activate(user!);
19
+ const user = await this.bean.user.findOne({ id: data.userId });
20
+ await this.bean.user.activate(user!);
21
21
  // ok
22
22
  return this.scope.locale.ConfirmationEmailSucceeded();
23
23
  }
@@ -1,6 +1,5 @@
1
1
  import type { IEventExecute, NextEvent } from 'vona-module-a-event';
2
- import type { TypeEventRegisterData, TypeEventRegisterResult } from 'vona-module-a-user';
3
- import type { IUser } from '../types/user.ts';
2
+ import type { IUserBase, TypeEventRegisterData, TypeEventRegisterResult } from 'vona-module-a-user';
4
3
  import { BeanBase } from 'vona';
5
4
  import { EventListener } from 'vona-module-a-event';
6
5
 
@@ -13,7 +12,7 @@ export class EventListenerRegister
13
12
  implements IEventExecute<TypeEventData, TypeEventResult> {
14
13
  async execute(data: TypeEventData, next: NextEvent<TypeEventData, TypeEventResult>): Promise<TypeEventResult> {
15
14
  // next: registered
16
- const user = await next() as IUser;
15
+ const user = await next() as IUserBase;
17
16
  // mail: activate
18
17
  if (!data.autoActivate && user.email) {
19
18
  await this.$scope.mailconfirm.service.mail.emailConfirm(user);
@@ -9,7 +9,7 @@ export interface IZodRefineOptionsUsernameUnique extends IDecoratorZodRefineOpti
9
9
  @ZodRefine<IZodRefineOptionsUsernameUnique>()
10
10
  export class ZodRefineUsernameUnique extends BeanBase implements IZodRefineExecute<TypeZodRefineUsernameUniqueData> {
11
11
  async execute(value: TypeZodRefineUsernameUniqueData, refinementCtx: TypeRefinementCtx, _options: IZodRefineOptionsUsernameUnique) {
12
- const user = await this.bean.userInner.findOneByName(value);
12
+ const user = await this.bean.user.findOneByName(value);
13
13
  if (user) {
14
14
  refinementCtx.addIssue({
15
15
  code: 'custom',
@@ -1,13 +1,9 @@
1
1
  import type { VonaApplication } from 'vona';
2
- import type { IServiceRecord } from 'vona-module-a-bean';
3
2
 
4
3
  export function config(_app: VonaApplication) {
5
4
  return {
6
5
  passwordDefault: {
7
6
  admin: '123456',
8
7
  },
9
- adapter: {
10
- authInner: 'a-auth:authInnerAdapter' as keyof IServiceRecord,
11
- },
12
8
  };
13
9
  }
@@ -1,4 +1,4 @@
1
- import type { IAuthenticateOptions, IAuthProviderRecord } from 'vona-module-a-auth';
1
+ import type { DtoAuth, IAuthenticateOptions, IAuthProviderRecord } from 'vona-module-a-auth';
2
2
  import type { IJwtToken } from 'vona-module-a-jwt';
3
3
  import type { IDecoratorControllerOptions } from 'vona-module-a-web';
4
4
  import type { EntityRole } from '../entity/role.ts';
@@ -128,7 +128,7 @@ export class ControllerPassport extends BeanBase {
128
128
  if (!passport || !passport.auth) return;
129
129
  return {
130
130
  user: passport.user as EntityUser,
131
- auth: { id: passport.auth!.id },
131
+ auth: passport.auth as DtoAuth,
132
132
  roles: passport.roles as EntityRole[],
133
133
  };
134
134
  }
@@ -1,9 +1,9 @@
1
+ import type { DtoAuth } from 'vona-module-a-auth';
1
2
  import type { IDecoratorDtoOptions } from 'vona-module-a-web';
2
3
  import { Api, v } from 'vona-module-a-openapi';
3
4
  import { Dto } from 'vona-module-a-web';
4
5
  import { EntityRole } from 'vona-module-home-user';
5
6
  import { EntityUser } from '../entity/user.ts';
6
- import { DtoAuth } from './auth.ts';
7
7
 
8
8
  export interface IDtoOptionsPassport extends IDecoratorDtoOptions {}
9
9
 
@@ -1,3 +1,2 @@
1
1
  export * from './.metadata/index.ts';
2
- export * from './lib/index.ts';
3
2
  export * from './types/index.ts';
@@ -1,17 +1,16 @@
1
1
  import type { IPassportAdapter, IPassportBase } from 'vona-module-a-user';
2
- import type { IPassport, IPayloadData } from '../types/passport.ts';
2
+ import type { IPayloadData } from '../types/passport.ts';
3
3
  import { BeanBase } from 'vona';
4
4
  import { Service } from 'vona-module-a-bean';
5
- import { $getRoleName } from 'vona-module-a-user';
6
5
 
7
6
  @Service()
8
7
  export class ServicePassportAdapter extends BeanBase implements IPassportAdapter {
9
- async isAdmin(passport: IPassport | undefined): Promise<boolean> {
8
+ async isAdmin(passport: IPassportBase | undefined): Promise<boolean> {
10
9
  if (!passport || !passport.roles) return false;
11
- return passport.roles.some(item => $getRoleName(item) === 'admin');
10
+ return passport.roles.some(item => item.name === 'admin');
12
11
  }
13
12
 
14
- async setCurrent(passport: IPassport | undefined): Promise<IPassport | undefined> {
13
+ async setCurrent(passport: IPassportBase | undefined): Promise<IPassportBase | undefined> {
15
14
  return passport;
16
15
  }
17
16
 
@@ -22,11 +21,11 @@ export class ServicePassportAdapter extends BeanBase implements IPassportAdapter
22
21
  }
23
22
 
24
23
  async deserialize(payloadData: IPayloadData): Promise<IPassportBase | undefined> {
25
- const user = await this.bean.userInner.findOne({ id: payloadData.userId });
24
+ const user = await this.bean.user.findOne({ id: payloadData.userId });
26
25
  if (!user) return;
27
- const auth = await this.bean.authInner.findOne({ id: payloadData.authId });
26
+ const auth = await this.bean.auth.findOne({ id: payloadData.authId });
28
27
  if (!auth) return;
29
- const roles = await this.bean.roleInner.findAllByUserId(payloadData.userId);
28
+ const roles = await this.bean.role.findAllByUserId(payloadData.userId);
30
29
  return { user, auth, roles };
31
30
  }
32
31
  }
@@ -1,16 +1,15 @@
1
1
  import type { TableIdentity } from 'table-identity';
2
- import type { IRoleBase, IRoleInnerAdapter } from 'vona-module-a-user';
3
- import type { IRole } from '../types/role.ts';
2
+ import type { IRoleAdapter, IRoleBase } from 'vona-module-a-user';
4
3
  import { BeanBase } from 'vona';
5
4
  import { Service } from 'vona-module-a-bean';
6
5
 
7
6
  @Service()
8
- export class ServiceRoleInnerAdapter extends BeanBase implements IRoleInnerAdapter {
7
+ export class ServiceRoleAdapter extends BeanBase implements IRoleAdapter {
9
8
  async findOneByName(name: string): Promise<IRoleBase | undefined> {
10
- return await this.findOne({ name });
9
+ return await this.scope.model.role.get({ name: { _eqI_: name } });
11
10
  }
12
11
 
13
- async findOne(role: Partial<IRole>): Promise<IRoleBase | undefined> {
12
+ async findOne(role: Partial<IRoleBase>): Promise<IRoleBase | undefined> {
14
13
  return await this.scope.model.role.get(role);
15
14
  }
16
15
 
@@ -1,12 +1,11 @@
1
1
  import type { TableIdentity } from 'table-identity';
2
- import type { IAuthUserProfile, IUserBase, IUserInnerAdapter } from 'vona-module-a-user';
3
- import type { IUser } from '../types/user.ts';
2
+ import type { IAuthUserProfile, IUserAdapter, IUserBase } from 'vona-module-a-user';
4
3
  import { BeanBase } from 'vona';
5
4
  import { Service } from 'vona-module-a-bean';
6
5
 
7
6
  @Service()
8
- export class ServiceUserInnerAdapter extends BeanBase implements IUserInnerAdapter {
9
- async create(user: Partial<IUser>): Promise<IUserBase> {
7
+ export class ServiceUserAdapter extends BeanBase implements IUserAdapter {
8
+ async create(user: Partial<IUserBase>): Promise<IUserBase> {
10
9
  return await this.scope.model.user.insert(user);
11
10
  }
12
11
 
@@ -16,26 +15,26 @@ export class ServiceUserInnerAdapter extends BeanBase implements IUserInnerAdapt
16
15
  email: profile.emails?.[0].value,
17
16
  avatar: profile.photos?.[0].value,
18
17
  locale: profile.locale || this.ctx.locale,
19
- } as IUser;
18
+ } as IUserBase;
20
19
  }
21
20
 
22
21
  async createAnonymous(): Promise<IUserBase> {
23
- return { id: -1, name: 'anonymous', avatar: undefined, locale: undefined } as IUser;
22
+ return { id: -1, anonymous: true, name: 'anonymous', avatar: undefined, locale: undefined } as IUserBase;
24
23
  }
25
24
 
26
25
  async findOneByName(name: string): Promise<IUserBase | undefined> {
27
26
  return await this.scope.model.user.get({ name: { _eqI_: name } });
28
27
  }
29
28
 
30
- async findOne(user: Partial<IUser>): Promise<IUserBase | undefined> {
29
+ async findOne(user: Partial<IUserBase>): Promise<IUserBase | undefined> {
31
30
  return await this.scope.model.user.get(user);
32
31
  }
33
32
 
34
- async update(user: Partial<IUser>): Promise<void> {
33
+ async update(user: Partial<IUserBase>): Promise<void> {
35
34
  await this.scope.model.user.update(user);
36
35
  }
37
36
 
38
- async remove(user: Partial<IUser>): Promise<void> {
37
+ async remove(user: Partial<IUserBase>): Promise<void> {
39
38
  await this.scope.model.user.delete(user);
40
39
  }
41
40
 
@@ -1,4 +1 @@
1
- export * from './auth.ts';
2
1
  export * from './passport.ts';
3
- export * from './role.ts';
4
- export * from './user.ts';
@@ -1,13 +1,5 @@
1
1
  import type { TableIdentity } from 'table-identity';
2
2
  import type { IPayloadDataBase } from 'vona-module-a-jwt';
3
- import type { IPassportBase } from 'vona-module-a-user';
4
- import type { IAuth } from './auth.ts';
5
- import type { IUser } from './user.ts';
6
-
7
- export interface IPassport extends IPassportBase {
8
- user?: IUser;
9
- auth?: IAuth;
10
- }
11
3
 
12
4
  export interface IPayloadData extends IPayloadDataBase {
13
5
  userId: TableIdentity;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vona-cli-set-api",
3
3
  "type": "module",
4
- "version": "1.0.176",
4
+ "version": "1.0.179",
5
5
  "description": "vona cli-set-api",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -61,7 +61,7 @@
61
61
  "ts-node": "^10.9.2",
62
62
  "urllib": "^4.6.11",
63
63
  "uuid": "^11.1.0",
64
- "vona-core": "^5.0.49",
64
+ "vona-core": "^5.0.50",
65
65
  "why-is-node-running": "^3.2.2",
66
66
  "yargs-parser": "^21.1.1"
67
67
  },
@@ -1,13 +0,0 @@
1
- import type { TableIdentity } from 'table-identity';
2
- import type { IAuthBase } from 'vona-module-a-user';
3
- import type { IDecoratorDtoOptions } from 'vona-module-a-web';
4
- import { Api, v } from 'vona-module-a-openapi';
5
- import { Dto } from 'vona-module-a-web';
6
-
7
- export interface IDtoOptionsAuth extends IDecoratorDtoOptions {}
8
-
9
- @Dto<IDtoOptionsAuth>()
10
- export class DtoAuth implements IAuthBase {
11
- @Api.field(v.tableIdentity())
12
- id: TableIdentity;
13
- }
@@ -1,11 +0,0 @@
1
- import type { TableIdentity } from 'table-identity';
2
- import type { IAuthBase } from 'vona-module-a-user';
3
- import type { IAuth } from '../types/auth.ts';
4
- import { cast } from 'vona';
5
- import { setAuthAdapter } from 'vona-module-a-user';
6
-
7
- setAuthAdapter({ getAuthId });
8
-
9
- function getAuthId(auth: IAuthBase): TableIdentity {
10
- return cast<IAuth>(auth).id;
11
- }
@@ -1,3 +0,0 @@
1
- export * from './authAdapter.ts';
2
- export * from './roleAdapter.ts';
3
- export * from './userAdapter.ts';
@@ -1,15 +0,0 @@
1
- import type { TableIdentity } from 'table-identity';
2
- import type { IRoleBase } from 'vona-module-a-user';
3
- import type { IRole } from '../types/role.ts';
4
- import { cast } from 'vona';
5
- import { setRoleAdapter } from 'vona-module-a-user';
6
-
7
- setRoleAdapter({ getRoleId, getRoleName });
8
-
9
- function getRoleId(role: IRoleBase): TableIdentity {
10
- return cast<IRole>(role).id;
11
- }
12
-
13
- function getRoleName(role: IRoleBase): string {
14
- return cast<IRole>(role).name;
15
- }
@@ -1,40 +0,0 @@
1
- import type { TableIdentity } from 'table-identity';
2
- import type { ILocaleInfos } from 'vona';
3
- import type { IUserBase } from 'vona-module-a-user';
4
- import type { IUser } from '../types/user.ts';
5
- import { cast } from 'vona';
6
- import { setUserAdapter } from 'vona-module-a-user';
7
-
8
- setUserAdapter({ getUserId, getUserName, getUserAvatar, getUserEmail, getUserMobile, getUserActivated, getUserLocale, getUserAnonymous });
9
-
10
- function getUserId(user: IUserBase): TableIdentity {
11
- return cast<IUser>(user).id;
12
- }
13
-
14
- function getUserName(user: IUserBase): string {
15
- return cast<IUser>(user).name;
16
- }
17
-
18
- function getUserAvatar(user: IUserBase): string | undefined {
19
- return cast<IUser>(user).avatar;
20
- }
21
-
22
- function getUserEmail(user: IUserBase): string | undefined {
23
- return cast<IUser>(user).email;
24
- }
25
-
26
- function getUserMobile(user: IUserBase): string | undefined {
27
- return cast<IUser>(user).mobile;
28
- }
29
-
30
- function getUserActivated(user: IUserBase): boolean {
31
- return cast<IUser>(user).activated;
32
- }
33
-
34
- function getUserLocale(user: IUserBase): keyof ILocaleInfos | undefined {
35
- return cast<IUser>(user).locale;
36
- }
37
-
38
- function getUserAnonymous(user: IUserBase): boolean {
39
- return cast<IUser>(user).id === -1;
40
- }
@@ -1,14 +0,0 @@
1
- import type { IAuthBase, IAuthInnerAdapter } from 'vona-module-a-user';
2
- import type { IAuth } from '../types/auth.ts';
3
- import { BeanBase, beanFullNameFromOnionName } from 'vona';
4
- import { Service } from 'vona-module-a-bean';
5
-
6
- @Service()
7
- export class ServiceAuthInnerAdapter extends BeanBase implements IAuthInnerAdapter {
8
- async findOne(auth: Partial<IAuth>): Promise<IAuthBase | undefined> {
9
- const beanFullName = beanFullNameFromOnionName(this.scope.config.adapter.authInner, 'service');
10
- const beanAuth = this.bean._getBean<IAuthInnerAdapter>(beanFullName as never);
11
- if (beanAuth) return await beanAuth.findOne(auth);
12
- return auth as unknown as IAuthBase | undefined;
13
- }
14
- }
@@ -1,3 +0,0 @@
1
- import type { IAuthBase } from 'vona-module-a-user';
2
-
3
- export interface IAuth extends IAuthBase {}
@@ -1,5 +0,0 @@
1
- import type { IRoleBase } from 'vona-module-a-user';
2
-
3
- export interface IRole extends IRoleBase {
4
- name: string;
5
- }
@@ -1,11 +0,0 @@
1
- import type { ILocaleInfos } from 'vona';
2
- import type { IUserBase } from 'vona-module-a-user';
3
-
4
- export interface IUser extends IUserBase {
5
- name: string;
6
- avatar?: string;
7
- email?: string;
8
- mobile?: string;
9
- activated: boolean;
10
- locale?: keyof ILocaleInfos | undefined;
11
- }