@solidstarters/solid-core 1.2.63 → 1.2.66

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 (70) 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/interfaces.d.ts +3 -0
  18. package/dist/interfaces.d.ts.map +1 -1
  19. package/dist/services/chatter-message-details.service.d.ts +1 -3
  20. package/dist/services/chatter-message-details.service.d.ts.map +1 -1
  21. package/dist/services/chatter-message-details.service.js +3 -6
  22. package/dist/services/chatter-message-details.service.js.map +1 -1
  23. package/dist/services/chatter-message.service.d.ts +7 -8
  24. package/dist/services/chatter-message.service.d.ts.map +1 -1
  25. package/dist/services/chatter-message.service.js +28 -19
  26. package/dist/services/chatter-message.service.js.map +1 -1
  27. package/dist/services/crud-helper.service.d.ts +1 -0
  28. package/dist/services/crud-helper.service.d.ts.map +1 -1
  29. package/dist/services/crud-helper.service.js +14 -1
  30. package/dist/services/crud-helper.service.js.map +1 -1
  31. package/dist/services/crud.service.d.ts +7 -3
  32. package/dist/services/crud.service.d.ts.map +1 -1
  33. package/dist/services/crud.service.js +91 -88
  34. package/dist/services/crud.service.js.map +1 -1
  35. package/dist/services/field-metadata.service.d.ts.map +1 -1
  36. package/dist/services/field-metadata.service.js +23 -11
  37. package/dist/services/field-metadata.service.js.map +1 -1
  38. package/dist/services/request-context.service.d.ts +4 -4
  39. package/dist/services/request-context.service.d.ts.map +1 -1
  40. package/dist/services/request-context.service.js +6 -10
  41. package/dist/services/request-context.service.js.map +1 -1
  42. package/dist/solid-core.module.d.ts.map +1 -1
  43. package/dist/solid-core.module.js +6 -2
  44. package/dist/solid-core.module.js.map +1 -1
  45. package/dist/subscribers/audit.subscriber.d.ts +1 -3
  46. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  47. package/dist/subscribers/audit.subscriber.js +7 -12
  48. package/dist/subscribers/audit.subscriber.js.map +1 -1
  49. package/dist/tsconfig.tsbuildinfo +1 -1
  50. package/package.json +2 -1
  51. package/src/controllers/chatter-message.controller.ts +1 -2
  52. package/src/decorators/active-user.decorator.ts +1 -0
  53. package/src/decorators/solid-request-context.decorator.ts +2 -1
  54. package/src/guards/access-token.guard.ts +3 -0
  55. package/src/index.ts +0 -1
  56. package/src/interfaces.ts +5 -1
  57. package/src/services/chatter-message-details.service.ts +1 -3
  58. package/src/services/chatter-message.service.ts +29 -20
  59. package/src/services/crud-helper.service.ts +19 -1
  60. package/src/services/crud.service.ts +110 -64
  61. package/src/services/field-metadata.service.ts +23 -12
  62. package/src/services/request-context.service.ts +5 -6
  63. package/src/solid-core.module.ts +5 -2
  64. package/src/subscribers/audit.subscriber.ts +5 -9
  65. package/dist/services/user-context.service.d.ts +0 -10
  66. package/dist/services/user-context.service.d.ts.map +0 -1
  67. package/dist/services/user-context.service.js +0 -42
  68. package/dist/services/user-context.service.js.map +0 -1
  69. package/src/services/1.js +0 -6
  70. package/src/services/user-context.service.ts +0 -31
@@ -1,16 +1,15 @@
1
- import { Inject, Injectable, Scope } from "@nestjs/common";
2
- import { REQUEST } from "@nestjs/core";
1
+ import { Injectable } from "@nestjs/common";
2
+ import { ClsService } from "nestjs-cls";
3
3
  import { REQUEST_USER_KEY } from "src/constants";
4
- import { ActiveUserData } from "src/interfaces/active-user-data.interface";
5
4
 
6
- @Injectable({scope: Scope.REQUEST})
5
+ @Injectable()
7
6
  export class RequestContextService {
8
- constructor(@Inject(REQUEST) private readonly request: Request) {
7
+ constructor(private readonly cls: ClsService) {
9
8
  }
10
9
 
11
10
  // This method i.e getActiveUser() will fetch the user from the request object in the context
12
11
  getActiveUser() {
13
- return this.request[REQUEST_USER_KEY] as ActiveUserData| undefined;
12
+ return this.cls.get(REQUEST_USER_KEY);
14
13
  }
15
14
 
16
15
  }
@@ -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"}
package/src/services/1.js DELETED
@@ -1,6 +0,0 @@
1
- 1. Do i need to create a storeStreams method for aws service too?
2
- - Handle later
3
- 2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
4
- - startExport should either return the data or return the transaction id
5
- 3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
6
- - show the userKey
@@ -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
- }