@solidxai/core 0.1.10-alpha.1 → 0.1.10-beta.10

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 (46) hide show
  1. package/dist/dtos/update-user.dto.d.ts +1 -0
  2. package/dist/dtos/update-user.dto.d.ts.map +1 -1
  3. package/dist/dtos/update-user.dto.js +7 -1
  4. package/dist/dtos/update-user.dto.js.map +1 -1
  5. package/dist/entities/user.entity.js +1 -0
  6. package/dist/entities/user.entity.js.map +1 -1
  7. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts.map +1 -1
  8. package/dist/jobs/database/chatter-queue-subscriber-database.service.js +3 -3
  9. package/dist/jobs/database/chatter-queue-subscriber-database.service.js.map +1 -1
  10. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts.map +1 -1
  11. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js +3 -3
  12. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.js.map +1 -1
  13. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts.map +1 -1
  14. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js +3 -3
  15. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.js.map +1 -1
  16. package/dist/seeders/module-test-data.service.d.ts +7 -0
  17. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  18. package/dist/seeders/module-test-data.service.js +94 -18
  19. package/dist/seeders/module-test-data.service.js.map +1 -1
  20. package/dist/seeders/seed-data/solid-core-metadata.json +21 -0
  21. package/dist/services/chatter-message.service.d.ts +6 -3
  22. package/dist/services/chatter-message.service.d.ts.map +1 -1
  23. package/dist/services/chatter-message.service.js +23 -35
  24. package/dist/services/chatter-message.service.js.map +1 -1
  25. package/dist/testing/reporter/console-reporter.d.ts +10 -0
  26. package/dist/testing/reporter/console-reporter.d.ts.map +1 -1
  27. package/dist/testing/reporter/console-reporter.js +21 -0
  28. package/dist/testing/reporter/console-reporter.js.map +1 -1
  29. package/dist/testing/reporter/reporter.types.d.ts +7 -0
  30. package/dist/testing/reporter/reporter.types.d.ts.map +1 -1
  31. package/dist/testing/reporter/reporter.types.js.map +1 -1
  32. package/dist/testing/runner/run-from-metadata.d.ts.map +1 -1
  33. package/dist/testing/runner/run-from-metadata.js +20 -1
  34. package/dist/testing/runner/run-from-metadata.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/dtos/update-user.dto.ts +4 -0
  37. package/src/entities/user.entity.ts +1 -1
  38. package/src/jobs/database/chatter-queue-subscriber-database.service.ts +4 -2
  39. package/src/jobs/rabbitmq/chatter-queue-subscriber.service.ts +4 -2
  40. package/src/jobs/redis/chatter-queue-subscriber-redis.service.ts +10 -3
  41. package/src/seeders/module-test-data.service.ts +107 -15
  42. package/src/seeders/seed-data/solid-core-metadata.json +21 -0
  43. package/src/services/chatter-message.service.ts +27 -37
  44. package/src/testing/reporter/console-reporter.ts +27 -0
  45. package/src/testing/reporter/reporter.types.ts +7 -0
  46. package/src/testing/runner/run-from-metadata.ts +19 -1
@@ -38,5 +38,6 @@ export declare class UpdateUserDto {
38
38
  userViewMetadata: UpdateUserViewMetadataDto[];
39
39
  userViewMetadataIds: number[];
40
40
  userViewMetadataCommand: string;
41
+ failedLoginAttempts: number;
41
42
  }
42
43
  //# sourceMappingURL=update-user.dto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-user.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/update-user.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,qBAAa,aAAa;IAGtB,EAAE,EAAE,MAAM,CAAC;IAIX,QAAQ,EAAE,MAAM,CAAC;IAKjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,KAAK,EAAE,MAAM,CAAC;IAId,MAAM,EAAE,MAAM,CAAC;IAKf,QAAQ,EAAE,MAAM,CAAC;IAKjB,eAAe,EAAE,MAAM,CAAC;IAIxB,mBAAmB,EAAE,OAAO,CAAC;IAK7B,iBAAiB,EAAE,MAAM,CAAC;IAI1B,UAAU,EAAE,MAAM,CAAC;IAInB,iBAAiB,EAAE,MAAM,CAAC;IAI1B,QAAQ,EAAE,MAAM,CAAC;IAIjB,oBAAoB,EAAE,MAAM,CAAC;IAK7B,MAAM,EAAE,OAAO,CAAC;IAIhB,yBAAyB,EAAE,IAAI,CAAC;IAIhC,iCAAiC,EAAE,MAAM,CAAC;IAI1C,0CAA0C,EAAE,IAAI,CAAC;IAIjD,6BAA6B,EAAE,IAAI,CAAC;IAIpC,oCAAoC,EAAE,MAAM,CAAC;IAI7C,6CAA6C,EAAE,IAAI,CAAC;IAIpD,8BAA8B,EAAE,IAAI,CAAC;IAIrC,qCAAqC,EAAE,MAAM,CAAC;IAI9C,8CAA8C,EAAE,IAAI,CAAC;IAIrD,sBAAsB,EAAE,IAAI,CAAC;IAI7B,6BAA6B,EAAE,MAAM,CAAC;IAItC,sCAAsC,EAAE,IAAI,CAAC;IAI7C,uBAAuB,EAAE,IAAI,CAAC;IAI9B,8BAA8B,EAAE,MAAM,CAAC;IAIvC,uCAAuC,EAAE,IAAI,CAAC;IAI9C,aAAa,EAAE,MAAM,CAAC;IAItB,0BAA0B,EAAE,OAAO,CAAC;IAMpC,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAI/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IAInB,YAAY,EAAE,MAAM,CAAC;IAMrB,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;IAI9C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAI9B,uBAAuB,EAAE,MAAM,CAAC;CACnC"}
