@solidstarters/solid-core 1.2.161 → 1.2.165

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 (191) hide show
  1. package/dist/commands/ingest.command.d.ts +16 -0
  2. package/dist/commands/ingest.command.d.ts.map +1 -0
  3. package/dist/commands/ingest.command.js +50 -0
  4. package/dist/commands/ingest.command.js.map +1 -0
  5. package/dist/commands/refresh-module.command.d.ts.map +1 -1
  6. package/dist/commands/refresh-module.command.js.map +1 -1
  7. package/dist/controllers/service.controller.d.ts +16 -1
  8. package/dist/controllers/service.controller.d.ts.map +1 -1
  9. package/dist/controllers/service.controller.js +55 -2
  10. package/dist/controllers/service.controller.js.map +1 -1
  11. package/dist/controllers/test-queue.controller.d.ts +1 -1
  12. package/dist/controllers/test-queue.controller.d.ts.map +1 -1
  13. package/dist/controllers/test-queue.controller.js +6 -4
  14. package/dist/controllers/test-queue.controller.js.map +1 -1
  15. package/dist/controllers/test.controller.d.ts +6 -1
  16. package/dist/controllers/test.controller.d.ts.map +1 -1
  17. package/dist/controllers/test.controller.js +21 -3
  18. package/dist/controllers/test.controller.js.map +1 -1
  19. package/dist/entities/common.entity.d.ts.map +1 -1
  20. package/dist/entities/common.entity.js +14 -2
  21. package/dist/entities/common.entity.js.map +1 -1
  22. package/dist/entities/user.entity.d.ts.map +1 -1
  23. package/dist/entities/user.entity.js +11 -1
  24. package/dist/entities/user.entity.js.map +1 -1
  25. package/dist/helpers/error-mapper.service.d.ts +8 -0
  26. package/dist/helpers/error-mapper.service.d.ts.map +1 -0
  27. package/dist/helpers/error-mapper.service.js +108 -0
  28. package/dist/helpers/error-mapper.service.js.map +1 -0
  29. package/dist/jobs/chatter-queue-options.d.ts +8 -0
  30. package/dist/jobs/chatter-queue-options.d.ts.map +1 -0
  31. package/dist/jobs/chatter-queue-options.js +10 -0
  32. package/dist/jobs/chatter-queue-options.js.map +1 -0
  33. package/dist/jobs/chatter-queue-publisher.service.d.ts +22 -0
  34. package/dist/jobs/chatter-queue-publisher.service.d.ts.map +1 -0
  35. package/dist/jobs/chatter-queue-publisher.service.js +39 -0
  36. package/dist/jobs/chatter-queue-publisher.service.js.map +1 -0
  37. package/dist/jobs/chatter-queue-subscriber.service.d.ts +17 -0
  38. package/dist/jobs/chatter-queue-subscriber.service.d.ts.map +1 -0
  39. package/dist/jobs/chatter-queue-subscriber.service.js +59 -0
  40. package/dist/jobs/chatter-queue-subscriber.service.js.map +1 -0
  41. package/dist/jobs/{database/computed-field-evaluation-publisher.service.d.ts → computed-field-evaluation-publisher.service.d.ts} +2 -2
  42. package/dist/jobs/computed-field-evaluation-publisher.service.d.ts.map +1 -0
  43. package/dist/jobs/{database/computed-field-evaluation-publisher.service.js → computed-field-evaluation-publisher.service.js} +8 -8
  44. package/dist/jobs/computed-field-evaluation-publisher.service.js.map +1 -0
  45. package/dist/jobs/{database/computed-field-evaluation-queue-options.d.ts → computed-field-evaluation-queue-options.d.ts} +1 -1
  46. package/dist/jobs/computed-field-evaluation-queue-options.d.ts.map +1 -0
  47. package/dist/jobs/{database/computed-field-evaluation-queue-options.js → computed-field-evaluation-queue-options.js} +2 -2
  48. package/dist/jobs/computed-field-evaluation-queue-options.js.map +1 -0
  49. package/dist/jobs/{database/computed-field-evaluation-subscriber.service.d.ts → computed-field-evaluation-subscriber.service.d.ts} +3 -3
  50. package/dist/jobs/computed-field-evaluation-subscriber.service.d.ts.map +1 -0
  51. package/dist/jobs/computed-field-evaluation-subscriber.service.js +51 -0
  52. package/dist/jobs/computed-field-evaluation-subscriber.service.js.map +1 -0
  53. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.d.ts +12 -0
  54. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.d.ts.map +1 -0
  55. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.js +39 -0
  56. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.js.map +1 -0
  57. package/dist/jobs/database/computed-field-evaluation-queue-options-database.d.ts +8 -0
  58. package/dist/jobs/database/computed-field-evaluation-queue-options-database.d.ts.map +1 -0
  59. package/dist/jobs/database/computed-field-evaluation-queue-options-database.js +10 -0
  60. package/dist/jobs/database/computed-field-evaluation-queue-options-database.js.map +1 -0
  61. package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.d.ts +18 -0
  62. package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.d.ts.map +1 -0
  63. package/dist/jobs/database/{computed-field-evaluation-subscriber.service.js → computed-field-evaluation-subscriber-database.service.js} +8 -8
  64. package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.js.map +1 -0
  65. package/dist/jobs/database/generate-code-queue-options-database.js +2 -2
  66. package/dist/jobs/database/generate-code-queue-options-database.js.map +1 -1
  67. package/dist/jobs/database/test-queue-subscriber-database.service.d.ts.map +1 -1
  68. package/dist/jobs/database/test-queue-subscriber-database.service.js +7 -1
  69. package/dist/jobs/database/test-queue-subscriber-database.service.js.map +1 -1
  70. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  71. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +4 -2
  72. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  73. package/dist/jobs/generate-code-publisher.service.d.ts +11 -0
  74. package/dist/jobs/generate-code-publisher.service.d.ts.map +1 -0
  75. package/dist/jobs/generate-code-publisher.service.js +39 -0
  76. package/dist/jobs/generate-code-publisher.service.js.map +1 -0
  77. package/dist/jobs/generate-code-queue-options.d.ts +8 -0
  78. package/dist/jobs/generate-code-queue-options.d.ts.map +1 -0
  79. package/dist/jobs/generate-code-queue-options.js +10 -0
  80. package/dist/jobs/generate-code-queue-options.js.map +1 -0
  81. package/dist/jobs/generate-code-subscriber.service.d.ts +18 -0
  82. package/dist/jobs/generate-code-subscriber.service.d.ts.map +1 -0
  83. package/dist/jobs/generate-code-subscriber.service.js +70 -0
  84. package/dist/jobs/generate-code-subscriber.service.js.map +1 -0
  85. package/dist/jobs/test-queue-subscriber.service.d.ts +1 -1
  86. package/dist/jobs/test-queue-subscriber.service.d.ts.map +1 -1
  87. package/dist/jobs/test-queue-subscriber.service.js +9 -6
  88. package/dist/jobs/test-queue-subscriber.service.js.map +1 -1
  89. package/dist/jobs/trigger-mcp-client-publisher.service.d.ts +11 -0
  90. package/dist/jobs/trigger-mcp-client-publisher.service.d.ts.map +1 -0
  91. package/dist/jobs/trigger-mcp-client-publisher.service.js +39 -0
  92. package/dist/jobs/trigger-mcp-client-publisher.service.js.map +1 -0
  93. package/dist/jobs/trigger-mcp-client-queue-options.d.ts +8 -0
  94. package/dist/jobs/trigger-mcp-client-queue-options.d.ts.map +1 -0
  95. package/dist/jobs/trigger-mcp-client-queue-options.js +10 -0
  96. package/dist/jobs/trigger-mcp-client-queue-options.js.map +1 -0
  97. package/dist/jobs/trigger-mcp-client-subscriber.service.d.ts +18 -0
  98. package/dist/jobs/trigger-mcp-client-subscriber.service.d.ts.map +1 -0
  99. package/dist/jobs/trigger-mcp-client-subscriber.service.js +103 -0
  100. package/dist/jobs/trigger-mcp-client-subscriber.service.js.map +1 -0
  101. package/dist/jobs/twilio-sms-publisher.service.d.ts +11 -0
  102. package/dist/jobs/twilio-sms-publisher.service.d.ts.map +1 -0
  103. package/dist/jobs/twilio-sms-publisher.service.js +39 -0
  104. package/dist/jobs/twilio-sms-publisher.service.js.map +1 -0
  105. package/dist/jobs/twilio-sms-queue-options.d.ts +8 -0
  106. package/dist/jobs/twilio-sms-queue-options.d.ts.map +1 -0
  107. package/dist/jobs/twilio-sms-queue-options.js +10 -0
  108. package/dist/jobs/twilio-sms-queue-options.js.map +1 -0
  109. package/dist/jobs/twilio-sms-subscriber.service.d.ts +17 -0
  110. package/dist/jobs/twilio-sms-subscriber.service.d.ts.map +1 -0
  111. package/dist/jobs/twilio-sms-subscriber.service.js +48 -0
  112. package/dist/jobs/twilio-sms-subscriber.service.js.map +1 -0
  113. package/dist/seeders/seed-data/solid-core-metadata.json +21 -0
  114. package/dist/services/genai/ingest-metadata.service.d.ts +38 -0
  115. package/dist/services/genai/ingest-metadata.service.d.ts.map +1 -0
  116. package/dist/services/genai/ingest-metadata.service.js +530 -0
  117. package/dist/services/genai/ingest-metadata.service.js.map +1 -0
  118. package/dist/services/genai/r2r-helper.service.d.ts +7 -0
  119. package/dist/services/genai/r2r-helper.service.d.ts.map +1 -0
  120. package/dist/services/genai/r2r-helper.service.js +36 -0
  121. package/dist/services/genai/r2r-helper.service.js.map +1 -0
  122. package/dist/services/queues/database-publisher.service.js +2 -2
  123. package/dist/services/queues/database-publisher.service.js.map +1 -1
  124. package/dist/services/queues/database-subscriber.service.d.ts.map +1 -1
  125. package/dist/services/queues/database-subscriber.service.js +2 -1
  126. package/dist/services/queues/database-subscriber.service.js.map +1 -1
  127. package/dist/services/queues/publisher-factory.service.js +1 -1
  128. package/dist/services/queues/publisher-factory.service.js.map +1 -1
  129. package/dist/services/setting.service.d.ts.map +1 -1
  130. package/dist/services/setting.service.js +38 -20
  131. package/dist/services/setting.service.js.map +1 -1
  132. package/dist/solid-core.module.d.ts.map +1 -1
  133. package/dist/solid-core.module.js +29 -4
  134. package/dist/solid-core.module.js.map +1 -1
  135. package/dist/subscribers/audit.subscriber.d.ts +8 -0
  136. package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
  137. package/dist/subscribers/audit.subscriber.js +52 -3
  138. package/dist/subscribers/audit.subscriber.js.map +1 -1
  139. package/dist/subscribers/computed-entity-field.subscriber.d.ts +3 -3
  140. package/dist/subscribers/computed-entity-field.subscriber.d.ts.map +1 -1
  141. package/dist/subscribers/computed-entity-field.subscriber.js +5 -7
  142. package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
  143. package/dist/tsconfig.tsbuildinfo +1 -1
  144. package/package.json +2 -1
  145. package/src/commands/ingest-rag-chunking-strategy-for.md +224 -0
  146. package/src/commands/ingest.command.ts +36 -0
  147. package/src/commands/refresh-module.command.ts +0 -1
  148. package/src/controllers/service.controller.ts +66 -3
  149. package/src/controllers/test-queue.controller.ts +4 -3
  150. package/src/controllers/test.controller.ts +15 -3
  151. package/src/entities/common.entity.ts +10 -0
  152. package/src/entities/user.entity.ts +33 -1
  153. package/src/helpers/error-mapper.service.ts +214 -0
  154. package/src/jobs/chatter-queue-options.ts +9 -0
  155. package/src/jobs/chatter-queue-publisher.service.ts +37 -0
  156. package/src/jobs/chatter-queue-subscriber.service.ts +46 -0
  157. package/src/jobs/computed-field-evaluation-publisher.service.ts +23 -0
  158. package/src/jobs/{database/computed-field-evaluation-queue-options.ts → computed-field-evaluation-queue-options.ts} +2 -2
  159. package/src/jobs/computed-field-evaluation-subscriber.service.ts +38 -0
  160. package/src/jobs/database/{computed-field-evaluation-publisher.service.ts → computed-field-evaluation-publisher-database.service.ts} +2 -2
  161. package/src/jobs/database/computed-field-evaluation-queue-options-database.ts +9 -0
  162. package/src/jobs/database/{computed-field-evaluation-subscriber.service.ts → computed-field-evaluation-subscriber-database.service.ts} +2 -2
  163. package/src/jobs/database/generate-code-queue-options-database.ts +2 -2
  164. package/src/jobs/database/test-queue-subscriber-database.service.ts +10 -2
  165. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +4 -2
  166. package/src/jobs/generate-code-publisher.service.ts +23 -0
  167. package/src/jobs/generate-code-queue-options.ts +9 -0
  168. package/src/jobs/generate-code-subscriber.service.ts +59 -0
  169. package/src/jobs/test-queue-subscriber.service.ts +15 -7
  170. package/src/jobs/trigger-mcp-client-publisher.service.ts +22 -0
  171. package/src/jobs/trigger-mcp-client-queue-options.ts +9 -0
  172. package/src/jobs/trigger-mcp-client-subscriber.service.ts +104 -0
  173. package/src/jobs/twilio-sms-publisher.service.ts +23 -0
  174. package/src/jobs/twilio-sms-queue-options.ts +9 -0
  175. package/src/jobs/twilio-sms-subscriber.service.ts +32 -0
  176. package/src/seeders/seed-data/solid-core-metadata.json +21 -0
  177. package/src/services/genai/ingest-metadata.service.ts +695 -0
  178. package/src/services/genai/r2r-helper.service.ts +33 -0
  179. package/src/services/queues/database-publisher.service.ts +2 -2
  180. package/src/services/queues/database-subscriber.service.ts +2 -1
  181. package/src/services/queues/publisher-factory.service.ts +1 -1
  182. package/src/services/setting.service.ts +46 -22
  183. package/src/solid-core.module.ts +41 -8
  184. package/src/subscribers/audit.subscriber.ts +235 -5
  185. package/src/subscribers/computed-entity-field.subscriber.ts +7 -5
  186. package/dist/jobs/database/computed-field-evaluation-publisher.service.d.ts.map +0 -1
  187. package/dist/jobs/database/computed-field-evaluation-publisher.service.js.map +0 -1
  188. package/dist/jobs/database/computed-field-evaluation-queue-options.d.ts.map +0 -1
  189. package/dist/jobs/database/computed-field-evaluation-queue-options.js.map +0 -1
  190. package/dist/jobs/database/computed-field-evaluation-subscriber.service.d.ts.map +0 -1
  191. package/dist/jobs/database/computed-field-evaluation-subscriber.service.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ import { CommandRunner } from 'nest-commander';
