@solidstarters/solid-core 1.2.64 → 1.2.67

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 (81) hide show
  1. package/dist/controllers/chatter-message.controller.d.ts +1 -2
  2. package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
  3. package/dist/controllers/chatter-message.controller.js +3 -7
  4. package/dist/controllers/chatter-message.controller.js.map +1 -1
  5. package/dist/decorators/active-user.decorator.d.ts.map +1 -1
  6. package/dist/decorators/active-user.decorator.js.map +1 -1
  7. package/dist/decorators/solid-request-context.decorator.d.ts.map +1 -1
  8. package/dist/decorators/solid-request-context.decorator.js.map +1 -1
  9. package/dist/guards/access-token.guard.d.ts +3 -1
  10. package/dist/guards/access-token.guard.d.ts.map +1 -1
  11. package/dist/guards/access-token.guard.js +6 -2
  12. package/dist/guards/access-token.guard.js.map +1 -1
  13. package/dist/index.d.ts +0 -1
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +0 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/providers/list-of-values-selection-providers.service.d.ts.map +1 -1
  18. package/dist/providers/list-of-values-selection-providers.service.js +15 -5
  19. package/dist/providers/list-of-values-selection-providers.service.js.map +1 -1
  20. package/dist/seeders/seed-data/solid-core-metadata.json +9 -51
  21. package/dist/services/authentication.service.d.ts +3 -1
  22. package/dist/services/authentication.service.d.ts.map +1 -1
  23. package/dist/services/authentication.service.js +12 -3
  24. package/dist/services/authentication.service.js.map +1 -1
  25. package/dist/services/chatter-message-details.service.d.ts +1 -3
  26. package/dist/services/chatter-message-details.service.d.ts.map +1 -1
  27. package/dist/services/chatter-message-details.service.js +3 -6
  28. package/dist/services/chatter-message-details.service.js.map +1 -1
  29. package/dist/services/chatter-message.service.d.ts +7 -8
  30. package/dist/services/chatter-message.service.d.ts.map +1 -1
  31. package/dist/services/chatter-message.service.js +28 -19
  32. package/dist/services/chatter-message.service.js.map +1 -1
  33. package/dist/services/crud.service.d.ts +1 -3
  34. package/dist/services/crud.service.d.ts.map +1 -1
  35. package/dist/services/crud.service.js +3 -42
  36. package/dist/services/crud.service.js.map +1 -1
  37. package/dist/services/field-metadata.service.d.ts.map +1 -1
  38. package/dist/services/field-metadata.service.js +23 -11
  39. package/dist/services/field-metadata.service.js.map +1 -1
  40. package/dist/services/model-metadata.service.d.ts.map +1 -1
  41. package/dist/services/model-metadata.service.js +11 -9
  42. package/dist/services/model-metadata.service.js.map +1 -1
  43. package/dist/services/request-context.service.d.ts +4 -4
  44. package/dist/services/request-context.service.d.ts.map +1 -1
  45. package/dist/services/request-context.service.js +6 -10
  46. package/dist/services/request-context.service.js.map +1 -1
  47. package/dist/services/user.service.d.ts +1 -1
  48. package/dist/services/user.service.d.ts.map +1 -1
  49. package/dist/services/user.service.js +2 -2
  50. package/dist/services/user.service.js.map +1 -1
  51. package/dist/solid-core.module.d.ts.map +1 -1
  52. package/dist/solid-core.module.js +6 -2
  53. package/dist/solid-core.module.js.map +1 -1
  54. package/dist/subscribers/audit.subscriber.d.ts +1 -3
  55. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  56. package/dist/subscribers/audit.subscriber.js +7 -12
  57. package/dist/subscribers/audit.subscriber.js.map +1 -1
  58. package/dist/tsconfig.tsbuildinfo +1 -1
  59. package/package.json +2 -1
  60. package/src/controllers/chatter-message.controller.ts +1 -2
  61. package/src/decorators/active-user.decorator.ts +1 -0
  62. package/src/decorators/solid-request-context.decorator.ts +2 -1
  63. package/src/guards/access-token.guard.ts +3 -0
  64. package/src/index.ts +0 -1
  65. package/src/providers/list-of-values-selection-providers.service.ts +14 -5
  66. package/src/seeders/seed-data/solid-core-metadata.json +12 -56
  67. package/src/services/authentication.service.ts +16 -4
  68. package/src/services/chatter-message-details.service.ts +1 -3
  69. package/src/services/chatter-message.service.ts +29 -20
  70. package/src/services/crud.service.ts +0 -8
  71. package/src/services/field-metadata.service.ts +23 -12
  72. package/src/services/model-metadata.service.ts +15 -12
  73. package/src/services/request-context.service.ts +5 -6
  74. package/src/services/user.service.ts +6 -6
  75. package/src/solid-core.module.ts +5 -2
  76. package/src/subscribers/audit.subscriber.ts +5 -9
  77. package/dist/services/user-context.service.d.ts +0 -10
  78. package/dist/services/user-context.service.d.ts.map +0 -1
  79. package/dist/services/user-context.service.js +0 -42
  80. package/dist/services/user-context.service.js.map +0 -1
  81. package/src/services/user-context.service.ts +0 -31