1
+ {"version":3,"file":"update-user.dto.d.ts","sourceRoot":"","sources":["../../src/dtos/update-user.dto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,qBAAa,aAAa;IAGtB,EAAE,EAAE,MAAM,CAAC;IAIX,QAAQ,EAAE,MAAM,CAAC;IAKjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,KAAK,EAAE,MAAM,CAAC;IAId,MAAM,EAAE,MAAM,CAAC;IAKf,QAAQ,EAAE,MAAM,CAAC;IAKjB,eAAe,EAAE,MAAM,CAAC;IAIxB,mBAAmB,EAAE,OAAO,CAAC;IAK7B,iBAAiB,EAAE,MAAM,CAAC;IAI1B,UAAU,EAAE,MAAM,CAAC;IAInB,iBAAiB,EAAE,MAAM,CAAC;IAI1B,QAAQ,EAAE,MAAM,CAAC;IAIjB,oBAAoB,EAAE,MAAM,CAAC;IAK7B,MAAM,EAAE,OAAO,CAAC;IAIhB,yBAAyB,EAAE,IAAI,CAAC;IAIhC,iCAAiC,EAAE,MAAM,CAAC;IAI1C,0CAA0C,EAAE,IAAI,CAAC;IAIjD,6BAA6B,EAAE,IAAI,CAAC;IAIpC,oCAAoC,EAAE,MAAM,CAAC;IAI7C,6CAA6C,EAAE,IAAI,CAAC;IAIpD,8BAA8B,EAAE,IAAI,CAAC;IAIrC,qCAAqC,EAAE,MAAM,CAAC;IAI9C,8CAA8C,EAAE,IAAI,CAAC;IAIrD,sBAAsB,EAAE,IAAI,CAAC;IAI7B,6BAA6B,EAAE,MAAM,CAAC;IAItC,sCAAsC,EAAE,IAAI,CAAC;IAI7C,uBAAuB,EAAE,IAAI,CAAC;IAI9B,8BAA8B,EAAE,MAAM,CAAC;IAIvC,uCAAuC,EAAE,IAAI,CAAC;IAI9C,aAAa,EAAE,MAAM,CAAC;IAItB,0BAA0B,EAAE,OAAO,CAAC;IAMpC,KAAK,EAAE,qBAAqB,EAAE,CAAC;IAI/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IAInB,YAAY,EAAE,MAAM,CAAC;IAMrB,gBAAgB,EAAE,yBAAyB,EAAE,CAAC;IAI9C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAI9B,uBAAuB,EAAE,MAAM,CAAC;IAIhC,mBAAmB,EAAE,MAAM,CAAC;CAC/B"}
@@ -18,7 +18,7 @@ const update_role_metadata_dto_1 = require("./update-role-metadata.dto");
18
18
  const update_user_view_metadata_dto_1 = require("./update-user-view-metadata.dto");
19
19
  class UpdateUserDto {
20
20
  static _OPENAPI_METADATA_FACTORY() {
21
- return { id: { required: true, type: () => Number }, fullName: { required: true, type: () => String }, username: { required: true, type: () => String }, email: { required: true, type: () => String }, mobile: { required: true, type: () => String }, password: { required: true, type: () => String, pattern: "/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/" }, passwordConfirm: { required: true, type: () => String, pattern: "/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/" }, forcePasswordChange: { required: true, type: () => Boolean }, lastLoginProvider: { required: true, type: () => String }, accessCode: { required: true, type: () => String }, googleAccessToken: { required: true, type: () => String }, googleId: { required: true, type: () => String }, googleProfilePicture: { required: true, type: () => String }, active: { required: true, type: () => Boolean }, forgotPasswordConfirmedAt: { required: true, type: () => Date }, verificationTokenOnForgotPassword: { required: true, type: () => String }, verificationTokenOnForgotPasswordExpiresAt: { required: true, type: () => Date }, emailVerifiedOnRegistrationAt: { required: true, type: () => Date }, emailVerificationTokenOnRegistration: { required: true, type: () => String }, emailVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnRegistrationAt: { required: true, type: () => Date }, mobileVerificationTokenOnRegistration: { required: true, type: () => String }, mobileVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, emailVerifiedOnLoginAt: { required: true, type: () => Date }, emailVerificationTokenOnLogin: { required: true, type: () => String }, emailVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnLoginAt: { required: true, type: () => Date }, mobileVerificationTokenOnLogin: { required: true, type: () => String }, mobileVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, customPayload: { required: true, type: () => String }, isAllowedToGenerateApiKeys: { required: true, type: () => Boolean }, roles: { required: true, type: () => [require("./update-role-metadata.dto").UpdateRoleMetadataDto] }, rolesIds: { required: true, type: () => [Number] }, rolesCommand: { required: true, type: () => String }, userViewMetadata: { required: true, type: () => [require("./update-user-view-metadata.dto").UpdateUserViewMetadataDto] }, userViewMetadataIds: { required: true, type: () => [Number] }, userViewMetadataCommand: { required: true, type: () => String } };
21
+ return { id: { required: true, type: () => Number }, fullName: { required: true, type: () => String }, username: { required: true, type: () => String }, email: { required: true, type: () => String }, mobile: { required: true, type: () => String }, password: { required: true, type: () => String, pattern: "/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/" }, passwordConfirm: { required: true, type: () => String, pattern: "/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/" }, forcePasswordChange: { required: true, type: () => Boolean }, lastLoginProvider: { required: true, type: () => String }, accessCode: { required: true, type: () => String }, googleAccessToken: { required: true, type: () => String }, googleId: { required: true, type: () => String }, googleProfilePicture: { required: true, type: () => String }, active: { required: true, type: () => Boolean }, forgotPasswordConfirmedAt: { required: true, type: () => Date }, verificationTokenOnForgotPassword: { required: true, type: () => String }, verificationTokenOnForgotPasswordExpiresAt: { required: true, type: () => Date }, emailVerifiedOnRegistrationAt: { required: true, type: () => Date }, emailVerificationTokenOnRegistration: { required: true, type: () => String }, emailVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnRegistrationAt: { required: true, type: () => Date }, mobileVerificationTokenOnRegistration: { required: true, type: () => String }, mobileVerificationTokenOnRegistrationExpiresAt: { required: true, type: () => Date }, emailVerifiedOnLoginAt: { required: true, type: () => Date }, emailVerificationTokenOnLogin: { required: true, type: () => String }, emailVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, mobileVerifiedOnLoginAt: { required: true, type: () => Date }, mobileVerificationTokenOnLogin: { required: true, type: () => String }, mobileVerificationTokenOnLoginExpiresAt: { required: true, type: () => Date }, customPayload: { required: true, type: () => String }, isAllowedToGenerateApiKeys: { required: true, type: () => Boolean }, roles: { required: true, type: () => [require("./update-role-metadata.dto").UpdateRoleMetadataDto] }, rolesIds: { required: true, type: () => [Number] }, rolesCommand: { required: true, type: () => String }, userViewMetadata: { required: true, type: () => [require("./update-user-view-metadata.dto").UpdateUserViewMetadataDto] }, userViewMetadataIds: { required: true, type: () => [Number] }, userViewMetadataCommand: { required: true, type: () => String }, failedLoginAttempts: { required: true, type: () => Number } };
22
22
  }
23
23
  }
24
24
  exports.UpdateUserDto = UpdateUserDto;
@@ -252,4 +252,10 @@ __decorate([
252
252
  (0, swagger_1.ApiProperty)(),
253
253
  __metadata("design:type", String)
254
254
  ], UpdateUserDto.prototype, "userViewMetadataCommand", void 0);
255
+ __decorate([
256
+ (0, class_validator_1.IsOptional)(),
257
+ (0, class_validator_1.IsInt)(),
258
+ (0, swagger_1.ApiProperty)(),
259
+ __metadata("design:type", Number)
260
+ ], UpdateUserDto.prototype, "failedLoginAttempts", void 0);
255
261
  //# sourceMappingURL=update-user.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-user.dto.js","sourceRoot":"","sources":["../../src/dtos/update-user.dto.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsInt, IsOptional, IsString, IsNotEmpty, Matches, IsBoolean, IsDate, ValidateNested, IsArray } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { UpdateRoleMetadataDto } from 'src/dtos/update-role-metadata.dto';\nimport { UpdateUserViewMetadataDto } from 'src/dtos/update-user-view-metadata.dto';\n\nexport class UpdateUserDto {\n @IsOptional()\n @IsInt()\n id: number;\n @IsOptional()\n @IsString()\n @ApiProperty()\n fullName: string;\n @IsNotEmpty()\n @IsOptional()\n @IsString()\n @ApiProperty()\n username: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n email: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n mobile: string;\n @IsOptional()\n @Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/)\n @IsString()\n @ApiProperty()\n password: string;\n @IsOptional()\n @Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/)\n @IsString()\n @ApiProperty()\n passwordConfirm: string;\n @IsOptional()\n @IsBoolean()\n @ApiProperty()\n forcePasswordChange: boolean;\n @IsNotEmpty()\n @IsOptional()\n @IsString()\n @ApiProperty()\n lastLoginProvider: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n accessCode: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n googleAccessToken: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n googleId: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n googleProfilePicture: string;\n @IsNotEmpty()\n @IsOptional()\n @IsBoolean()\n @ApiProperty()\n active: boolean;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n forgotPasswordConfirmedAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n verificationTokenOnForgotPassword: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n verificationTokenOnForgotPasswordExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerifiedOnRegistrationAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n emailVerificationTokenOnRegistration: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerifiedOnRegistrationAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n mobileVerificationTokenOnRegistration: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerifiedOnLoginAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n emailVerificationTokenOnLogin: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerificationTokenOnLoginExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerifiedOnLoginAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n mobileVerificationTokenOnLogin: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerificationTokenOnLoginExpiresAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n customPayload: string;\n @IsOptional()\n @IsBoolean()\n @ApiProperty()\n isAllowedToGenerateApiKeys: boolean;\n @IsOptional()\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => UpdateRoleMetadataDto)\n roles: UpdateRoleMetadataDto[];\n @IsOptional()\n @IsArray()\n @ApiProperty()\n rolesIds: number[];\n @IsString()\n @IsOptional()\n @ApiProperty()\n rolesCommand: string;\n @IsOptional()\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => UpdateUserViewMetadataDto)\n userViewMetadata: UpdateUserViewMetadataDto[];\n @IsOptional()\n @IsArray()\n @ApiProperty()\n userViewMetadataIds: number[];\n @IsString()\n @IsOptional()\n @ApiProperty()\n userViewMetadataCommand: string;\n}"]}
1
+ {"version":3,"file":"update-user.dto.js","sourceRoot":"","sources":["../../src/dtos/update-user.dto.ts"],"names":[],"mappings":"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","sourcesContent":["import { IsInt, IsOptional, IsString, IsNotEmpty, Matches, IsBoolean, IsDate, ValidateNested, IsArray } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { UpdateRoleMetadataDto } from 'src/dtos/update-role-metadata.dto';\nimport { UpdateUserViewMetadataDto } from 'src/dtos/update-user-view-metadata.dto';\n\nexport class UpdateUserDto {\n @IsOptional()\n @IsInt()\n id: number;\n @IsOptional()\n @IsString()\n @ApiProperty()\n fullName: string;\n @IsNotEmpty()\n @IsOptional()\n @IsString()\n @ApiProperty()\n username: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n email: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n mobile: string;\n @IsOptional()\n @Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/)\n @IsString()\n @ApiProperty()\n password: string;\n @IsOptional()\n @Matches(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).*$/)\n @IsString()\n @ApiProperty()\n passwordConfirm: string;\n @IsOptional()\n @IsBoolean()\n @ApiProperty()\n forcePasswordChange: boolean;\n @IsNotEmpty()\n @IsOptional()\n @IsString()\n @ApiProperty()\n lastLoginProvider: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n accessCode: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n googleAccessToken: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n googleId: string;\n @IsOptional()\n @IsString()\n @ApiProperty()\n googleProfilePicture: string;\n @IsNotEmpty()\n @IsOptional()\n @IsBoolean()\n @ApiProperty()\n active: boolean;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n forgotPasswordConfirmedAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n verificationTokenOnForgotPassword: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n verificationTokenOnForgotPasswordExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerifiedOnRegistrationAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n emailVerificationTokenOnRegistration: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerifiedOnRegistrationAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n mobileVerificationTokenOnRegistration: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerifiedOnLoginAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n emailVerificationTokenOnLogin: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n emailVerificationTokenOnLoginExpiresAt: Date;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerifiedOnLoginAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n mobileVerificationTokenOnLogin: string;\n @IsOptional()\n @IsDate()\n @ApiProperty()\n mobileVerificationTokenOnLoginExpiresAt: Date;\n @IsOptional()\n @IsString()\n @ApiProperty()\n customPayload: string;\n @IsOptional()\n @IsBoolean()\n @ApiProperty()\n isAllowedToGenerateApiKeys: boolean;\n @IsOptional()\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => UpdateRoleMetadataDto)\n roles: UpdateRoleMetadataDto[];\n @IsOptional()\n @IsArray()\n @ApiProperty()\n rolesIds: number[];\n @IsString()\n @IsOptional()\n @ApiProperty()\n rolesCommand: string;\n @IsOptional()\n @ApiProperty()\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => UpdateUserViewMetadataDto)\n userViewMetadata: UpdateUserViewMetadataDto[];\n @IsOptional()\n @IsArray()\n @ApiProperty()\n userViewMetadataIds: number[];\n @IsString()\n @IsOptional()\n @ApiProperty()\n userViewMetadataCommand: string;\n @IsOptional()\n @IsInt()\n @ApiProperty()\n failedLoginAttempts: number;\n}"]}
@@ -208,6 +208,7 @@ __decorate([
208
208
  __metadata("design:type", Date)
209
209
  ], User.prototype, "rehashedAt", void 0);
210
210
  __decorate([
211
+ (0, class_transformer_1.Expose)(),
211
212
  (0, typeorm_1.Column)({ type: "int", default: 0 }),
212
213
  __metadata("design:type", Number)
213
214
  ], User.prototype, "failedLoginAttempts", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { UserApiKey } from 'src/entities/user-api-key.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftProfilePicture: string;\n\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n\n // dont send to client\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n @Column({ default: false })\n @Expose()\n isAllowedToGenerateApiKeys: boolean = false;\n\n @OneToMany(() => UserApiKey, key => key.user)\n @Expose()\n apiKeys: UserApiKey[];\n\n}"]}
1
+ {"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"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","sourcesContent":["import { CommonEntity } from \"src/entities/common.entity\"\nimport { Entity, Column, Index, JoinTable, ManyToMany, OneToMany, TableInheritance } from \"typeorm\";\nimport { RoleMetadata } from 'src/entities/role-metadata.entity';\nimport { UserViewMetadata } from 'src/entities/user-view-metadata.entity'\nimport { UserApiKey } from 'src/entities/user-api-key.entity'\nimport { Exclude, Expose } from \"class-transformer\";\n\n@Entity(\"ss_user\")\n@TableInheritance({ column: { type: \"varchar\", name: \"type\", default: \"User\" } })\n@Exclude()\nexport class User extends CommonEntity {\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n fullName: string;\n\n @Index({ unique: true })\n @Column({ type: \"varchar\" })\n @Expose()\n username: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n email: string;\n\n @Index()\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n mobile: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n password: string;\n\n @Column({ nullable: true, default: true })\n @Expose()\n forcePasswordChange: boolean = true;\n\n @Column({ type: \"varchar\", default: \"local\" })\n // don't send to client\n lastLoginProvider: string = \"local\";\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client (test)\n accessCode: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n googleProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n facebookProfilePicture: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n appleAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftId: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftAccessToken: string;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n microsoftProfilePicture: string;\n\n @Column({ default: true })\n @Expose()\n active: boolean = true;\n\n @Column({ nullable: true })\n // don't send to client\n forgotPasswordConfirmedAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n verificationTokenOnForgotPassword: string;\n\n @Column({ nullable: true })\n // don't send to client\n verificationTokenOnForgotPasswordExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnRegistrationAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistration: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnRegistrationExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n emailVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n emailVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerifiedOnLoginAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n // don't send to client\n mobileVerificationTokenOnLogin: string;\n\n @Column({ nullable: true })\n // don't send to client\n mobileVerificationTokenOnLoginExpiresAt: Date;\n\n @Column({ type: \"varchar\", nullable: true })\n @Expose()\n customPayload: string;\n\n @ManyToMany(() => RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true })\n @JoinTable()\n @Expose()\n roles: RoleMetadata[];\n\n @OneToMany(() => UserViewMetadata, userViewMetadata => userViewMetadata.user, { cascade: true })\n // don't send to client\n userViewMetadata: UserViewMetadata[];\n\n // dont send to client\n @Column({ type: \"varchar\", default: \"bcrypt\" })\n passwordScheme: string;\n\n // dont send to client\n @Column({ type: \"int\", default: 1 })\n passwordSchemeVersion: number;\n\n // dont send to client\n @Column({ nullable: true })\n rehashedAt: Date;\n\n @Expose()\n @Column({ type: \"int\", default: 0 })\n failedLoginAttempts: number = 0;\n\n @Expose()\n _media: any;\n\n @Column({ default: false })\n @Expose()\n isAllowedToGenerateApiKeys: boolean = false;\n\n @OneToMany(() => UserApiKey, key => key.user)\n @Expose()\n apiKeys: UserApiKey[];\n\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-queue-subscriber-database.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/chatter-queue-subscriber-database.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,qBACa,8BAA+B,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAIjF,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAN1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;gBAGpE,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa,EACb,qBAAqB,EAAE,qBAAqB;IAKjE,OAAO,IAAI,mBAAmB;IAMxB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC;CAqB3D"}
1
+ {"version":3,"file":"chatter-queue-subscriber-database.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/database/chatter-queue-subscriber-database.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAG7E,qBACa,8BAA+B,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAIjF,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAN1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;gBAGpE,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,aAAa,EACb,qBAAqB,EAAE,qBAAqB;IAKjE,OAAO,IAAI,mBAAmB;IAMxB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC;CAuB3D"}
@@ -40,13 +40,13 @@ let ChatterQueueSubscriberDatabase = ChatterQueueSubscriberDatabase_1 = class Ch
40
40
  this.chatterLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);
41
41
  switch (p.eventType) {
42
42
  case 'insert':
43
- await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName);
43
+ await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName, false, p.userId);
44
44
  break;