2
+ import { SolidRegistry } from 'src/helpers/solid-registry';
3
+ import { IngestMetadataService } from 'src/services/genai/ingest-metadata.service';
4
+ interface IngestCommandOptions {
5
+ module?: string;
6
+ }
7
+ export declare class IngestCommand extends CommandRunner {
8
+ private readonly solidRegistry;
9
+ private readonly ingestMetadataService;
10
+ private readonly logger;
11
+ constructor(solidRegistry: SolidRegistry, ingestMetadataService: IngestMetadataService);
12
+ run(passedParam: string[], options?: IngestCommandOptions): Promise<void>;
13
+ parseString(val: string): string;
14
+ }
15
+ export {};
16
+ //# sourceMappingURL=ingest.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest.command.d.ts","sourceRoot":"","sources":["../../src/commands/ingest.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CAEjB;AAED,qBACa,aAAc,SAAQ,aAAa;IAI5C,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAJxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;gBAGtC,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB;IAKzD,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/E,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAGjC"}
@@ -0,0 +1,50 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var IngestCommand_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.IngestCommand = void 0;
14
+ const common_1 = require("@nestjs/common");
15
+ const nest_commander_1 = require("nest-commander");
16
+ const solid_registry_1 = require("../helpers/solid-registry");
17
+ const ingest_metadata_service_1 = require("../services/genai/ingest-metadata.service");
18
+ let IngestCommand = IngestCommand_1 = class IngestCommand extends nest_commander_1.CommandRunner {
19
+ constructor(solidRegistry, ingestMetadataService) {
20
+ super();
21
+ this.solidRegistry = solidRegistry;
22
+ this.ingestMetadataService = ingestMetadataService;
23
+ this.logger = new common_1.Logger(IngestCommand_1.name);
24
+ }
25
+ async run(passedParam, options) {
26
+ this.logger.log(`Running the solid ingest for module ${options.module} at ${new Date()}`);
27
+ await this.ingestMetadataService.ingest();
28
+ }
29
+ parseString(val) {
30
+ return val;
31
+ }
32
+ };
33
+ exports.IngestCommand = IngestCommand;
34
+ __decorate([
35
+ (0, nest_commander_1.Option)({
36
+ flags: '-m, --module [module name]',
37
+ description: 'The seeder to run.',
38
+ required: false,
39
+ defaultValue: ''
40
+ }),
41
+ __metadata("design:type", Function),
42
+ __metadata("design:paramtypes", [String]),
43
+ __metadata("design:returntype", String)
44
+ ], IngestCommand.prototype, "parseString", null);
45
+ exports.IngestCommand = IngestCommand = IngestCommand_1 = __decorate([
46
+ (0, nest_commander_1.Command)({ name: 'ingest', description: 'Ingests solid metadata json for all modules deployed in the consuming project' }),
47
+ __metadata("design:paramtypes", [solid_registry_1.SolidRegistry,
48
+ ingest_metadata_service_1.IngestMetadataService])
49
+ ], IngestCommand);
50
+ //# sourceMappingURL=ingest.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingest.command.js","sourceRoot":"","sources":["../../src/commands/ingest.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAgE;AAChE,8DAA2D;AAC3D,uFAAmF;AAQ5E,IAAM,aAAa,qBAAnB,MAAM,aAAc,SAAQ,8BAAa;IAG9C,YACmB,aAA4B,EAC5B,qBAA4C;QAE7D,KAAK,EAAE,CAAC;QAHS,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAJ9C,WAAM,GAAG,IAAI,eAAM,CAAC,eAAa,CAAC,IAAI,CAAC,CAAC;IAOzD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,WAAqB,EAAE,OAA8B;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uCAAuC,OAAO,CAAC,MAAM,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAQD,WAAW,CAAC,GAAW;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;CACF,CAAA;AAxBY,sCAAa;AAqBxB;IANC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,oBAAoB;QACjC,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,EAAE;KACjB,CAAC;;;;gDAGD;wBAvBU,aAAa;IADzB,IAAA,wBAAO,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE,CAAC;qCAKtF,8BAAa;QACL,+CAAqB;GALpD,aAAa,CAwBzB","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Command, CommandRunner, Option } from 'nest-commander';\nimport { SolidRegistry } from 'src/helpers/solid-registry';\nimport { IngestMetadataService } from 'src/services/genai/ingest-metadata.service';\n\ninterface IngestCommandOptions {\n module?: string;\n // seeder?: string;\n}\n\n@Command({ name: 'ingest', description: 'Ingests solid metadata json for all modules deployed in the consuming project' })\nexport class IngestCommand extends CommandRunner {\n private readonly logger = new Logger(IngestCommand.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry,\n private readonly ingestMetadataService: IngestMetadataService,\n ) {\n super();\n }\n\n async run(passedParam: string[], options?: IngestCommandOptions): Promise<void> {\n this.logger.log(`Running the solid ingest for module ${options.module} at ${new Date()}`);\n await this.ingestMetadataService.ingest();\n }\n\n @Option({\n flags: '-m, --module [module name]',\n description: 'The seeder to run.',\n required: false,\n defaultValue: ''\n })\n parseString(val: string): string {\n return val;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-module.command.d.ts","sourceRoot":"","sources":["../../src/commands/refresh-module.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAIa,oBAAqB,SAAQ,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,qBAAqB;IAI/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAE1D,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1E,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS5B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAOjC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,EAAE;CAOlD"}
1
+ {"version":3,"file":"refresh-module.command.d.ts","sourceRoot":"","sources":["../../src/commands/refresh-module.command.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAU,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,qBAIa,oBAAqB,SAAQ,aAAa;IAEnD,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,qBAAqB;IAI/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAE1D,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB1E,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAS5B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAOjC,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,EAAE;CAOlD"}
@@ -1 +1 @@
1
- {"version":3,"file":"refresh-module.command.js","sourceRoot":"","sources":["../../src/commands/refresh-module.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAgE;AAChE,iFAA4E;AAC5E,qCAAwC;AAYjC,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,8BAAa;IACrD,YACmB,qBAA4C;QAE7D,KAAK,EAAE,CAAC;QAFS,0BAAqB,GAArB,qBAAqB,CAAuB;QAI9C,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;IADhE,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,YAAsB,EAAE,OAAwB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,qBAAqB,GAAG;YAC5B,QAAQ,EAAE,OAAO,CAAC,EAAE;YACpB,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACvE,CAAC;IAOD,OAAO,CAAC,GAAW;QACjB,OAAO,CAAC,GAAG,CAAC;IACd,CAAC;IAOD,SAAS,CAAC,GAAW;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAMD,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAID,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,qBAAY,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF,CAAA;AA1DY,oDAAoB;AA2B/B;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,6CAA6C;KAC3D,CAAC;;;;mDAGD;AAOD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,+CAA+C;KAC7D,CAAC;;;;qDAGD;AAMD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,qBAAqB;KACnC,CAAC;;;;uDAID;+BA/CU,oBAAoB;IAJhC,IAAA,wBAAO,EAAC;QACP,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,uFAAuF;KACrG,CAAC;qCAG0C,+CAAqB;GAFpD,oBAAoB,CA0DhC","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Command, CommandRunner, Option } from 'nest-commander';\nimport { ModuleMetadataService } from '../services/module-metadata.service';\nimport { CommandError } from './helper';\n\ninterface CommandOptions {\n id: number;\n name: string;\n dryRun: boolean;\n}\n\n@Command({\n name: 'refresh-module',\n description: 'Refreshes a module and its model and fields i.e (entity,dto,service,controller files)',\n})\nexport class RefreshModuleCommand extends CommandRunner {\n constructor(\n private readonly moduleMetadataService: ModuleMetadataService,\n ) {\n super();\n }\n private readonly logger = new Logger(RefreshModuleCommand.name);\n\n async run(_passedParam: string[], options?: CommandOptions): Promise<void> {\n const errors = this.validate(options);\n if (errors.length) {\n errors.forEach((error) => this.logger.error(error));\n return;\n }\n const codeGenerationOptions = {\n moduleId: options.id,\n moduleUserKey: options.name,\n dryRun: options.dryRun,\n };\n await this.moduleMetadataService.generateCode(codeGenerationOptions);\n }\n\n\n @Option({\n flags: '-i, --id [module ID]',\n description: 'Module ID from the ss_module_metadata table',\n })\n parseId(val: string): number {\n return +val;\n }\n\n // Accept the module name as an argument\n @Option({\n flags: '-n, --name [module name]',\n description: 'Module Name from the ss_module_metadata table',\n })\n parseName(val: string): string {\n return val;\n }\n\n @Option({\n flags: '-d, --dryRun [dry run]',\n description: 'Dry run the command',\n })\n parseDryRun(val: string): boolean {\n this.logger.debug(`Dry run : ${val}`);\n return (val === 'false') ? false : true;\n }\n\n\n // Validate the options passed\n validate(options: CommandOptions): CommandError[] {\n if (!options.id && !options.name) {\n return [new CommandError('Module ID or Module Name is required')];\n }\n return [];\n }\n\n}\n"]}
1
+ {"version":3,"file":"refresh-module.command.js","sourceRoot":"","sources":["../../src/commands/refresh-module.command.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAwC;AACxC,mDAAgE;AAChE,iFAA4E;AAC5E,qCAAwC;AAYjC,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,8BAAa;IACrD,YACmB,qBAA4C;QAE7D,KAAK,EAAE,CAAC;QAFS,0BAAqB,GAArB,qBAAqB,CAAuB;QAI9C,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;IADhE,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,YAAsB,EAAE,OAAwB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QACD,MAAM,qBAAqB,GAAG;YAC5B,QAAQ,EAAE,OAAO,CAAC,EAAE;YACpB,aAAa,EAAE,OAAO,CAAC,IAAI;YAC3B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC;QACF,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACvE,CAAC;IAMD,OAAO,CAAC,GAAW;QACjB,OAAO,CAAC,GAAG,CAAC;IACd,CAAC;IAOD,SAAS,CAAC,GAAW;QACnB,OAAO,GAAG,CAAC;IACb,CAAC;IAMD,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAID,QAAQ,CAAC,OAAuB;QAC9B,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,qBAAY,CAAC,sCAAsC,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CAEF,CAAA;AAzDY,oDAAoB;AA0B/B;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,6CAA6C;KAC3D,CAAC;;;;mDAGD;AAOD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,+CAA+C;KAC7D,CAAC;;;;qDAGD;AAMD;IAJC,IAAA,uBAAM,EAAC;QACN,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,qBAAqB;KACnC,CAAC;;;;uDAID;+BA9CU,oBAAoB;IAJhC,IAAA,wBAAO,EAAC;QACP,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,uFAAuF;KACrG,CAAC;qCAG0C,+CAAqB;GAFpD,oBAAoB,CAyDhC","sourcesContent":["import { Logger } from '@nestjs/common';\nimport { Command, CommandRunner, Option } from 'nest-commander';\nimport { ModuleMetadataService } from '../services/module-metadata.service';\nimport { CommandError } from './helper';\n\ninterface CommandOptions {\n id: number;\n name: string;\n dryRun: boolean;\n}\n\n@Command({\n name: 'refresh-module',\n description: 'Refreshes a module and its model and fields i.e (entity,dto,service,controller files)',\n})\nexport class RefreshModuleCommand extends CommandRunner {\n constructor(\n private readonly moduleMetadataService: ModuleMetadataService,\n ) {\n super();\n }\n private readonly logger = new Logger(RefreshModuleCommand.name);\n\n async run(_passedParam: string[], options?: CommandOptions): Promise<void> {\n const errors = this.validate(options);\n if (errors.length) {\n errors.forEach((error) => this.logger.error(error));\n return;\n }\n const codeGenerationOptions = {\n moduleId: options.id,\n moduleUserKey: options.name,\n dryRun: options.dryRun,\n };\n await this.moduleMetadataService.generateCode(codeGenerationOptions);\n }\n\n @Option({\n flags: '-i, --id [module ID]',\n description: 'Module ID from the ss_module_metadata table',\n })\n parseId(val: string): number {\n return +val;\n }\n\n // Accept the module name as an argument\n @Option({\n flags: '-n, --name [module name]',\n description: 'Module Name from the ss_module_metadata table',\n })\n parseName(val: string): string {\n return val;\n }\n\n @Option({\n flags: '-d, --dryRun [dry run]',\n description: 'Dry run the command',\n })\n parseDryRun(val: string): boolean {\n this.logger.debug(`Dry run : ${val}`);\n return (val === 'false') ? false : true;\n }\n\n\n // Validate the options passed\n validate(options: CommandOptions): CommandError[] {\n if (!options.id && !options.name) {\n return [new CommandError('Module ID or Module Name is required')];\n }\n return [];\n }\n\n}\n"]}
@@ -1,11 +1,26 @@
1
1
  import { SolidRegistry } from '../helpers/solid-registry';
2
+ import { ActiveUserData } from 'src/interfaces/active-user-data.interface';
3
+ import { AiInteractionService } from 'src/services/ai-interaction.service';
4
+ import { MqMessageService } from 'src/services/mq-message.service';
5
+ import { ErrorMapperService } from 'src/helpers/error-mapper.service';
2
6
  export declare class ServiceController {
3
7
  private readonly solidRegistry;
8
+ private readonly aiInteractionService;
9
+ private readonly mqMessageService;
10
+ private readonly errorMapper;
4
11
  private readonly logger;
5
- constructor(solidRegistry: SolidRegistry);
12
+ constructor(solidRegistry: SolidRegistry, aiInteractionService: AiInteractionService, mqMessageService: MqMessageService, errorMapper: ErrorMapperService);
6
13
  pingPong(): {
7
14
  pong: string;
8
15
  };
16
+ mcpPingPong(activeUser: ActiveUserData): Promise<{
17
+ mcpPong: string;
18
+ genAiInteraction: {
19
+ status: string;
20
+ errorCode: string;
21
+ errorMessage: string;
22
+ };
23
+ }>;
9
24
  seedData(seedData: any): Promise<{
10
25
  message: string;
11
26
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"service.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/service.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAK1D,qBAIa,iBAAiB;IAItB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAHlC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAGxC,aAAa,EAAE,aAAa;IAKjD,QAAQ;;;IAOF,QAAQ,CAAS,QAAQ,EAAE,GAAG;;;CAiCvC"}
1
+ {"version":3,"file":"service.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/service.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,qBAIa,iBAAiB;IAItB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW;IANhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAGxC,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,kBAAkB;IAKpD,QAAQ;;;IAMF,WAAW,CAAe,UAAU,EAAE,cAAc;;;;;;;;IAyDpD,QAAQ,CAAS,QAAQ,EAAE,GAAG;;;CAiCvC"}
@@ -20,14 +20,55 @@ const public_decorator_1 = require("../decorators/public.decorator");
20
20
  const solid_registry_1 = require("../helpers/solid-registry");
21
21
  const swagger_1 = require("@nestjs/swagger");
22
22
  const throttler_1 = require("@nestjs/throttler");
23
+ const active_user_decorator_1 = require("../decorators/active-user.decorator");
24
+ const ai_interaction_service_1 = require("../services/ai-interaction.service");
25
+ const mq_message_service_1 = require("../services/mq-message.service");
26
+ const error_mapper_service_1 = require("../helpers/error-mapper.service");
23
27
  let ServiceController = ServiceController_1 = class ServiceController {
24
- constructor(solidRegistry) {
28
+ constructor(solidRegistry, aiInteractionService, mqMessageService, errorMapper) {
25
29
  this.solidRegistry = solidRegistry;
30
+ this.aiInteractionService = aiInteractionService;
31
+ this.mqMessageService = mqMessageService;
32
+ this.errorMapper = errorMapper;
26
33
  this.logger = new common_1.Logger(ServiceController_1.name);
27
34
  }
28
35
  pingPong() {
29
36
  return { pong: 'v1.0.2' };
30
37
  }
38
+ async mcpPingPong(activeUser) {
39
+ const threadId = `pingPongTxn-${activeUser.sub}`;
40
+ const { queueMessageId, aiInteractionId } = await this.aiInteractionService.triggerMcpClientJob(`Can you do 1 + 1`, activeUser.sub, true, threadId);
41
+ this.logger.debug(`mcp ping pong job triggered: queueMessageId=${queueMessageId}, aiInteractionId=${aiInteractionId}`);
42
+ const result = await this.mqMessageService.waitForTerminalStatus(queueMessageId, {
43
+ timeoutMs: 2 * 60 * 1000,
44
+ intervalMs: 500,
45
+ maxIntervalMs: 2000,
46
+ throwOnFailure: false,
47
+ });
48
+ this.logger.debug(`mcp ping pong job finished with stage=${result.stage}`);
49
+ this.logger.debug(`mcp ping pong trying to find genai (child) interaction for aiInteraction for id=${aiInteractionId}`);
50
+ const genAiInteractions = await this.aiInteractionService.find({
51
+ filters: {
52
+ parentInteraction: {
53
+ id: {
54
+ $eq: aiInteractionId
55
+ }
56
+ }
57
+ }
58
+ });
59
+ const genAiInteraction = genAiInteractions['records'][0];
60
+ this.logger.debug(genAiInteraction.message);
61
+ this.logger.debug(`identified gen-ai interaction with id=${genAiInteraction.id}`);
62
+ this.logger.debug(`proceeding with applying the gen-ai interaction`);
63
+ return {
64
+ mcpPong: 'v1.0.2',
65
+ genAiInteraction: {
66
+ status: genAiInteraction.status,
67
+ errorCode: genAiInteraction.status === 'failed' ? this.errorMapper.mapMessage(genAiInteraction.errorMessage, genAiInteraction.metadata) : '',
68
+ errorMessage: genAiInteraction.errorMessage,
69
+ }
70
+ };
71
+ }
31
72
  async seedData(seedData) {
32
73
  const seeder = this.solidRegistry
33
74
  .getSeeders()
@@ -52,6 +93,15 @@ __decorate([
52
93
  __metadata("design:paramtypes", []),
53
94
  __metadata("design:returntype", void 0)
54
95
  ], ServiceController.prototype, "pingPong", null);
96
+ __decorate([
97
+ (0, swagger_1.ApiBearerAuth)("jwt"),
98
+ (0, common_1.Get)('mcp/ping'),
99
+ openapi.ApiResponse({ status: 200 }),
100
+ __param(0, (0, active_user_decorator_1.ActiveUser)()),
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", [Object]),
103
+ __metadata("design:returntype", Promise)
104
+ ], ServiceController.prototype, "mcpPingPong", null);
55
105
  __decorate([
56
106
  (0, public_decorator_1.Public)(),
57
107
  (0, throttler_1.SkipThrottle)({ short: false, login: true, burst: true, sustained: true }),
@@ -67,6 +117,9 @@ exports.ServiceController = ServiceController = ServiceController_1 = __decorate
67
117
  (0, swagger_1.ApiTags)("Common"),
68
118
  (0, common_1.UseGuards)(throttler_1.ThrottlerGuard),
69
119
  (0, throttler_1.SkipThrottle)({ short: true, login: true, burst: true, sustained: true }),
70
- __metadata("design:paramtypes", [solid_registry_1.SolidRegistry])
120
+ __metadata("design:paramtypes", [solid_registry_1.SolidRegistry,
121
+ ai_interaction_service_1.AiInteractionService,
122
+ mq_message_service_1.MqMessageService,
123
+ error_mapper_service_1.ErrorMapperService])
71
124
  ], ServiceController);
72
125
  //# sourceMappingURL=service.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.controller.js","sourceRoot":"","sources":["../../src/controllers/service.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAgF;AAEhF,qEAAyD;AACzD,8DAA0D;AAC1D,6CAA0C;AAC1C,iDAAiE;AAO1D,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG1B,YACqB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAHhC,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAIzD,CAAC;IAIL,QAAQ;QACJ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAKK,AAAN,KAAK,CAAC,QAAQ,CAAS,QAAa;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa;aAC5B,UAAU,EAAE;aACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC;aACnD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aAChC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,qDAAqD,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,iBAAiB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3D,CAAC;CAoBJ,CAAA;AAjDY,8CAAiB;AAS1B;IAFC,IAAA,yBAAM,GAAE;IACR,IAAA,YAAG,EAAC,MAAM,CAAC;;;;;iDAGX;AAKK;IAHL,IAAA,yBAAM,GAAE;IACR,IAAA,wBAAY,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACzE,IAAA,aAAI,EAAC,MAAM,CAAC;;IACG,WAAA,IAAA,aAAI,GAAE,CAAA;;;;iDAarB;4BA7BQ,iBAAiB;IAJ7B,IAAA,mBAAU,EAAC,EAAE,CAAC;IACd,IAAA,iBAAO,EAAC,QAAQ,CAAC;IACjB,IAAA,kBAAS,EAAC,0BAAc,CAAC;IACzB,IAAA,wBAAY,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qCAKjC,8BAAa;GAJxC,iBAAiB,CAiD7B","sourcesContent":["import { Body, Controller, Get, Logger, Post, UseGuards } from '@nestjs/common';\nimport { DiscoveryService, MetadataScanner, Reflector } from '@nestjs/core';\nimport { Public } from 'src/decorators/public.decorator';\nimport { SolidRegistry } from '../helpers/solid-registry';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ThrottlerGuard, SkipThrottle } from '@nestjs/throttler';\n\n\n@Controller('')\n@ApiTags(\"Common\")\n@UseGuards(ThrottlerGuard)\n@SkipThrottle({ short: true, login: true, burst: true, sustained: true }) //Skip all\nexport class ServiceController {\n private readonly logger = new Logger(ServiceController.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry,\n ) { }\n\n @Public()\n @Get('ping')\n pingPong() {\n return { pong: 'v1.0.2' };\n }\n\n @Public()\n @SkipThrottle({ short: false, login: true, burst: true, sustained: true }) //Enable the short throttle only\n @Post('seed')\n async seedData(@Body() seedData: any) {\n const seeder = this.solidRegistry\n .getSeeders()\n .filter((seeder) => seeder.name === seedData.seeder)\n .map((seeder) => seeder.instance)\n .pop();\n if (!seeder) {\n this.logger.error(`Seeder service ${seedData.seeder} not found. Does your service have a seed() method?`);\n return;\n }\n this.logger.log(`Running the seed() method for seeder :${seeder.constructor.name}`);\n await seeder.seed();\n return { message: `seed data for ${seedData.seeder}` };\n }\n\n // @Public()\n // @Get('play')\n // play() {\n // return this.solidRegistry.getControllers();\n // }\n\n // //This method identifies a provider as a seeder if it has a seed method i.e duck typing\n // private isSeeder(provider: InstanceWrapper) {\n // const { instance } = provider;\n // if (!instance) return false;\n\n // const seedMethod = this.metadataScanner\n // .getAllMethodNames(Object.getPrototypeOf(instance))\n // .find((methodName) => methodName === 'seed');\n // if (!seedMethod) return false;\n // return true;\n // }\n\n}\n"]}
1
+ {"version":3,"file":"service.controller.js","sourceRoot":"","sources":["../../src/controllers/service.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAgF;AAChF,qEAAyD;AACzD,8DAA0D;AAC1D,6CAAyD;AACzD,iDAAiE;AAEjE,+EAAkE;AAClE,+EAA2E;AAC3E,uEAAmE;AACnE,0EAAsE;AAO/D,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG1B,YACqB,aAA4B,EAC5B,oBAA0C,EAC1C,gBAAkC,EAClC,WAA+B;QAH/B,kBAAa,GAAb,aAAa,CAAe;QAC5B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,gBAAW,GAAX,WAAW,CAAoB;QANnC,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;IAOzD,CAAC;IAIL,QAAQ;QACJ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAAe,UAA0B;QAItD,MAAM,QAAQ,GAAG,eAAe,UAAU,CAAC,GAAG,EAAE,CAAC;QAEjD,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAC3F,kBAAkB,EAClB,UAAU,CAAC,GAAG,EACd,IAAI,EACJ,QAAQ,CACX,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,cAAc,qBAAqB,eAAe,EAAE,CAAC,CAAC;QAGvH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,cAAc,EAAE;YAC7E,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;YACxB,UAAU,EAAE,GAAG;YACf,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,KAAK;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;QAE1E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mFAAmF,eAAe,EAAE,CAAC,CAAA;QAGvH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC3D,OAAO,EAAE;gBACL,iBAAiB,EAAE;oBACf,EAAE,EAAE;wBACA,GAAG,EAAE,eAAe;qBACvB;iBACJ;aACJ;SACJ,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;QAEpE,OAAO;YACH,OAAO,EAAE,QAAQ;YACjB,gBAAgB,EAAE;gBACd,MAAM,EAAE,gBAAgB,CAAC,MAAM;gBAC/B,SAAS,EAAE,gBAAgB,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5I,YAAY,EAAE,gBAAgB,CAAC,YAAY;aAC9C;SACJ,CAAC;IACN,CAAC;IAKK,AAAN,KAAK,CAAC,QAAQ,CAAS,QAAa;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa;aAC5B,UAAU,EAAE;aACZ,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC;aACnD,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aAChC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,qDAAqD,CAAC,CAAC;YAC1G,OAAO;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,iBAAiB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3D,CAAC;CAoBJ,CAAA;AA5GY,8CAAiB;AAY1B;IAFC,IAAA,yBAAM,GAAE;IACR,IAAA,YAAG,EAAC,MAAM,CAAC;;;;;iDAGX;AAIK;IAFL,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,YAAG,EAAC,UAAU,CAAC;;IACG,WAAA,IAAA,kCAAU,GAAE,CAAA;;;;oDAoD9B;AAKK;IAHL,IAAA,yBAAM,GAAE;IACR,IAAA,wBAAY,EAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACzE,IAAA,aAAI,EAAC,MAAM,CAAC;;IACG,WAAA,IAAA,aAAI,GAAE,CAAA;;;;iDAarB;4BAxFQ,iBAAiB;IAJ7B,IAAA,mBAAU,EAAC,EAAE,CAAC;IACd,IAAA,iBAAO,EAAC,QAAQ,CAAC;IACjB,IAAA,kBAAS,EAAC,0BAAc,CAAC;IACzB,IAAA,wBAAY,EAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qCAKjC,8BAAa;QACN,6CAAoB;QACxB,qCAAgB;QACrB,yCAAkB;GAP3C,iBAAiB,CA4G7B","sourcesContent":["import { Body, Controller, Get, Logger, Post, UseGuards } from '@nestjs/common';\nimport { Public } from 'src/decorators/public.decorator';\nimport { SolidRegistry } from '../helpers/solid-registry';\nimport { ApiBearerAuth, ApiTags } from '@nestjs/swagger';\nimport { ThrottlerGuard, SkipThrottle } from '@nestjs/throttler';\nimport { ActiveUserData } from 'src/interfaces/active-user-data.interface';\nimport { ActiveUser } from 'src/decorators/active-user.decorator';\nimport { AiInteractionService } from 'src/services/ai-interaction.service';\nimport { MqMessageService } from 'src/services/mq-message.service';\nimport { ErrorMapperService } from 'src/helpers/error-mapper.service';\n\n\n@Controller('')\n@ApiTags(\"Common\")\n@UseGuards(ThrottlerGuard)\n@SkipThrottle({ short: true, login: true, burst: true, sustained: true }) // Skip all\nexport class ServiceController {\n private readonly logger = new Logger(ServiceController.name);\n\n constructor(\n private readonly solidRegistry: SolidRegistry,\n private readonly aiInteractionService: AiInteractionService,\n private readonly mqMessageService: MqMessageService,\n private readonly errorMapper: ErrorMapperService\n ) { }\n\n @Public()\n @Get('ping')\n pingPong() {\n return { pong: 'v1.0.2' };\n }\n\n @ApiBearerAuth(\"jwt\")\n @Get('mcp/ping')\n async mcpPingPong(@ActiveUser() activeUser: ActiveUserData) {\n // TODO: do a MCP client invocation, wait for response and return.\n // If failure then decide shape to return.\n\n const threadId = `pingPongTxn-${activeUser.sub}`;\n\n const { queueMessageId, aiInteractionId } = await this.aiInteractionService.triggerMcpClientJob(\n `Can you do 1 + 1`,\n activeUser.sub,\n true,\n threadId\n );\n\n this.logger.debug(`mcp ping pong job triggered: queueMessageId=${queueMessageId}, aiInteractionId=${aiInteractionId}`);\n\n // Wait up to 2 minutes, start at 500ms poll, back off to max 2s, throw if failed:\n const result = await this.mqMessageService.waitForTerminalStatus(queueMessageId, {\n timeoutMs: 2 * 60 * 1000,\n intervalMs: 500,\n maxIntervalMs: 2000,\n throwOnFailure: false,\n });\n\n this.logger.debug(`mcp ping pong job finished with stage=${result.stage}`)\n\n this.logger.debug(`mcp ping pong trying to find genai (child) interaction for aiInteraction for id=${aiInteractionId}`)\n\n // @ts-ignore\n const genAiInteractions = await this.aiInteractionService.find({\n filters: {\n parentInteraction: {\n id: {\n $eq: aiInteractionId\n }\n }\n }\n });\n\n const genAiInteraction = genAiInteractions['records'][0];\n this.logger.debug(genAiInteraction.message);\n\n this.logger.debug(`identified gen-ai interaction with id=${genAiInteraction.id}`);\n this.logger.debug(`proceeding with applying the gen-ai interaction`)\n\n return {\n mcpPong: 'v1.0.2',\n genAiInteraction: {\n status: genAiInteraction.status,\n errorCode: genAiInteraction.status === 'failed' ? this.errorMapper.mapMessage(genAiInteraction.errorMessage, genAiInteraction.metadata) : '',\n errorMessage: genAiInteraction.errorMessage,\n }\n };\n }\n\n @Public()\n @SkipThrottle({ short: false, login: true, burst: true, sustained: true }) //Enable the short throttle only\n @Post('seed')\n async seedData(@Body() seedData: any) {\n const seeder = this.solidRegistry\n .getSeeders()\n .filter((seeder) => seeder.name === seedData.seeder)\n .map((seeder) => seeder.instance)\n .pop();\n if (!seeder) {\n this.logger.error(`Seeder service ${seedData.seeder} not found. Does your service have a seed() method?`);\n return;\n }\n this.logger.log(`Running the seed() method for seeder :${seeder.constructor.name}`);\n await seeder.seed();\n return { message: `seed data for ${seedData.seeder}` };\n }\n\n // @Public()\n // @Get('play')\n // play() {\n // return this.solidRegistry.getControllers();\n // }\n\n // //This method identifies a provider as a seeder if it has a seed method i.e duck typing\n // private isSeeder(provider: InstanceWrapper) {\n // const { instance } = provider;\n // if (!instance) return false;\n\n // const seedMethod = this.metadataScanner\n // .getAllMethodNames(Object.getPrototypeOf(instance))\n // .find((methodName) => methodName === 'seed');\n // if (!seedMethod) return false;\n // return true;\n // }\n\n}\n"]}
@@ -2,6 +2,6 @@ import { PublisherFactory } from 'src/services/queues/publisher-factory.service'
2
2
  export declare class TestQueueController {
3
3
  private readonly publisherFactory;
4
4
  constructor(publisherFactory: PublisherFactory<any>);
5
- getHello(messageBroker: string): Promise<{}>;
5
+ getHello(messageBroker: string, timeoutSeconds: number): Promise<{}>;
6
6
  }
7
7
  //# sourceMappingURL=test-queue.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-queue.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/test-queue.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGjF,qBAGa,mBAAmB;IAKxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAKtD,QAAQ,CAAyB,aAAa,EAAE,MAAM;CAqB/D"}
1
+ {"version":3,"file":"test-queue.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/test-queue.controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,+CAA+C,CAAC;AAGjF,qBAGa,mBAAmB;IAKxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAAhB,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAKtD,QAAQ,CAAyB,aAAa,EAAE,MAAM,EAA2B,cAAc,EAAE,MAAM;CAsBhH"}
@@ -24,13 +24,14 @@ let TestQueueController = class TestQueueController {
24
24
  constructor(publisherFactory) {
25
25
  this.publisherFactory = publisherFactory;
26
26
  }
27
- async getHello(messageBroker) {
27
+ async getHello(messageBroker, timeoutSeconds) {
28
28
  const pubsubMessage = 'A hopping-good time!';
29
29
  const m = {
30
30
  payload: {
31
31
  firstName: 'Harish',
32
32
  lastName: 'Patel',
33
- age: 40
33
+ age: 40,
34
+ timeoutSeconds: timeoutSeconds
34
35
  },
35
36
  parentEntity: 'feeType',
36
37
  parentEntityId: 23,
@@ -42,11 +43,12 @@ let TestQueueController = class TestQueueController {
42
43
  exports.TestQueueController = TestQueueController;
43
44
  __decorate([
44
45
  (0, public_decorator_1.Public)(),
45
- (0, common_1.Get)(':messageBroker'),
46
+ (0, common_1.Get)(':messageBroker/:timeoutSeconds'),
46
47
  openapi.ApiResponse({ status: 200 }),
47
48
  __param(0, (0, common_1.Param)('messageBroker')),
49
+ __param(1, (0, common_1.Param)('timeoutSeconds')),
48
50
  __metadata("design:type", Function),
49
- __metadata("design:paramtypes", [String]),
51
+ __metadata("design:paramtypes", [String, Number]),
50
52
  __metadata("design:returntype", Promise)
51
53
  ], TestQueueController.prototype, "getHello", null);
52
54
  exports.TestQueueController = TestQueueController = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"test-queue.controller.js","sourceRoot":"","sources":["../../src/controllers/test-queue.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAA0C;AAC1C,iEAAqD;AACrD,qEAAyD;AACzD,4DAAoD;AACpD,4FAAiF;AAM1E,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE5B,YAGqB,gBAAuC;QAAvC,qBAAgB,GAAhB,gBAAgB,CAAuB;IACxD,CAAC;IAIC,AAAN,KAAK,CAAC,QAAQ,CAAyB,aAAqB;QACxD,MAAM,aAAa,GAAG,sBAAsB,CAAC;QAC7C,MAAM,CAAC,GAAG;YACN,OAAO,EAAE;gBACL,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,EAAE;aACV;YACD,YAAY,EAAE,SAAS;YACvB,cAAc,EAAE,EAAE;SACrB,CAAC;QAOF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAE5E,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AA/BY,kDAAmB;AAUtB;IAFL,IAAA,yBAAM,GAAE;IACR,IAAA,YAAG,EAAC,gBAAgB,CAAC;;IACN,WAAA,IAAA,cAAK,EAAC,eAAe,CAAC,CAAA;;;;mDAoBrC;8BA9BQ,mBAAmB;IAH/B,IAAA,qBAAI,EAAC,yBAAQ,CAAC,IAAI,CAAC;IACnB,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACpB,IAAA,iBAAO,EAAC,QAAQ,CAAC;qCAMyB,4CAAgB;GAL9C,mBAAmB,CA+B/B","sourcesContent":["import { Controller, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Auth } from 'src/decorators/auth.decorator';\nimport { Public } from 'src/decorators/public.decorator';\nimport { AuthType } from 'src/enums/auth-type.enum';\nimport { PublisherFactory } from 'src/services/queues/publisher-factory.service';\n\n\n@Auth(AuthType.None)\n@Controller('queues')\n@ApiTags(\"Queues\")\nexport class TestQueueController {\n\n constructor(\n // private readonly publisherRmq: TestQueuePublisher,\n // private readonly publisherDb: TestQueuePublisherDatabase\n private readonly publisherFactory: PublisherFactory<any>\n ) { }\n\n @Public()\n @Get(':messageBroker')\n async getHello(@Param('messageBroker') messageBroker: string) {\n const pubsubMessage = 'A hopping-good time!';\n const m = {\n payload: {\n firstName: 'Harish',\n lastName: 'Patel',\n age: 40\n },\n parentEntity: 'feeType',\n parentEntityId: 23,\n };\n // if (messageBroker === 'rabbitmq') {\n // await this.publisherRmq.publish(m);\n // }\n // if (messageBroker === 'database') {\n // await this.publisherDb.publish(m);\n // }\n await this.publisherFactory.publish(m, 'TestQueuePublisher', messageBroker);\n\n return {};\n }\n}\n"]}
1
+ {"version":3,"file":"test-queue.controller.js","sourceRoot":"","sources":["../../src/controllers/test-queue.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,6CAA0C;AAC1C,iEAAqD;AACrD,qEAAyD;AACzD,4DAAoD;AACpD,4FAAiF;AAM1E,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAE5B,YAGqB,gBAAuC;QAAvC,qBAAgB,GAAhB,gBAAgB,CAAuB;IACxD,CAAC;IAIC,AAAN,KAAK,CAAC,QAAQ,CAAyB,aAAqB,EAA2B,cAAsB;QACzG,MAAM,aAAa,GAAG,sBAAsB,CAAC;QAC7C,MAAM,CAAC,GAAG;YACN,OAAO,EAAE;gBACL,SAAS,EAAE,QAAQ;gBACnB,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,EAAE;gBACP,cAAc,EAAE,cAAc;aACjC;YACD,YAAY,EAAE,SAAS;YACvB,cAAc,EAAE,EAAE;SACrB,CAAC;QAOF,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC;QAE5E,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAhCY,kDAAmB;AAUtB;IAFL,IAAA,yBAAM,GAAE;IACR,IAAA,YAAG,EAAC,gCAAgC,CAAC;;IACtB,WAAA,IAAA,cAAK,EAAC,eAAe,CAAC,CAAA;IAAyB,WAAA,IAAA,cAAK,EAAC,gBAAgB,CAAC,CAAA;;;;mDAqBrF;8BA/BQ,mBAAmB;IAH/B,IAAA,qBAAI,EAAC,yBAAQ,CAAC,IAAI,CAAC;IACnB,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACpB,IAAA,iBAAO,EAAC,QAAQ,CAAC;qCAMyB,4CAAgB;GAL9C,mBAAmB,CAgC/B","sourcesContent":["import { Controller, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Auth } from 'src/decorators/auth.decorator';\nimport { Public } from 'src/decorators/public.decorator';\nimport { AuthType } from 'src/enums/auth-type.enum';\nimport { PublisherFactory } from 'src/services/queues/publisher-factory.service';\n\n\n@Auth(AuthType.None)\n@Controller('queues')\n@ApiTags(\"Queues\")\nexport class TestQueueController {\n\n constructor(\n // private readonly publisherRmq: TestQueuePublisher,\n // private readonly publisherDb: TestQueuePublisherDatabase\n private readonly publisherFactory: PublisherFactory<any>\n ) { }\n\n @Public()\n @Get(':messageBroker/:timeoutSeconds')\n async getHello(@Param('messageBroker') messageBroker: string, @Param('timeoutSeconds') timeoutSeconds: number) {\n const pubsubMessage = 'A hopping-good time!';\n const m = {\n payload: {\n firstName: 'Harish',\n lastName: 'Patel',\n age: 40,\n timeoutSeconds: timeoutSeconds\n },\n parentEntity: 'feeType',\n parentEntityId: 23,\n };\n // if (messageBroker === 'rabbitmq') {\n // await this.publisherRmq.publish(m);\n // }\n // if (messageBroker === 'database') {\n // await this.publisherDb.publish(m);\n // }\n await this.publisherFactory.publish(m, 'TestQueuePublisher', messageBroker);\n\n return {};\n }\n}\n"]}
@@ -1,11 +1,13 @@
1
1
  import { SolidRegistry } from "src/helpers/solid-registry";
2
+ import { IngestMetadataService } from "src/services/genai/ingest-metadata.service";
2
3
  export declare class SeedData {
3
4
  seeder: string;
4
5
  }
5
6
  export declare class TestController {
6
7
  private readonly solidRegistry;
8
+ private readonly ingestMetadataService;
7
9
  private readonly logger;
8
- constructor(solidRegistry: SolidRegistry);
10
+ constructor(solidRegistry: SolidRegistry, ingestMetadataService: IngestMetadataService);
9
11
  uploadData(files: Array<Express.Multer.File>, body: any): {
10
12
  message: string;
11
13
  fileNames: string[];
@@ -14,5 +16,8 @@ export declare class TestController {
14
16
  uploadFile(file: Express.Multer.File, body: any): {
15
17
  filename: string;
16
18
  };
19
+ mcpIngest(file: Express.Multer.File, body: any): Promise<{
20
+ ok: boolean;
21
+ }>;
17
22
  }
18
23
  //# sourceMappingURL=test.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/test.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,qBAAa,QAAQ;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAGa,cAAc;IAEb,OAAO,CAAC,QAAQ,CAAC,aAAa;IAD1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAC7B,aAAa,EAAE,aAAa;IAKzD,UAAU,CAAkB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAU,IAAI,EAAE,GAAG;;;;;IAMhF,UAAU,CAAiB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAU,IAAI,EAAE,GAAG;;;CAyBxE"}
1
+ {"version":3,"file":"test.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/test.controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,qBAAa,QAAQ;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAEa,cAAc;IAGvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IAHxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;gBAEvC,aAAa,EAAE,aAAa,EAC5B,qBAAqB,EAAE,qBAAqB;IAM/D,UAAU,CAAkB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAU,IAAI,EAAE,GAAG;;;;;IAOhF,UAAU,CAAiB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAU,IAAI,EAAE,GAAG;;;IAWjE,SAAS,CAAiB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAU,IAAI,EAAE,GAAG;;;CAsB7E"}
@@ -21,12 +21,14 @@ const swagger_1 = require("@nestjs/swagger");
21
21
  const solid_registry_1 = require("../helpers/solid-registry");
22
22
  const auth_decorator_1 = require("../decorators/auth.decorator");
23
23
  const auth_type_enum_1 = require("../enums/auth-type.enum");
24
+ const ingest_metadata_service_1 = require("../services/genai/ingest-metadata.service");
24
25
  class SeedData {
25
26
  }
26
27
  exports.SeedData = SeedData;
27
28
  let TestController = TestController_1 = class TestController {
28
- constructor(solidRegistry) {
29
+ constructor(solidRegistry, ingestMetadataService) {
29
30
  this.solidRegistry = solidRegistry;
31
+ this.ingestMetadataService = ingestMetadataService;
30
32
  this.logger = new common_1.Logger(TestController_1.name);
31
33
  }
32
34
  uploadData(files, body) {
@@ -37,6 +39,10 @@ let TestController = TestController_1 = class TestController {
37
39
  this.logger.debug(body);
38
40
  return { filename: file.originalname };
39
41
  }
42
+ async mcpIngest(file, body) {
43
+ await this.ingestMetadataService.ingest();
44
+ return { ok: true };
45
+ }
40
46
  };
41
47
  exports.TestController = TestController;
42
48
  __decorate([
@@ -51,6 +57,7 @@ __decorate([
51
57
  __metadata("design:returntype", void 0)
52
58
  ], TestController.prototype, "uploadData", null);
53
59
  __decorate([
60
+ (0, auth_decorator_1.Auth)(auth_type_enum_1.AuthType.None),
54
61
  (0, common_1.Post)('upload'),
55
62
  (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
56
63
  openapi.ApiResponse({ status: 201 }),
@@ -60,10 +67,21 @@ __decorate([
60
67
  __metadata("design:paramtypes", [Object, Object]),
61
68
  __metadata("design:returntype", void 0)
62
69
  ], TestController.prototype, "uploadFile", null);
70
+ __decorate([
71
+ (0, swagger_1.ApiBearerAuth)("jwt"),
72
+ (0, common_1.Post)('mcp/ingest'),
73
+ (0, common_1.UseInterceptors)((0, platform_express_1.FileInterceptor)('file')),
74
+ openapi.ApiResponse({ status: 201 }),
75
+ __param(0, (0, common_1.UploadedFile)()),
76
+ __param(1, (0, common_1.Body)()),
77
+ __metadata("design:type", Function),
78
+ __metadata("design:paramtypes", [Object, Object]),
79
+ __metadata("design:returntype", Promise)
80
+ ], TestController.prototype, "mcpIngest", null);
63
81
  exports.TestController = TestController = TestController_1 = __decorate([
64
- (0, auth_decorator_1.Auth)(auth_type_enum_1.AuthType.None),
65
82
  (0, common_1.Controller)('test'),
66
83
  (0, swagger_1.ApiTags)("App Builder"),
67
- __metadata("design:paramtypes", [solid_registry_1.SolidRegistry])
84
+ __metadata("design:paramtypes", [solid_registry_1.SolidRegistry,
85
+ ingest_metadata_service_1.IngestMetadataService])
68
86
  ], TestController);
69
87
  //# sourceMappingURL=test.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"test.controller.js","sourceRoot":"","sources":["../../src/controllers/test.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8G;AAC9G,+DAAgF;AAChF,6CAA0C;AAC1C,8DAA2D;AAC3D,iEAAqD;AACrD,4DAAoD;AAEpD,MAAa,QAAQ;CAEpB;AAFD,4BAEC;AAKM,IAAM,cAAc,sBAApB,MAAM,cAAc;IAEzB,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QADxC,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IACG,CAAC;IAK9D,UAAU,CAAkB,KAAiC,EAAU,IAAS;QAC9E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjG,CAAC;IAID,UAAU,CAAiB,IAAyB,EAAU,IAAS;QAErE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;CAmBF,CAAA;AAtCY,wCAAc;AAOzB;IAHC,IAAA,qBAAI,EAAC,yBAAQ,CAAC,IAAI,CAAC;IACnB,IAAA,wBAAe,EAAC,IAAA,sCAAmB,GAAE,CAAC;IACtC,IAAA,aAAI,EAAC,SAAS,CAAC;;IACJ,WAAA,IAAA,sBAAa,GAAE,CAAA;IAAqC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAnC,KAAK;;gDAEvC;AAID;IAFC,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;;IAC7B,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA6B,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gDAM5D;yBAnBU,cAAc;IAH1B,IAAA,qBAAI,EAAC,yBAAQ,CAAC,IAAI,CAAC;IACnB,IAAA,mBAAU,EAAC,MAAM,CAAC;IAClB,IAAA,iBAAO,EAAC,aAAa,CAAC;qCAGuB,8BAAa;GAF9C,cAAc,CAsC1B","sourcesContent":["import { Body, Controller, Logger, Post, UploadedFile, UploadedFiles, UseInterceptors } from \"@nestjs/common\";\nimport { AnyFilesInterceptor, FileInterceptor } from \"@nestjs/platform-express\";\nimport { ApiTags } from \"@nestjs/swagger\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { Auth } from \"src/decorators/auth.decorator\";\nimport { AuthType } from \"src/enums/auth-type.enum\";\n\nexport class SeedData {\n seeder: string;\n}\n\n@Auth(AuthType.None)\n@Controller('test')\n@ApiTags(\"App Builder\")\nexport class TestController {\n private readonly logger = new Logger(TestController.name);\n constructor(private readonly solidRegistry: SolidRegistry) { }\n\n @Auth(AuthType.None)\n @UseInterceptors(AnyFilesInterceptor())\n @Post('uploads')\n uploadData(@UploadedFiles() files: Array<Express.Multer.File>, @Body() body: any) {\n return { message: 'file uploaded', fileNames: files.map(f => f.originalname), formData: body };\n }\n\n @Post('upload')\n @UseInterceptors(FileInterceptor('file')) // 'file' here is the name of the field in the form\n uploadFile(@UploadedFile() file: Express.Multer.File, @Body() body: any) {\n // console.log(file);\n this.logger.debug(file);\n // console.log(body);\n this.logger.debug(body);\n return { filename: file.originalname };\n }\n\n // @Public()\n // @Post('seed')\n // async seedData(@Body() seedData: any) {\n // const seeder = this.solidRegistry\n // .getSeeders()\n // .filter((seeder) => seeder.name === seedData.seeder)\n // .map((seeder) => seeder.instance)\n // .pop();\n // if (!seeder) {\n // this.logger.error(`Seeder service ${seedData.seeder} not found. Does your service have a seed() method?`);\n // return;\n // }\n // this.logger.log(`Running the seed() method for seeder :${seeder.constructor.name}`);\n // await seeder.seed();\n // return { message: `seed data for ${seedData.seeder}` };\n // }\n\n}\n"]}
1
+ {"version":3,"file":"test.controller.js","sourceRoot":"","sources":["../../src/controllers/test.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8G;AAC9G,+DAAgF;AAChF,6CAAyD;AACzD,8DAA2D;AAC3D,iEAAqD;AACrD,4DAAoD;AACpD,uFAAmF;AAEnF,MAAa,QAAQ;CAEpB;AAFD,4BAEC;AAIM,IAAM,cAAc,sBAApB,MAAM,cAAc;IAEzB,YACmB,aAA4B,EAC5B,qBAA4C;QAD5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,0BAAqB,GAArB,qBAAqB,CAAuB;QAH9C,WAAM,GAAG,IAAI,eAAM,CAAC,gBAAc,CAAC,IAAI,CAAC,CAAC;IAItD,CAAC;IAKL,UAAU,CAAkB,KAAiC,EAAU,IAAS;QAC9E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjG,CAAC;IAKD,UAAU,CAAiB,IAAyB,EAAU,IAAS;QAErE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;IACzC,CAAC;IAKK,AAAN,KAAK,CAAC,SAAS,CAAiB,IAAyB,EAAU,IAAS;QAC1E,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;CAmBF,CAAA;AAlDY,wCAAc;AAUzB;IAHC,IAAA,qBAAI,EAAC,yBAAQ,CAAC,IAAI,CAAC;IACnB,IAAA,wBAAe,EAAC,IAAA,sCAAmB,GAAE,CAAC;IACtC,IAAA,aAAI,EAAC,SAAS,CAAC;;IACJ,WAAA,IAAA,sBAAa,GAAE,CAAA;IAAqC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAnC,KAAK;;gDAEvC;AAKD;IAHC,IAAA,qBAAI,EAAC,yBAAQ,CAAC,IAAI,CAAC;IACnB,IAAA,aAAI,EAAC,QAAQ,CAAC;IACd,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;;IAC7B,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA6B,WAAA,IAAA,aAAI,GAAE,CAAA;;;;gDAM5D;AAKK;IAHL,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,aAAI,EAAC,YAAY,CAAC;IAClB,IAAA,wBAAe,EAAC,IAAA,kCAAe,EAAC,MAAM,CAAC,CAAC;;IACxB,WAAA,IAAA,qBAAY,GAAE,CAAA;IAA6B,WAAA,IAAA,aAAI,GAAE,CAAA;;;;+CAGjE;yBA/BU,cAAc;IAF1B,IAAA,mBAAU,EAAC,MAAM,CAAC;IAClB,IAAA,iBAAO,EAAC,aAAa,CAAC;qCAIa,8BAAa;QACL,+CAAqB;GAJpD,cAAc,CAkD1B","sourcesContent":["import { Body, Controller, Logger, Post, UploadedFile, UploadedFiles, UseInterceptors } from \"@nestjs/common\";\nimport { AnyFilesInterceptor, FileInterceptor } from \"@nestjs/platform-express\";\nimport { ApiBearerAuth, ApiTags } from \"@nestjs/swagger\";\nimport { SolidRegistry } from \"src/helpers/solid-registry\";\nimport { Auth } from \"src/decorators/auth.decorator\";\nimport { AuthType } from \"src/enums/auth-type.enum\";\nimport { IngestMetadataService } from \"src/services/genai/ingest-metadata.service\";\n\nexport class SeedData {\n seeder: string;\n}\n\n@Controller('test')\n@ApiTags(\"App Builder\")\nexport class TestController {\n private readonly logger = new Logger(TestController.name);\n constructor(\n private readonly solidRegistry: SolidRegistry,\n private readonly ingestMetadataService: IngestMetadataService,\n ) { }\n\n @Auth(AuthType.None)\n @UseInterceptors(AnyFilesInterceptor())\n @Post('uploads')\n uploadData(@UploadedFiles() files: Array<Express.Multer.File>, @Body() body: any) {\n return { message: 'file uploaded', fileNames: files.map(f => f.originalname), formData: body };\n }\n\n @Auth(AuthType.None)\n @Post('upload')\n @UseInterceptors(FileInterceptor('file')) // 'file' here is the name of the field in the form\n uploadFile(@UploadedFile() file: Express.Multer.File, @Body() body: any) {\n // console.log(file);\n this.logger.debug(file);\n // console.log(body);\n this.logger.debug(body);\n return { filename: file.originalname };\n }\n\n @ApiBearerAuth(\"jwt\")\n @Post('mcp/ingest')\n @UseInterceptors(FileInterceptor('file'))\n async mcpIngest(@UploadedFile() file: Express.Multer.File, @Body() body: any) {\n await this.ingestMetadataService.ingest();\n return { ok: true };\n }\n\n // @Public()\n // @Post('seed')\n // async seedData(@Body() seedData: any) {\n // const seeder = this.solidRegistry\n // .getSeeders()\n // .filter((seeder) => seeder.name === seedData.seeder)\n // .map((seeder) => seeder.instance)\n // .pop();\n // if (!seeder) {\n // this.logger.error(`Seeder service ${seedData.seeder} not found. Does your service have a seed() method?`);\n // return;\n // }\n // this.logger.log(`Running the seed() method for seeder :${seeder.constructor.name}`);\n // await seeder.seed();\n // return { message: `seed data for ${seedData.seeder}` };\n // }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"common.entity.d.ts","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C,8BAAsB,YAAY;IAE9B,EAAE,EAAE,MAAM,CAAA;IAGV,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,cAAc,EAAE,MAAM,CAAC;IAGvB,WAAW,EAAE,IAAI,CAAC;IAGlB,UAAU,EAAE,MAAM,CAAC;IAGnB,qBAAqB,EAAE,MAAM,CAAC;IAG9B,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;CACnB"}
1
+ {"version":3,"file":"common.entity.d.ts","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAG1C,8BACsB,YAAY;IAG9B,EAAE,EAAE,MAAM,CAAA;IAGV,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,cAAc,EAAE,MAAM,CAAC;IAIvB,WAAW,EAAE,IAAI,CAAC;IAIlB,UAAU,EAAE,MAAM,CAAC;IAInB,qBAAqB,EAAE,MAAM,CAAC;IAK9B,SAAS,EAAE,IAAI,CAAC;IAKhB,SAAS,EAAE,IAAI,CAAC;CACnB"}
@@ -12,13 +12,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CommonEntity = void 0;
13
13
  const openapi = require("@nestjs/swagger");
14
14
  const typeorm_1 = require("typeorm");
15
- class CommonEntity {
15
+ const class_transformer_1 = require("class-transformer");
16
+ let CommonEntity = class CommonEntity {
16
17
  static _OPENAPI_METADATA_FACTORY() {
17
18
  return { id: { required: true, type: () => Number }, createdAt: { required: true, type: () => Date }, updatedAt: { required: true, type: () => Date }, deletedAt: { required: true, type: () => Date }, deletedTracker: { required: true, type: () => String }, publishedAt: { required: true, type: () => Date }, localeName: { required: true, type: () => String }, defaultEntityLocaleId: { required: true, type: () => Number }, createdBy: { required: true, type: () => require("./user.entity").User }, updatedBy: { required: true, type: () => require("./user.entity").User } };
18
19
  }
19
- }
20
+ };
20
21
  exports.CommonEntity = CommonEntity;
21
22
  __decorate([
23
+ (0, class_transformer_1.Expose)(),
22
24
  (0, typeorm_1.PrimaryGeneratedColumn)({ type: 'integer' }),
23
25
  __metadata("design:type", Number)
24
26
  ], CommonEntity.prototype, "id", void 0);
@@ -39,23 +41,33 @@ __decorate([
39
41
  __metadata("design:type", String)
40
42
  ], CommonEntity.prototype, "deletedTracker", void 0);
41
43
  __decorate([
44
+ (0, class_transformer_1.Expose)(),
42
45
  (0, typeorm_1.Column)({ type: "timestamp", name: 'published_at', default: null, nullable: true }),
43
46
  __metadata("design:type", Date)
44
47
  ], CommonEntity.prototype, "publishedAt", void 0);
45
48
  __decorate([
49
+ (0, class_transformer_1.Expose)(),
46
50
  (0, typeorm_1.Column)({ type: "varchar", name: 'locale_name', default: null }),
47
51
  __metadata("design:type", String)
48
52
  ], CommonEntity.prototype, "localeName", void 0);
49
53
  __decorate([
54
+ (0, class_transformer_1.Expose)(),
50
55
  (0, typeorm_1.Column)({ type: "int", name: 'default_entity_locale_id', default: null }),
51
56
  __metadata("design:type", Number)
52
57
  ], CommonEntity.prototype, "defaultEntityLocaleId", void 0);
53
58
  __decorate([
59
+ (0, class_transformer_1.Expose)(),
60
+ (0, class_transformer_1.Type)(() => require('./user.entity').User?.default ?? require('./user.entity').User),
54
61
  (0, typeorm_1.ManyToOne)(() => require('./user.entity').User?.default ?? require('./user.entity').User, { onDelete: 'SET NULL', nullable: true }),
55
62
  __metadata("design:type", Function)
56
63
  ], CommonEntity.prototype, "createdBy", void 0);
57
64
  __decorate([
65
+ (0, class_transformer_1.Expose)(),
66
+ (0, class_transformer_1.Type)(() => require('./user.entity').User?.default ?? require('./user.entity').User),
58
67
  (0, typeorm_1.ManyToOne)(() => require('./user.entity').User?.default ?? require('./user.entity').User, { onDelete: 'SET NULL', nullable: true }),
59
68
  __metadata("design:type", Function)
60
69
  ], CommonEntity.prototype, "updatedBy", void 0);
70
+ exports.CommonEntity = CommonEntity = __decorate([
71
+ (0, class_transformer_1.Exclude)()
72
+ ], CommonEntity);
61
73
  //# sourceMappingURL=common.entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.entity.js","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA0H;AAG1H,MAAsB,YAAY;;;;CA8BjC;AA9BD,oCA8BC;AA5BG;IADC,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;wCAClC;AAGV;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACjD,IAAI;+CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACjD,IAAI;+CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACjD,IAAI;+CAAC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;;oDACpC;AAGvB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;8BACrE,IAAI;iDAAC;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gDAC7C;AAGnB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DAC3C;AAG9B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACnH;AAGhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACnH","sourcesContent":["import { Column, CreateDateColumn, DeleteDateColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from \"typeorm\";\nimport type { User } from \"./user.entity\";\n\nexport abstract class CommonEntity {\n @PrimaryGeneratedColumn({ type: 'integer' })\n id: number\n\n @CreateDateColumn({ type: \"timestamp\", name: \"created_at\" })\n createdAt: Date;\n\n @UpdateDateColumn({ type: \"timestamp\", name: \"updated_at\" })\n updatedAt: Date;\n\n @DeleteDateColumn({ type: \"timestamp\", name: \"deleted_at\" })\n deletedAt: Date;\n\n @Column({ name: \"deletedTracker\", default: \"not-deleted\" })\n deletedTracker: string;\n\n @Column({ type: \"timestamp\", name: 'published_at', default: null ,nullable: true})\n publishedAt: Date;\n\n @Column({ type: \"varchar\", name: 'locale_name', default: null })\n localeName: string;\n\n @Column({ type: \"int\", name: 'default_entity_locale_id', default: null })\n defaultEntityLocaleId: number;\n\n @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { onDelete: 'SET NULL', nullable: true })\n createdBy: User;\n\n @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { onDelete: 'SET NULL', nullable: true })\n updatedBy: User; \n}\n"]}
1
+ {"version":3,"file":"common.entity.js","sourceRoot":"","sources":["../../src/entities/common.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAA0H;AAE1H,yDAA0D;AAGnD,IAAe,YAAY,GAA3B,MAAe,YAAY;;;;CAsCjC,CAAA;AAtCqB,oCAAY;AAG9B;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gCAAsB,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;wCAClC;AAGV;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACjD,IAAI;+CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACjD,IAAI;+CAAC;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACjD,IAAI;+CAAC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;;oDACpC;AAIvB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;8BACrE,IAAI;iDAAC;AAIlB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;gDAC7C;AAInB;IAFC,IAAA,0BAAM,GAAE;IACR,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;2DAC3C;AAK9B;IAHC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAE;IACrF,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACnH;AAKhB;IAHC,IAAA,0BAAM,GAAE;IACR,IAAA,wBAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,CAAE;IACrF,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACnH;uBArCE,YAAY;IADjC,IAAA,2BAAO,GAAE;GACY,YAAY,CAsCjC","sourcesContent":["import { Column, CreateDateColumn, DeleteDateColumn, ManyToOne, PrimaryGeneratedColumn, UpdateDateColumn } from \"typeorm\";\nimport type { User } from \"./user.entity\";\nimport { Exclude, Expose, Type } from \"class-transformer\";\n\n@Exclude()\nexport abstract class CommonEntity {\n @Expose()\n @PrimaryGeneratedColumn({ type: 'integer' })\n id: number\n\n @CreateDateColumn({ type: \"timestamp\", name: \"created_at\" })\n createdAt: Date;\n\n @UpdateDateColumn({ type: \"timestamp\", name: \"updated_at\" })\n updatedAt: Date;\n\n @DeleteDateColumn({ type: \"timestamp\", name: \"deleted_at\" })\n deletedAt: Date;\n\n @Column({ name: \"deletedTracker\", default: \"not-deleted\" })\n deletedTracker: string;\n\n @Expose()\n @Column({ type: \"timestamp\", name: 'published_at', default: null ,nullable: true})\n publishedAt: Date;\n\n @Expose()\n @Column({ type: \"varchar\", name: 'locale_name', default: null })\n localeName: string;\n\n @Expose()\n @Column({ type: \"int\", name: 'default_entity_locale_id', default: null })\n defaultEntityLocaleId: number;\n\n @Expose()\n @Type( () => require('./user.entity').User?.default ?? require('./user.entity').User )\n @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { onDelete: 'SET NULL', nullable: true })\n createdBy: User;\n\n @Expose()\n @Type( () => require('./user.entity').User?.default ?? require('./user.entity').User )\n @ManyToOne(() => require('./user.entity').User?.default ?? require('./user.entity').User, { onDelete: 'SET NULL', nullable: true })\n updatedBy: User; \n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"user.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAEzE,qBAEa,IAAK,SAAQ,YAAY;IAElC,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,MAAM,CAAC;IAEjB,mBAAmB,EAAE,OAAO,CAAQ;IAEpC,iBAAiB,EAAE,MAAM,CAAW;IAEpC,UAAU,EAAE,MAAM,CAAC;IAEnB,iBAAiB,EAAE,MAAM,CAAC;IAE1B,QAAQ,EAAE,MAAM,CAAC;IAEjB,oBAAoB,EAAE,MAAM,CAAC;IAE7B,MAAM,EAAE,OAAO,CAAQ;IAEvB,yBAAyB,EAAE,IAAI,CAAC;IAEhC,iCAAiC,EAAE,MAAM,CAAC;IAE1C,0CAA0C,EAAE,IAAI,CAAC;IAEjD,6BAA6B,EAAE,IAAI,CAAC;IAEpC,oCAAoC,EAAE,MAAM,CAAC;IAE7C,6CAA6C,EAAE,IAAI,CAAC;IAEpD,8BAA8B,EAAE,IAAI,CAAC;IAErC,qCAAqC,EAAE,MAAM,CAAC;IAE9C,8CAA8C,EAAE,IAAI,CAAC;IAErD,sBAAsB,EAAE,IAAI,CAAC;IAE7B,6BAA6B,EAAE,MAAM,CAAC;IAEtC,sCAAsC,EAAE,IAAI,CAAC;IAE7C,uBAAuB,EAAE,IAAI,CAAC;IAE9B,8BAA8B,EAAE,MAAM,CAAC;IAEvC,uCAAuC,EAAE,IAAI,CAAC;IAE9C,aAAa,EAAE,MAAM,CAAC;IAGtB,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC"}
1
+ {"version":3,"file":"user.entity.d.ts","sourceRoot":"","sources":["../../src/entities/user.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAGzE,qBAGa,IAAK,SAAQ,YAAY;IAGlC,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,KAAK,EAAE,MAAM,CAAC;IAId,MAAM,EAAE,MAAM,CAAC;IAGf,QAAQ,EAAE,MAAM,CAAC;IAGjB,mBAAmB,EAAE,OAAO,CAAQ;IAGpC,iBAAiB,EAAE,MAAM,CAAW;IAGpC,UAAU,EAAE,MAAM,CAAC;IAGnB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,QAAQ,EAAE,MAAM,CAAC;IAGjB,oBAAoB,EAAE,MAAM,CAAC;IAG7B,MAAM,EAAE,OAAO,CAAQ;IAGvB,yBAAyB,EAAE,IAAI,CAAC;IAGhC,iCAAiC,EAAE,MAAM,CAAC;IAG1C,0CAA0C,EAAE,IAAI,CAAC;IAGjD,6BAA6B,EAAE,IAAI,CAAC;IAGpC,oCAAoC,EAAE,MAAM,CAAC;IAG7C,6CAA6C,EAAE,IAAI,CAAC;IAGpD,8BAA8B,EAAE,IAAI,CAAC;IAGrC,qCAAqC,EAAE,MAAM,CAAC;IAG9C,8CAA8C,EAAE,IAAI,CAAC;IAGrD,sBAAsB,EAAE,IAAI,CAAC;IAG7B,6BAA6B,EAAE,MAAM,CAAC;IAGtC,sCAAsC,EAAE,IAAI,CAAC;IAG7C,uBAAuB,EAAE,IAAI,CAAC;IAG9B,8BAA8B,EAAE,MAAM,CAAC;IAGvC,uCAAuC,EAAE,IAAI,CAAC;IAG9C,aAAa,EAAE,MAAM,CAAC;IAItB,KAAK,EAAE,YAAY,EAAE,CAAC;IAGtB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;CACxC"}
@@ -15,6 +15,7 @@ const common_entity_1 = require("./common.entity");
15
15
  const typeorm_1 = require("typeorm");
16
16
  const role_metadata_entity_1 = require("./role-metadata.entity");
17
17
  const user_view_metadata_entity_1 = require("./user-view-metadata.entity");
18
+ const class_transformer_1 = require("class-transformer");
18
19
  let User = class User extends common_entity_1.CommonEntity {
19
20
  constructor() {
20
21
  super(...arguments);
@@ -29,21 +30,25 @@ let User = class User extends common_entity_1.CommonEntity {
29
30
  exports.User = User;
30
31
  __decorate([
31
32
  (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
33
+ (0, class_transformer_1.Expose)(),
32
34
  __metadata("design:type", String)
33
35
  ], User.prototype, "fullName", void 0);
34
36
  __decorate([
35
37
  (0, typeorm_1.Index)({ unique: true }),
36
38
  (0, typeorm_1.Column)({ type: "varchar" }),
39
+ (0, class_transformer_1.Expose)(),
37
40
  __metadata("design:type", String)
38
41
  ], User.prototype, "username", void 0);
39
42
  __decorate([
40
43
  (0, typeorm_1.Index)({ unique: true }),
41
44
  (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
45
+ (0, class_transformer_1.Expose)(),
42
46
  __metadata("design:type", String)
43
47
  ], User.prototype, "email", void 0);
44
48
  __decorate([
45
49
  (0, typeorm_1.Index)({ unique: true }),
46
50
  (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
51
+ (0, class_transformer_1.Expose)(),
47
52
  __metadata("design:type", String)
48
53
  ], User.prototype, "mobile", void 0);
49
54
  __decorate([
@@ -52,6 +57,7 @@ __decorate([
52
57
  ], User.prototype, "password", void 0);
53
58
  __decorate([
54
59
  (0, typeorm_1.Column)({ type: "boolean", nullable: true, default: true }),
60
+ (0, class_transformer_1.Expose)(),
55
61
  __metadata("design:type", Boolean)
56
62
  ], User.prototype, "forcePasswordChange", void 0);
57
63
  __decorate([
@@ -76,6 +82,7 @@ __decorate([
76
82
  ], User.prototype, "googleProfilePicture", void 0);
77
83
  __decorate([
78
84
  (0, typeorm_1.Column)({ type: "boolean", default: true }),
85
+ (0, class_transformer_1.Expose)(),
79
86
  __metadata("design:type", Boolean)
80
87
  ], User.prototype, "active", void 0);
81
88
  __decorate([
@@ -140,11 +147,13 @@ __decorate([
140
147
  ], User.prototype, "mobileVerificationTokenOnLoginExpiresAt", void 0);
141
148
  __decorate([
142
149
  (0, typeorm_1.Column)({ type: "varchar", nullable: true }),
150
+ (0, class_transformer_1.Expose)(),
143
151
  __metadata("design:type", String)
144
152
  ], User.prototype, "customPayload", void 0);
145
153
  __decorate([
146
154
  (0, typeorm_1.ManyToMany)(() => role_metadata_entity_1.RoleMetadata, roleMetadata => roleMetadata.users, { cascade: true }),
147
155
  (0, typeorm_1.JoinTable)(),
156
+ (0, class_transformer_1.Expose)(),
148
157
  __metadata("design:type", Array)
149
158
  ], User.prototype, "roles", void 0);
150
159
  __decorate([
@@ -153,6 +162,7 @@ __decorate([
153
162
  ], User.prototype, "userViewMetadata", void 0);
154
163
  exports.User = User = __decorate([
155
164
  (0, typeorm_1.Entity)("ss_user"),
156
- (0, typeorm_1.TableInheritance)({ column: { type: "varchar", name: "type", default: "User" } })
165
+ (0, typeorm_1.TableInheritance)({ column: { type: "varchar", name: "type", default: "User" } }),
166
+ (0, class_transformer_1.Exclude)()
157
167
  ], User);
158
168
  //# sourceMappingURL=user.entity.js.map