@@ -34,7 +34,7 @@ export class UserService extends CRUDService<User> {
34
34
  readonly moduleRef: ModuleRef,
35
35
  @Inject(iamConfig.KEY)
36
36
  private readonly iamConfiguration: ConfigType<typeof iamConfig>,
37
-
37
+
38
38
  ) {
39
39
  super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'user', 'solid-core', moduleRef);
40
40
  }
@@ -237,20 +237,20 @@ export class UserService extends CRUDService<User> {
237
237
  return matchingPermssions
238
238
  }
239
239
 
240
- initializeRolesForNewUser(roles: string[], user: User) {
240
+ async initializeRolesForNewUser(roles: string[], user: User) {
241
241
  if (!user.id) {
242
- throw new BadRequestException('User must exist before initializing roles');
242
+ throw new BadRequestException('User must exist before initializing roles');
243
243
  }
244
244
  let userRoles = [];
245
245
  // Default Internal user role assigned
246
246
  userRoles.push("Internal User");
247
247
  if (roles) {
248
- userRoles = [...userRoles, ...roles];
248
+ userRoles = [...userRoles, ...roles];
249
249
  }
250
250
  userRoles = Array.from(new Set([...userRoles]));
251
251
  if (userRoles.length > 0) {
252
- this.addRolesToUser(user.username, userRoles);
252
+ await this.addRolesToUser(user.username, userRoles);
253
253
  }
254
- }
254
+ }
255
255
 
256
256
  }
@@ -161,7 +161,7 @@ import { ChatterMessageDetails } from './entities/chatter-message-details.entity
161
161
  import { ChatterMessageDetailsService } from './services/chatter-message-details.service';
162
162
  import { ChatterMessageDetailsController } from './controllers/chatter-message-details.controller';
163
163
  import { AuditSubscriber } from './subscribers/audit.subscriber';
164
- import { UserContextService } from './services/user-context.service';
164
+ import { ClsModule } from 'nestjs-cls';
165
165
 
166
166
  @Global()