45
45
  case 'update':
46
- await this.chatterMessageService.postAuditMessageOnUpdate(p.after, p.modelName, p.before, (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })));
46
+ await this.chatterMessageService.postAuditMessageOnUpdate(p.after, p.modelName, p.before, (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })), false, p.userId);
47
47
  break;
48
48
  case 'delete':
49
- await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before);
49
+ await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before, false, p.userId);
50
50
  break;
51
51
  }
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-queue-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/chatter-queue-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,mGAAqF;AAErF,0EAAqE;AACrE,sFAAgF;AAEhF,kEAA4D;AAE5D,oFAA6E;AAC7E,sGAA2E;AAGpE,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,gDAAqC;IAGrF,YACa,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB,EACb,qBAA4C;QAE7D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAL9C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;QACb,0BAAqB,GAArB,qBAAqB,CAAuB;QANhD,kBAAa,GAAG,IAAI,eAAM,CAAC,gCAA8B,CAAC,IAAI,CAAC,CAAC;IASjF,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,wCAA2B;SACjC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwC;QACpD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpF,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;gBAChF,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CACrD,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/D,CAAC;gBACF,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACjF,MAAM;QACd,CAAC;IACL,CAAC;CACJ,CAAA;AAvCY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAKsB,qCAAgB;QACX,gDAAqB;QACpC,8BAAa;QACU,+CAAqB;GAPxD,8BAA8B,CAuC1C","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { PollerService } from 'src/services/poller.service';\nimport { AuditQueuePayload } from '../../interfaces';\nimport { ChatterMessageService } from 'src/services/chatter-message.service';\nimport chatterQueueOptionsDatabase from './chatter-queue-options-database';\n\n@Injectable()\nexport class ChatterQueueSubscriberDatabase extends DatabaseSubscriber<AuditQueuePayload> {\n private readonly chatterLogger = new Logger(ChatterQueueSubscriberDatabase.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n readonly poller: PollerService,\n private readonly chatterMessageService: ChatterMessageService,\n ) {\n super(mqMessageService, mqMessageQueueService, poller);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...chatterQueueOptionsDatabase\n };\n }\n\n async subscribe(message: QueueMessage<AuditQueuePayload>) {\n const p = message.payload;\n this.chatterLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);\n\n switch (p.eventType) {\n case 'insert':\n await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName);\n break;\n case 'update':\n await this.chatterMessageService.postAuditMessageOnUpdate(\n p.after,\n p.modelName,\n p.before,\n (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })),\n );\n break;\n case 'delete':\n await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before);\n break;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"chatter-queue-subscriber-database.service.js","sourceRoot":"","sources":["../../../src/jobs/database/chatter-queue-subscriber-database.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,mGAAqF;AAErF,0EAAqE;AACrE,sFAAgF;AAEhF,kEAA4D;AAE5D,oFAA6E;AAC7E,sGAA2E;AAGpE,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,gDAAqC;IAGrF,YACa,gBAAkC,EAClC,qBAA4C,EAC5C,MAAqB,EACb,qBAA4C;QAE7D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC;QAL9C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,WAAM,GAAN,MAAM,CAAe;QACb,0BAAqB,GAArB,qBAAqB,CAAuB;QANhD,kBAAa,GAAG,IAAI,eAAM,CAAC,gCAA8B,CAAC,IAAI,CAAC,CAAC;IASjF,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,wCAA2B;SACjC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwC;QACpD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpF,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACjG,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CACrD,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5D,KAAK,EACL,CAAC,CAAC,MAAM,CACX,CAAC;gBACF,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAClG,MAAM;QACd,CAAC;IACL,CAAC;CACJ,CAAA;AAzCY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAKsB,qCAAgB;QACX,gDAAqB;QACpC,8BAAa;QACU,+CAAqB;GAPxD,8BAA8B,CAyC1C","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { DatabaseSubscriber } from 'src/services/queues/database-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { PollerService } from 'src/services/poller.service';\nimport { AuditQueuePayload } from '../../interfaces';\nimport { ChatterMessageService } from 'src/services/chatter-message.service';\nimport chatterQueueOptionsDatabase from './chatter-queue-options-database';\n\n@Injectable()\nexport class ChatterQueueSubscriberDatabase extends DatabaseSubscriber<AuditQueuePayload> {\n private readonly chatterLogger = new Logger(ChatterQueueSubscriberDatabase.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n readonly poller: PollerService,\n private readonly chatterMessageService: ChatterMessageService,\n ) {\n super(mqMessageService, mqMessageQueueService, poller);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...chatterQueueOptionsDatabase\n };\n }\n\n async subscribe(message: QueueMessage<AuditQueuePayload>) {\n const p = message.payload;\n this.chatterLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);\n\n switch (p.eventType) {\n case 'insert':\n await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName, false, p.userId);\n break;\n case 'update':\n await this.chatterMessageService.postAuditMessageOnUpdate(\n p.after,\n p.modelName,\n p.before,\n (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })),\n false,\n p.userId,\n );\n break;\n case 'delete':\n await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before, false, p.userId);\n break;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-queue-subscriber.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/chatter-queue-subscriber.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,qBACa,8BAA+B,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAIjF,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAL1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;gBAGpE,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EACpC,qBAAqB,EAAE,qBAAqB;IAKjE,OAAO,IAAI,mBAAmB;IAMxB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC;CAqB3D"}
1
+ {"version":3,"file":"chatter-queue-subscriber.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/chatter-queue-subscriber.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,qBACa,8BAA+B,SAAQ,kBAAkB,CAAC,iBAAiB,CAAC;IAIjF,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAL1C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmD;gBAGpE,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EACpC,qBAAqB,EAAE,qBAAqB;IAKjE,OAAO,IAAI,mBAAmB;IAMxB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC;CAuB3D"}
@@ -38,13 +38,13 @@ let ChatterQueueSubscriberRabbitmq = ChatterQueueSubscriberRabbitmq_1 = class Ch
38
38
  this.chatterLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);
39
39
  switch (p.eventType) {
40
40
  case 'insert':
41
- await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName);
41
+ await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName, false, p.userId);
42
42
  break;
43
43
  case 'update':
44
- await this.chatterMessageService.postAuditMessageOnUpdate(p.after, p.modelName, p.before, (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })));
44
+ await this.chatterMessageService.postAuditMessageOnUpdate(p.after, p.modelName, p.before, (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })), false, p.userId);
45
45
  break;
46
46
  case 'delete':
47
- await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before);
47
+ await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before, false, p.userId);
48
48
  break;
49
49
  }
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-queue-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/chatter-queue-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,mGAAqF;AAErF,0EAAqE;AACrE,sFAAgF;AAEhF,oFAA0D;AAE1D,oFAA6E;AAGtE,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,gDAAqC;IAGrF,YACa,gBAAkC,EAClC,qBAA4C,EACpC,qBAA4C;QAE7D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QACpC,0BAAqB,GAArB,qBAAqB,CAAuB;QALhD,kBAAa,GAAG,IAAI,eAAM,CAAC,gCAA8B,CAAC,IAAI,CAAC,CAAC;IAQjF,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,+BAAmB;SACzB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwC;QACpD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpF,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;gBAChF,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CACrD,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAC/D,CAAC;gBACF,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACjF,MAAM;QACd,CAAC;IACL,CAAC;CACJ,CAAA;AAtCY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAKsB,qCAAgB;QACX,gDAAqB;QACb,+CAAqB;GANxD,8BAA8B,CAsC1C","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport chatterQueueOptions from './chatter-queue-options';\nimport { AuditQueuePayload } from '../../interfaces';\nimport { ChatterMessageService } from 'src/services/chatter-message.service';\n\n@Injectable()\nexport class ChatterQueueSubscriberRabbitmq extends RabbitMqSubscriber<AuditQueuePayload> {\n private readonly chatterLogger = new Logger(ChatterQueueSubscriberRabbitmq.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n private readonly chatterMessageService: ChatterMessageService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...chatterQueueOptions\n }\n }\n\n async subscribe(message: QueueMessage<AuditQueuePayload>) {\n const p = message.payload;\n this.chatterLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);\n\n switch (p.eventType) {\n case 'insert':\n await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName);\n break;\n case 'update':\n await this.chatterMessageService.postAuditMessageOnUpdate(\n p.after,\n p.modelName,\n p.before,\n (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })),\n );\n break;\n case 'delete':\n await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before);\n break;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"chatter-queue-subscriber.service.js","sourceRoot":"","sources":["../../../src/jobs/rabbitmq/chatter-queue-subscriber.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,mGAAqF;AAErF,0EAAqE;AACrE,sFAAgF;AAEhF,oFAA0D;AAE1D,oFAA6E;AAGtE,IAAM,8BAA8B,sCAApC,MAAM,8BAA+B,SAAQ,gDAAqC;IAGrF,YACa,gBAAkC,EAClC,qBAA4C,EACpC,qBAA4C;QAE7D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QACpC,0BAAqB,GAArB,qBAAqB,CAAuB;QALhD,kBAAa,GAAG,IAAI,eAAM,CAAC,gCAA8B,CAAC,IAAI,CAAC,CAAC;IAQjF,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,+BAAmB;SACzB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwC;QACpD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEpF,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACjG,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CACrD,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5D,KAAK,EACL,CAAC,CAAC,MAAM,CACX,CAAC;gBACF,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAClG,MAAM;QACd,CAAC;IACL,CAAC;CACJ,CAAA;AAxCY,wEAA8B;yCAA9B,8BAA8B;IAD1C,IAAA,mBAAU,GAAE;qCAKsB,qCAAgB;QACX,gDAAqB;QACb,+CAAqB;GANxD,8BAA8B,CAwC1C","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { RabbitMqSubscriber } from 'src/services/queues/rabbitmq-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport chatterQueueOptions from './chatter-queue-options';\nimport { AuditQueuePayload } from '../../interfaces';\nimport { ChatterMessageService } from 'src/services/chatter-message.service';\n\n@Injectable()\nexport class ChatterQueueSubscriberRabbitmq extends RabbitMqSubscriber<AuditQueuePayload> {\n private readonly chatterLogger = new Logger(ChatterQueueSubscriberRabbitmq.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n private readonly chatterMessageService: ChatterMessageService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...chatterQueueOptions\n }\n }\n\n async subscribe(message: QueueMessage<AuditQueuePayload>) {\n const p = message.payload;\n this.chatterLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);\n\n switch (p.eventType) {\n case 'insert':\n await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName, false, p.userId);\n break;\n case 'update':\n await this.chatterMessageService.postAuditMessageOnUpdate(\n p.after,\n p.modelName,\n p.before,\n (p.updatedColumnNames ?? []).map(n => ({ propertyName: n })),\n false,\n p.userId,\n );\n break;\n case 'delete':\n await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before, false, p.userId);\n break;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-queue-subscriber-redis.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/redis/chatter-queue-subscriber-redis.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,qBACa,2BAA4B,SAAQ,eAAe,CAAC,GAAG,CAAC;IAI7D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAL1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgD;gBAGtE,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EACpC,qBAAqB,EAAE,qBAAqB;IAKjE,OAAO,IAAI,mBAAmB;IAMxB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC;CAgB3D"}
1
+ {"version":3,"file":"chatter-queue-subscriber-redis.service.d.ts","sourceRoot":"","sources":["../../../src/jobs/redis/chatter-queue-subscriber-redis.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,qBACa,2BAA4B,SAAQ,eAAe,CAAC,GAAG,CAAC;IAI7D,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAL1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAgD;gBAGtE,gBAAgB,EAAE,gBAAgB,EAClC,qBAAqB,EAAE,qBAAqB,EACpC,qBAAqB,EAAE,qBAAqB;IAKjE,OAAO,IAAI,mBAAmB;IAMxB,SAAS,CAAC,OAAO,EAAE,YAAY,CAAC,iBAAiB,CAAC;CAuB3D"}
@@ -38,13 +38,13 @@ let ChatterQueueSubscriberRedis = ChatterQueueSubscriberRedis_1 = class ChatterQ
38
38
  this.chatterQueueLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);