167
167
  @Module({
@@ -213,6 +213,10 @@ import { UserContextService } from './services/user-context.service';
213
213
  TypeOrmModule.forFeature([ChatterMessage]),
214
214
  TypeOrmModule.forFeature([ChatterMessageDetails]),
215
215
  // TypeOrmModule.forFeature([User]),
216
+ ClsModule.forRoot({
217
+ middleware: {
218
+ mount: true,
219
+ }}),
216
220
  ],
217
221
  controllers: [
218
222
  ModuleMetadataController,
@@ -348,7 +352,6 @@ import { UserContextService } from './services/user-context.service';
348
352
  ChatterMessageService,
349
353
  ChatterMessageDetailsService,
350
354
  AuditSubscriber,
351
- UserContextService,
352
355
  ],
353
356
  exports: [
354
357
  ModuleMetadataService,
@@ -5,7 +5,6 @@ import { InjectRepository } from '@nestjs/typeorm';
5
5
  import { ModelMetadata } from '../entities/model-metadata.entity';
6
6
  import { Repository } from 'typeorm';
7
7
  import { Injectable } from '@nestjs/common';
8
- import { UserContextService } from '../services/user-context.service';
9
8
  @Injectable()
10
9
  @EventSubscriber()
11
10
  export class AuditSubscriber implements EntitySubscriberInterface {
@@ -15,7 +14,6 @@ export class AuditSubscriber implements EntitySubscriberInterface {
15
14
  private readonly chatterMessageService: ChatterMessageService,
16
15
  @InjectRepository(ModelMetadata)
17
16
  private readonly modelMetadataRepo: Repository<ModelMetadata>,
18
- private readonly userContextService: UserContextService
19
17
  ) {
20
18
  connection.subscribers.push(this);
21
19
  }
@@ -37,7 +35,8 @@ export class AuditSubscriber implements EntitySubscriberInterface {
37
35
 
38
36
  const auditFields = model.fields.filter(field =>
39
37
  field.enableAuditTracking &&
40
- !['oneToMany', 'mediaSingle', 'mediaMultiple', 'computed', 'richText', 'json'].includes(field.type)
38
+ !['mediaSingle', 'mediaMultiple', 'computed', 'richText', 'json'].includes(field.type) &&
39
+ !(field.type === 'relation' && field.relationType === 'one-to-many')
41
40
  );
42
41
 
43
42
  if (auditFields.length === 0) {
@@ -52,22 +51,19 @@ export class AuditSubscriber implements EntitySubscriberInterface {
52
51
 
53
52
  async afterInsert(event: InsertEvent<any>) {
54
53
  if (await this.shouldTrackAudit(event.entity, event.metadata)) {
55
- const activeUser = this.userContextService.getUser();
56
- await this.chatterMessageService.postAuditMessageOnInsert(event.entity, event.metadata, activeUser);
54
+ await this.chatterMessageService.postAuditMessageOnInsert(event.entity, event.metadata);
57
55
  }
58
56
  }
59
57
 
60
58
  async afterUpdate(event: UpdateEvent<any>) {
61
59
  if (await this.shouldTrackAudit(event.entity, event.metadata)) {
62
- const activeUser = this.userContextService.getUser();
63
- await this.chatterMessageService.postAuditMessageOnUpdate(event.entity, event.metadata, event.databaseEntity, activeUser);
60
+ await this.chatterMessageService.postAuditMessageOnUpdate(event.entity, event.metadata, event.databaseEntity);
64
61
  }
65
62
  }
66
63
 
67
64
  async afterRemove(event: RemoveEvent<any>) {
68
65
  if (await this.shouldTrackAudit(event.entity, event.metadata)) {
69
- const activeUser = this.userContextService.getUser();
70
- await this.chatterMessageService.postAuditMessageOnDelete(event.entity, event.metadata, event.databaseEntity, activeUser);
66
+ await this.chatterMessageService.postAuditMessageOnDelete(event.entity, event.metadata, event.databaseEntity);
71
67
  }
72
68
  }
73
69
  }
@@ -1,10 +0,0 @@
1
- import { ActiveUserData } from '../interfaces/active-user-data.interface';
2
- export declare class UserContextService {
3
- private readonly logger;
4
- private static currentUser;
5
- setUser(user: any): void;
6
- getUser(): any;
7
- runWithUser<T>(user: any, callback: () => T): T;
8
- getCurrentUser(): ActiveUserData | null;
9
- }
10
- //# sourceMappingURL=user-context.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-context.service.d.ts","sourceRoot":"","sources":["../../src/services/user-context.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,qBACa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAa;IAEvC,OAAO,CAAC,IAAI,EAAE,GAAG;IAKjB,OAAO;IAIP,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAU/C,cAAc,IAAI,cAAc,GAAG,IAAI;CAG1C"}
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var UserContextService_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.UserContextService = void 0;
11
- const common_1 = require("@nestjs/common");
12
- let UserContextService = UserContextService_1 = class UserContextService {
13
- constructor() {
14
- this.logger = new common_1.Logger(UserContextService_1.name);
15
- }
16
- setUser(user) {
17
- this.logger.debug(`Setting user: ${JSON.stringify(user)}`);
18
- UserContextService_1.currentUser = user;
19
- }
20
- getUser() {
21
- return UserContextService_1.currentUser;
22
- }
23
- runWithUser(user, callback) {
24
- const previousUser = this.getUser();
25
- try {
26
- this.setUser(user);
27
- return callback();
28
- }
29
- finally {
30
- this.setUser(previousUser);
31
- }
32
- }
33
- getCurrentUser() {
34
- return this.getUser();
35
- }
36
- };
37
- exports.UserContextService = UserContextService;
38
- UserContextService.currentUser = null;
39
- exports.UserContextService = UserContextService = UserContextService_1 = __decorate([
40
- (0, common_1.Injectable)()
41
- ], UserContextService);
42
- //# sourceMappingURL=user-context.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user-context.service.js","sourceRoot":"","sources":["../../src/services/user-context.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAI7C,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAAxB;QACc,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAyBlE,CAAC;IAtBG,OAAO,CAAC,IAAS;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,oBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,OAAO,oBAAkB,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,WAAW,CAAI,IAAS,EAAE,QAAiB;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;;AAzBQ,gDAAkB;AAEZ,8BAAW,GAAQ,IAAI,AAAZ,CAAa;6BAF9B,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CA0B9B"}
@@ -1,31 +0,0 @@
1
- import { Injectable, Logger } from '@nestjs/common';
2
- import { ActiveUserData } from '../interfaces/active-user-data.interface';
3
-
4
- @Injectable()
5
- export class UserContextService {
6
- private readonly logger = new Logger(UserContextService.name);
7
- private static currentUser: any = null;
8
-
9
- setUser(user: any) {
10
- this.logger.debug(`Setting user: ${JSON.stringify(user)}`);
11
- UserContextService.currentUser = user;
12
- }
13
-
14
- getUser() {
15
- return UserContextService.currentUser;
16
- }
17
-
18
- runWithUser<T>(user: any, callback: () => T): T {
19
- const previousUser = this.getUser();
20
- try {
21
- this.setUser(user);
22
- return callback();
23
- } finally {
24
- this.setUser(previousUser);
25
- }
26
- }
27
-
28
- getCurrentUser(): ActiveUserData | null {
29
- return this.getUser();
30
- }
31
- }