39
39
  switch (p.eventType) {
40
40
  case 'insert':
41
- await this.chatterMessageService.postAuditMessageOnInsert(p.after, { name: p.modelName });
41
+ await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName, false, p.userId);
42
42
  break;
43
43
  case 'update':
44
- await this.chatterMessageService.postAuditMessageOnUpdate(p.after, { name: p.modelName }, p.before, (p.updatedColumnNames || []).map(n => ({ propertyName: n })));
44
+ await this.chatterMessageService.postAuditMessageOnUpdate(p.after, p.modelName, p.before, (p.updatedColumnNames || []).map(n => ({ propertyName: n })), false, p.userId);
45
45
  break;
46
46
  case 'delete':
47
- await this.chatterMessageService.postAuditMessageOnDelete(p.before, { name: p.modelName }, p.before);
47
+ await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before, false, p.userId);
48
48
  break;
49
49
  }
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"chatter-queue-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/chatter-queue-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,6FAA+E;AAE/E,gGAA+D;AAC/D,0EAAqE;AACrE,sFAAgF;AAGhF,oFAA+E;AAGxE,IAAM,2BAA2B,mCAAjC,MAAM,2BAA4B,SAAQ,0CAAoB;IAGjE,YACa,gBAAkC,EAClC,qBAA4C,EACpC,qBAA4C;QAE7D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QACpC,0BAAqB,GAArB,qBAAqB,CAAuB;QALhD,uBAAkB,GAAG,IAAI,eAAM,CAAC,6BAA2B,CAAC,IAAI,CAAC,CAAC;IAQnF,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,qCAAkB;SACxB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwC;QACpD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAS,CAAC,CAAC;gBACjG,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzK,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,EAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC5G,MAAM;QACd,CAAC;IACL,CAAC;CACJ,CAAA;AAjCY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAKsB,qCAAgB;QACX,gDAAqB;QACb,+CAAqB;GANxD,2BAA2B,CAiCvC","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { RedisSubscriber } from 'src/services/queues/redis-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport chatterQueueConfig from './chatter-queue-options-redis';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { AuditQueuePayload } from '../../interfaces';\nimport { ChatterMessageService } from '../../services/chatter-message.service';\n\n@Injectable()\nexport class ChatterQueueSubscriberRedis extends RedisSubscriber<any> {\n private readonly chatterQueueLogger = new Logger(ChatterQueueSubscriberRedis.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n private readonly chatterMessageService: ChatterMessageService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...chatterQueueConfig\n }\n }\n\n async subscribe(message: QueueMessage<AuditQueuePayload>) {\n const p = message.payload;\n this.chatterQueueLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);\n\n switch (p.eventType) {\n case 'insert':\n await this.chatterMessageService.postAuditMessageOnInsert(p.after, { name: p.modelName } as any);\n break;\n case 'update':\n await this.chatterMessageService.postAuditMessageOnUpdate(p.after, { name: p.modelName } as any, p.before, (p.updatedColumnNames || []).map(n => ({ propertyName: n })));\n break;\n case 'delete':\n await this.chatterMessageService.postAuditMessageOnDelete(p.before, { name: p.modelName } as any, p.before);\n break;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"chatter-queue-subscriber-redis.service.js","sourceRoot":"","sources":["../../../src/jobs/redis/chatter-queue-subscriber-redis.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,6FAA+E;AAE/E,gGAA+D;AAC/D,0EAAqE;AACrE,sFAAgF;AAGhF,oFAA+E;AAGxE,IAAM,2BAA2B,mCAAjC,MAAM,2BAA4B,SAAQ,0CAAoB;IAGjE,YACa,gBAAkC,EAClC,qBAA4C,EACpC,qBAA4C;QAE7D,KAAK,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAJtC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,0BAAqB,GAArB,qBAAqB,CAAuB;QACpC,0BAAqB,GAArB,qBAAqB,CAAuB;QALhD,uBAAkB,GAAG,IAAI,eAAM,CAAC,6BAA2B,CAAC,IAAI,CAAC,CAAC;IAQnF,CAAC;IAED,OAAO;QACH,OAAO;YACH,GAAG,qCAAkB;SACxB,CAAA;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAwC;QACpD,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QAC1B,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEzF,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACjG,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CACrD,CAAC,CAAC,KAAK,EACP,CAAC,CAAC,SAAS,EACX,CAAC,CAAC,MAAM,EACR,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5D,KAAK,EACL,CAAC,CAAC,MAAM,CACX,CAAC;gBACF,MAAM;YACV,KAAK,QAAQ;gBACT,MAAM,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAClG,MAAM;QACd,CAAC;IACL,CAAC;CACJ,CAAA;AAxCY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAKsB,qCAAgB;QACX,gDAAqB;QACb,+CAAqB;GANxD,2BAA2B,CAwCvC","sourcesContent":["import { Injectable, Logger } from '@nestjs/common';\n\nimport { RedisSubscriber } from 'src/services/queues/redis-subscriber.service';\nimport { QueueMessage } from 'src/interfaces/mq';\nimport chatterQueueConfig from './chatter-queue-options-redis';\nimport { MqMessageService } from '../../services/mq-message.service';\nimport { MqMessageQueueService } from '../../services/mq-message-queue.service';\nimport { QueuesModuleOptions } from \"../../interfaces\";\nimport { AuditQueuePayload } from '../../interfaces';\nimport { ChatterMessageService } from '../../services/chatter-message.service';\n\n@Injectable()\nexport class ChatterQueueSubscriberRedis extends RedisSubscriber<any> {\n private readonly chatterQueueLogger = new Logger(ChatterQueueSubscriberRedis.name);\n\n constructor(\n readonly mqMessageService: MqMessageService,\n readonly mqMessageQueueService: MqMessageQueueService,\n private readonly chatterMessageService: ChatterMessageService,\n ) {\n super(mqMessageService, mqMessageQueueService);\n }\n\n options(): QueuesModuleOptions {\n return {\n ...chatterQueueConfig\n }\n }\n\n async subscribe(message: QueueMessage<AuditQueuePayload>) {\n const p = message.payload;\n this.chatterQueueLogger.debug(`Audit event ${p.eventType} ${p.modelName}#${p.entityId}`);\n\n switch (p.eventType) {\n case 'insert':\n await this.chatterMessageService.postAuditMessageOnInsert(p.after, p.modelName, false, p.userId);\n break;\n case 'update':\n await this.chatterMessageService.postAuditMessageOnUpdate(\n p.after,\n p.modelName,\n p.before,\n (p.updatedColumnNames || []).map(n => ({ propertyName: n })),\n false,\n p.userId,\n );\n break;\n case 'delete':\n await this.chatterMessageService.postAuditMessageOnDelete(p.modelName, p.before, false, p.userId);\n break;\n }\n }\n}\n"]}
@@ -5,6 +5,7 @@ export declare class ModuleTestDataService {
5
5
  private readonly discoveryService;
6
6
  private readonly solidRegistry;
7
7
  private readonly logger;
8
+ private static readonly TEARDOWN_RETRY_ATTEMPTS;
8
9
  constructor(moduleRef: ModuleRef, discoveryService: DiscoveryService, solidRegistry: SolidRegistry);
9
10
  setupTestData(modulesToTest?: string[]): Promise<void>;
10
11
  createTestDatasources(): Promise<void>;
@@ -27,6 +28,12 @@ export declare class ModuleTestDataService {
27
28
  private resolveDataSourceByName;
28
29
  private updateTestManifest;
29
30
  private dropTestDatabaseObjects;
31
+ private dropTestDatabaseObjectsWithRetry;
32
+ private teardownRetryDelayMs;
33
+ private sleep;
34
+ private dropSingleTestDatabaseObject;
35
+ private dropPostgresDatabase;
36
+ private resolvePostgresMaintenanceDatabase;
30
37
  private dropMssqlSchema;
31
38
  }
32
39
  //# sourceMappingURL=module-test-data.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module-test-data.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-test-data.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAY3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAU3D,qBACa,qBAAqB;IAI9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IALhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;gBAG9C,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa;IAGzC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqEtC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD5C,OAAO,KAAK,aAAa,GAexB;YAEa,YAAY;YA4HZ,aAAa;YAoCb,qBAAqB;YA6BrB,aAAa;YAmBb,kBAAkB;YAsDlB,eAAe;IAsD7B,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,oBAAoB,GAE/B;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,oBAAoB;YA4Bd,yBAAyB;IA6BvC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,kBAAkB;YAmCZ,uBAAuB;YA4BvB,eAAe;CA4B9B"}
1
+ {"version":3,"file":"module-test-data.service.d.ts","sourceRoot":"","sources":["../../src/seeders/module-test-data.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAY3D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAU3D,qBACa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa;IANhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAK;gBAGjC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa;IAGzC,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtD,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqEtC,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD5C,OAAO,KAAK,aAAa,GAexB;YAEa,YAAY;YA4HZ,aAAa;YAoCb,qBAAqB;YA6BrB,aAAa;YAmBb,kBAAkB;YAsDlB,eAAe;IAsD7B,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,KAAK,oBAAoB,GAE/B;IAED,OAAO,KAAK,eAAe,GAE1B;IAED,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,oBAAoB;YA4Bd,yBAAyB;IA6BvC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,kBAAkB;YAmCZ,uBAAuB;YAOvB,gCAAgC;IAsB9C,OAAO,CAAC,oBAAoB;YAOd,KAAK;YAIL,4BAA4B;YA2B5B,oBAAoB;IAsClC,OAAO,CAAC,kCAAkC;YAc5B,eAAe;CA4B9B"}
@@ -599,31 +599,106 @@ let ModuleTestDataService = ModuleTestDataService_1 = class ModuleTestDataServic
599
599
  async dropTestDatabaseObjects(databases) {
600
600
  const entries = Object.entries(databases);
601
601
  for (const [dsName, dbName] of entries) {
602
- const dataSource = this.resolveDataSourceByName(dsName);
603
- if (!dataSource.isInitialized) {
604
- await dataSource.initialize();
605
- }
606
- console.log(`Dropping test database/schema "${dbName}" on datasource "${dsName}"...`);
607
- const queryRunner = dataSource.createQueryRunner();
602
+ await this.dropTestDatabaseObjectsWithRetry(dsName, dbName);
603
+ }
604
+ }
605
+ async dropTestDatabaseObjectsWithRetry(dsName, dbName) {
606
+ let lastError;
607
+ for (let attempt = 1; attempt <= ModuleTestDataService_1.TEARDOWN_RETRY_ATTEMPTS; attempt += 1) {
608
+ console.log(`Attempting to tear down "${dbName}" on datasource "${dsName}" (${attempt}/${ModuleTestDataService_1.TEARDOWN_RETRY_ATTEMPTS})...`);
608
609
  try {
609
- const type = dataSource.options.type;
610
- if (type === 'postgres') {
611
- await queryRunner.query(`DROP DATABASE IF EXISTS "${dbName}"`);
612
- }
613
- else if (type === 'mssql') {
614
- await this.dropMssqlSchema(queryRunner, dbName);
615
- }
616
- else if (type === 'mysql' || type === 'mariadb') {
617
- await queryRunner.query(`DROP DATABASE IF EXISTS \`${dbName}\``);
618
- }
619
- else {
620
- throw new Error(`Unsupported database type for test data deletion: ${type}`);
610
+ await this.dropSingleTestDatabaseObject(dsName, dbName);
611
+ return;
612
+ }
613
+ catch (error) {
614
+ lastError = error;
615
+ if (attempt >= ModuleTestDataService_1.TEARDOWN_RETRY_ATTEMPTS) {
616
+ throw error;
621
617
  }
618
+ await this.sleep(this.teardownRetryDelayMs(attempt));
619
+ }
620
+ }
621
+ throw lastError instanceof Error ? lastError : new Error(String(lastError));
622
+ }
623
+ teardownRetryDelayMs(attempt) {
624
+ const baseMs = 500;
625
+ const incrementMs = 350;
626
+ const jitterMs = Math.floor(Math.random() * 250);
627
+ return baseMs + ((attempt - 1) * incrementMs) + jitterMs;
628
+ }
629
+ async sleep(ms) {
630
+ await new Promise((resolve) => setTimeout(resolve, ms));
631
+ }
632
+ async dropSingleTestDatabaseObject(dsName, dbName) {
633
+ const dataSource = this.resolveDataSourceByName(dsName);
634
+ if (dataSource.options.type === 'postgres') {
635
+ await this.dropPostgresDatabase(dataSource, dbName);
636
+ return;
637
+ }
638
+ if (!dataSource.isInitialized) {
639
+ await dataSource.initialize();
640
+ }
641
+ const queryRunner = dataSource.createQueryRunner();
642
+ try {
643
+ const type = dataSource.options.type;
644
+ if (type === 'mssql') {
645
+ await this.dropMssqlSchema(queryRunner, dbName);
646
+ }
647
+ else if (type === 'mysql' || type === 'mariadb') {
648
+ await queryRunner.query(`DROP DATABASE IF EXISTS \`${dbName}\``);
649
+ }
650
+ else {
651
+ throw new Error(`Unsupported database type for test data deletion: ${type}`);
652
+ }
653
+ }
654
+ finally {
655
+ await queryRunner.release();
656
+ }
657
+ }
658
+ async dropPostgresDatabase(dataSource, dbName) {
659
+ if (dataSource.isInitialized) {
660
+ await dataSource.destroy();
661
+ }
662
+ const adminDataSource = new typeorm_2.DataSource({
663
+ ...dataSource.options,
664
+ database: this.resolvePostgresMaintenanceDatabase(dataSource),
665
+ name: `${String(dataSource.name ?? 'default')}_teardown_admin_${Date.now()}`,
666
+ synchronize: false,
667
+ migrationsRun: false,
668
+ entities: [],
669
+ subscribers: [],
670
+ migrations: [],
671
+ });
672
+ try {
673
+ await adminDataSource.initialize();
674
+ const queryRunner = adminDataSource.createQueryRunner();
675
+ try {
676
+ await queryRunner.query(`SELECT pg_terminate_backend(pid)
677
+ FROM pg_stat_activity
678
+ WHERE datname = $1
679
+ AND pid <> pg_backend_pid()`, [dbName]);
680
+ await queryRunner.query(`DROP DATABASE IF EXISTS "${dbName}"`);
622
681
  }
623
682
  finally {
624
683
  await queryRunner.release();
625
684
  }
626
685
  }
686
+ finally {
687
+ if (adminDataSource.isInitialized) {
688
+ await adminDataSource.destroy();
689
+ }
690
+ }
691
+ }
692
+ resolvePostgresMaintenanceDatabase(dataSource) {
693
+ const configured = process.env.POSTGRES_MAINTENANCE_DATABASE?.trim();
694
+ if (configured) {
695
+ return configured;
696
+ }
697
+ const currentDb = String(dataSource.options?.database ?? '').trim();
698
+ if (currentDb && currentDb !== 'postgres') {
699
+ return 'postgres';
700
+ }
701
+ return 'template1';
627
702
  }
628
703
  async dropMssqlSchema(queryRunner, schemaName) {
629
704
  const foreignKeys = await queryRunner.query(`SELECT fk.name AS fk_name, t.name AS table_name
@@ -646,6 +721,7 @@ let ModuleTestDataService = ModuleTestDataService_1 = class ModuleTestDataServic
646
721
  }
647
722
  };
648
723
  exports.ModuleTestDataService = ModuleTestDataService;
724
+ ModuleTestDataService.TEARDOWN_RETRY_ATTEMPTS = 5;
649
725
  exports.ModuleTestDataService = ModuleTestDataService = ModuleTestDataService_1 = __decorate([
650
726
  (0, common_1.Injectable)(),
651
727
  __metadata("design:paramtypes", [core_1.ModuleRef,