@loopstack/api 0.0.2

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 (199) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -0
  3. package/dist/controllers/auth.controller.d.ts +9 -0
  4. package/dist/controllers/auth.controller.js +61 -0
  5. package/dist/controllers/auth.controller.js.map +1 -0
  6. package/dist/controllers/config.controller.d.ts +9 -0
  7. package/dist/controllers/config.controller.js +72 -0
  8. package/dist/controllers/config.controller.js.map +1 -0
  9. package/dist/controllers/document.controller.d.ts +11 -0
  10. package/dist/controllers/document.controller.js +131 -0
  11. package/dist/controllers/document.controller.js.map +1 -0
  12. package/dist/controllers/namespace.controller.d.ts +11 -0
  13. package/dist/controllers/namespace.controller.js +131 -0
  14. package/dist/controllers/namespace.controller.js.map +1 -0
  15. package/dist/controllers/processor.controller.d.ts +11 -0
  16. package/dist/controllers/processor.controller.js +97 -0
  17. package/dist/controllers/processor.controller.js.map +1 -0
  18. package/dist/controllers/project.controller.d.ts +25 -0
  19. package/dist/controllers/project.controller.js +272 -0
  20. package/dist/controllers/project.controller.js.map +1 -0
  21. package/dist/controllers/workflow.controller.d.ts +12 -0
  22. package/dist/controllers/workflow.controller.js +148 -0
  23. package/dist/controllers/workflow.controller.js.map +1 -0
  24. package/dist/controllers/workspace.controller.d.ts +25 -0
  25. package/dist/controllers/workspace.controller.js +285 -0
  26. package/dist/controllers/workspace.controller.js.map +1 -0
  27. package/dist/decorators/api-paginated-response.decorator.d.ts +2 -0
  28. package/dist/decorators/api-paginated-response.decorator.js +26 -0
  29. package/dist/decorators/api-paginated-response.decorator.js.map +1 -0
  30. package/dist/dtos/document-content.dto.d.ts +2 -0
  31. package/dist/dtos/document-content.dto.js +7 -0
  32. package/dist/dtos/document-content.dto.js.map +1 -0
  33. package/dist/dtos/document-filter.dto.d.ts +3 -0
  34. package/dist/dtos/document-filter.dto.js +25 -0
  35. package/dist/dtos/document-filter.dto.js.map +1 -0
  36. package/dist/dtos/document-item.dto.d.ts +26 -0
  37. package/dist/dtos/document-item.dto.js +202 -0
  38. package/dist/dtos/document-item.dto.js.map +1 -0
  39. package/dist/dtos/document-meta.dto.d.ts +2 -0
  40. package/dist/dtos/document-meta.dto.js +7 -0
  41. package/dist/dtos/document-meta.dto.js.map +1 -0
  42. package/dist/dtos/document-query-dto.d.ts +8 -0
  43. package/dist/dtos/document-query-dto.js +56 -0
  44. package/dist/dtos/document-query-dto.js.map +1 -0
  45. package/dist/dtos/document-sort-by.dto.d.ts +6 -0
  46. package/dist/dtos/document-sort-by.dto.js +31 -0
  47. package/dist/dtos/document-sort-by.dto.js.map +1 -0
  48. package/dist/dtos/document.dto.d.ts +27 -0
  49. package/dist/dtos/document.dto.js +209 -0
  50. package/dist/dtos/document.dto.js.map +1 -0
  51. package/dist/dtos/namespace-filter.dto.d.ts +4 -0
  52. package/dist/dtos/namespace-filter.dto.js +32 -0
  53. package/dist/dtos/namespace-filter.dto.js.map +1 -0
  54. package/dist/dtos/namespace-item.dto.d.ts +8 -0
  55. package/dist/dtos/namespace-item.dto.js +62 -0
  56. package/dist/dtos/namespace-item.dto.js.map +1 -0
  57. package/dist/dtos/namespace-sort-by.dto.d.ts +6 -0
  58. package/dist/dtos/namespace-sort-by.dto.js +31 -0
  59. package/dist/dtos/namespace-sort-by.dto.js.map +1 -0
  60. package/dist/dtos/namespace.dto.d.ts +11 -0
  61. package/dist/dtos/namespace.dto.js +87 -0
  62. package/dist/dtos/namespace.dto.js.map +1 -0
  63. package/dist/dtos/paginated.dto.d.ts +8 -0
  64. package/dist/dtos/paginated.dto.js +51 -0
  65. package/dist/dtos/paginated.dto.js.map +1 -0
  66. package/dist/dtos/project-config.dto.d.ts +5 -0
  67. package/dist/dtos/project-config.dto.js +45 -0
  68. package/dist/dtos/project-config.dto.js.map +1 -0
  69. package/dist/dtos/project-context.dto.d.ts +2 -0
  70. package/dist/dtos/project-context.dto.js +7 -0
  71. package/dist/dtos/project-context.dto.js.map +1 -0
  72. package/dist/dtos/project-create.dto.d.ts +6 -0
  73. package/dist/dtos/project-create.dto.js +68 -0
  74. package/dist/dtos/project-create.dto.js.map +1 -0
  75. package/dist/dtos/project-filter.dto.d.ts +3 -0
  76. package/dist/dtos/project-filter.dto.js +25 -0
  77. package/dist/dtos/project-filter.dto.js.map +1 -0
  78. package/dist/dtos/project-item.dto.d.ts +13 -0
  79. package/dist/dtos/project-item.dto.js +110 -0
  80. package/dist/dtos/project-item.dto.js.map +1 -0
  81. package/dist/dtos/project-query-dto.d.ts +8 -0
  82. package/dist/dtos/project-query-dto.js +56 -0
  83. package/dist/dtos/project-query-dto.js.map +1 -0
  84. package/dist/dtos/project-sort-by.dto.d.ts +6 -0
  85. package/dist/dtos/project-sort-by.dto.js +31 -0
  86. package/dist/dtos/project-sort-by.dto.js.map +1 -0
  87. package/dist/dtos/project-update.dto.d.ts +4 -0
  88. package/dist/dtos/project-update.dto.js +47 -0
  89. package/dist/dtos/project-update.dto.js.map +1 -0
  90. package/dist/dtos/project.dto.d.ts +16 -0
  91. package/dist/dtos/project.dto.js +125 -0
  92. package/dist/dtos/project.dto.js.map +1 -0
  93. package/dist/dtos/run-project-payload.dto.d.ts +4 -0
  94. package/dist/dtos/run-project-payload.dto.js +24 -0
  95. package/dist/dtos/run-project-payload.dto.js.map +1 -0
  96. package/dist/dtos/user.dto.d.ts +4 -0
  97. package/dist/dtos/user.dto.js +29 -0
  98. package/dist/dtos/user.dto.js.map +1 -0
  99. package/dist/dtos/workflow-filter.dto.d.ts +4 -0
  100. package/dist/dtos/workflow-filter.dto.js +32 -0
  101. package/dist/dtos/workflow-filter.dto.js.map +1 -0
  102. package/dist/dtos/workflow-item.dto.d.ts +19 -0
  103. package/dist/dtos/workflow-item.dto.js +170 -0
  104. package/dist/dtos/workflow-item.dto.js.map +1 -0
  105. package/dist/dtos/workflow-query-dto.d.ts +8 -0
  106. package/dist/dtos/workflow-query-dto.js +56 -0
  107. package/dist/dtos/workflow-query-dto.js.map +1 -0
  108. package/dist/dtos/workflow-sort-by.dto.d.ts +6 -0
  109. package/dist/dtos/workflow-sort-by.dto.js +31 -0
  110. package/dist/dtos/workflow-sort-by.dto.js.map +1 -0
  111. package/dist/dtos/workflow.dto.d.ts +20 -0
  112. package/dist/dtos/workflow.dto.js +180 -0
  113. package/dist/dtos/workflow.dto.js.map +1 -0
  114. package/dist/dtos/workspace-config.dto.d.ts +4 -0
  115. package/dist/dtos/workspace-config.dto.js +36 -0
  116. package/dist/dtos/workspace-config.dto.js.map +1 -0
  117. package/dist/dtos/workspace-create.dto.d.ts +4 -0
  118. package/dist/dtos/workspace-create.dto.js +38 -0
  119. package/dist/dtos/workspace-create.dto.js.map +1 -0
  120. package/dist/dtos/workspace-filter.dto.d.ts +2 -0
  121. package/dist/dtos/workspace-filter.dto.js +7 -0
  122. package/dist/dtos/workspace-filter.dto.js.map +1 -0
  123. package/dist/dtos/workspace-item.dto.d.ts +9 -0
  124. package/dist/dtos/workspace-item.dto.js +70 -0
  125. package/dist/dtos/workspace-item.dto.js.map +1 -0
  126. package/dist/dtos/workspace-query-dto.d.ts +8 -0
  127. package/dist/dtos/workspace-query-dto.js +56 -0
  128. package/dist/dtos/workspace-query-dto.js.map +1 -0
  129. package/dist/dtos/workspace-sort-by.dto.d.ts +6 -0
  130. package/dist/dtos/workspace-sort-by.dto.js +31 -0
  131. package/dist/dtos/workspace-sort-by.dto.js.map +1 -0
  132. package/dist/dtos/workspace-update.dto.d.ts +3 -0
  133. package/dist/dtos/workspace-update.dto.js +29 -0
  134. package/dist/dtos/workspace-update.dto.js.map +1 -0
  135. package/dist/dtos/workspace.dto.d.ts +10 -0
  136. package/dist/dtos/workspace.dto.js +79 -0
  137. package/dist/dtos/workspace.dto.js.map +1 -0
  138. package/dist/enums/sort-order.enum.d.ts +4 -0
  139. package/dist/enums/sort-order.enum.js +9 -0
  140. package/dist/enums/sort-order.enum.js.map +1 -0
  141. package/dist/guards/dev-auth.guard.d.ts +8 -0
  142. package/dist/guards/dev-auth.guard.js +34 -0
  143. package/dist/guards/dev-auth.guard.js.map +1 -0
  144. package/dist/guards/jwt-auth.guard.d.ts +4 -0
  145. package/dist/guards/jwt-auth.guard.js +18 -0
  146. package/dist/guards/jwt-auth.guard.js.map +1 -0
  147. package/dist/index.d.ts +1 -0
  148. package/dist/index.js +18 -0
  149. package/dist/index.js.map +1 -0
  150. package/dist/interfaces/api-config-options.d.ts +11 -0
  151. package/dist/interfaces/api-config-options.js +3 -0
  152. package/dist/interfaces/api-config-options.js.map +1 -0
  153. package/dist/interfaces/api-request.type.d.ts +6 -0
  154. package/dist/interfaces/api-request.type.js +3 -0
  155. package/dist/interfaces/api-request.type.js.map +1 -0
  156. package/dist/interfaces/module-options.interface.d.ts +2 -0
  157. package/dist/interfaces/module-options.interface.js +3 -0
  158. package/dist/interfaces/module-options.interface.js.map +1 -0
  159. package/dist/loop-api.module-definition.d.ts +2 -0
  160. package/dist/loop-api.module-definition.js +7 -0
  161. package/dist/loop-api.module-definition.js.map +1 -0
  162. package/dist/loopstack-api.module.d.ts +6 -0
  163. package/dist/loopstack-api.module.js +119 -0
  164. package/dist/loopstack-api.module.js.map +1 -0
  165. package/dist/services/auth.service.d.ts +9 -0
  166. package/dist/services/auth.service.js +37 -0
  167. package/dist/services/auth.service.js.map +1 -0
  168. package/dist/services/document-api.service.d.ts +20 -0
  169. package/dist/services/document-api.service.js +73 -0
  170. package/dist/services/document-api.service.js.map +1 -0
  171. package/dist/services/namespace-api.service.d.ts +20 -0
  172. package/dist/services/namespace-api.service.js +74 -0
  173. package/dist/services/namespace-api.service.js.map +1 -0
  174. package/dist/services/processor-api.service.d.ts +13 -0
  175. package/dist/services/processor-api.service.js +65 -0
  176. package/dist/services/processor-api.service.js.map +1 -0
  177. package/dist/services/project-api.service.d.ts +36 -0
  178. package/dist/services/project-api.service.js +187 -0
  179. package/dist/services/project-api.service.js.map +1 -0
  180. package/dist/services/workflow-api.service.d.ts +21 -0
  181. package/dist/services/workflow-api.service.js +84 -0
  182. package/dist/services/workflow-api.service.js.map +1 -0
  183. package/dist/services/workspace-api.service.d.ts +35 -0
  184. package/dist/services/workspace-api.service.js +173 -0
  185. package/dist/services/workspace-api.service.js.map +1 -0
  186. package/dist/services/ws-event-emitter.service.d.ts +12 -0
  187. package/dist/services/ws-event-emitter.service.js +65 -0
  188. package/dist/services/ws-event-emitter.service.js.map +1 -0
  189. package/dist/strategies/jwt.strategy.d.ts +8 -0
  190. package/dist/strategies/jwt.strategy.js +39 -0
  191. package/dist/strategies/jwt.strategy.js.map +1 -0
  192. package/dist/strategies/null.strategy.d.ts +10 -0
  193. package/dist/strategies/null.strategy.js +30 -0
  194. package/dist/strategies/null.strategy.js.map +1 -0
  195. package/dist/tsconfig.tsbuildinfo +1 -0
  196. package/dist/utils/get-entity-columns.util.d.ts +1 -0
  197. package/dist/utils/get-entity-columns.util.js +11 -0
  198. package/dist/utils/get-entity-columns.util.js.map +1 -0
  199. package/package.json +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-order.enum.js","sourceRoot":"","sources":["../../src/enums/sort-order.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
@@ -0,0 +1,8 @@
1
+ import { ConfigService } from '@nestjs/config';
2
+ declare const DevAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
3
+ export declare class DevAuthGuard extends DevAuthGuard_base {
4
+ private configService;
5
+ constructor(configService: ConfigService);
6
+ canActivate(context: any): boolean | Promise<boolean> | import("rxjs").Observable<boolean>;
7
+ }
8
+ export {};
@@ -0,0 +1,34 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.DevAuthGuard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const passport_1 = require("@nestjs/passport");
15
+ const config_1 = require("@nestjs/config");
16
+ let DevAuthGuard = class DevAuthGuard extends (0, passport_1.AuthGuard)('null') {
17
+ configService;
18
+ constructor(configService) {
19
+ super();
20
+ this.configService = configService;
21
+ }
22
+ canActivate(context) {
23
+ if (this.configService.get('ENABLE_NULL_USER')) {
24
+ return super.canActivate(context);
25
+ }
26
+ return false;
27
+ }
28
+ };
29
+ exports.DevAuthGuard = DevAuthGuard;
30
+ exports.DevAuthGuard = DevAuthGuard = __decorate([
31
+ (0, common_1.Injectable)(),
32
+ __metadata("design:paramtypes", [config_1.ConfigService])
33
+ ], DevAuthGuard);
34
+ //# sourceMappingURL=dev-auth.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-auth.guard.js","sourceRoot":"","sources":["../../src/guards/dev-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA6C;AAC7C,2CAA+C;AAGxC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,MAAM,CAAC;IAC7B;IAApB,YAAoB,aAA4B;QAC9C,KAAK,EAAE,CAAC;QADU,kBAAa,GAAb,aAAa,CAAe;IAEhD,CAAC;IAED,WAAW,CAAC,OAAO;QACjB,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAZY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAEwB,sBAAa;GADrC,YAAY,CAYxB"}
@@ -0,0 +1,4 @@
1
+ declare const JwtAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
2
+ export declare class JwtAuthGuard extends JwtAuthGuard_base {
3
+ }
4
+ export {};
@@ -0,0 +1,18 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.JwtAuthGuard = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const passport_1 = require("@nestjs/passport");
12
+ let JwtAuthGuard = class JwtAuthGuard extends (0, passport_1.AuthGuard)('jwt') {
13
+ };
14
+ exports.JwtAuthGuard = JwtAuthGuard;
15
+ exports.JwtAuthGuard = JwtAuthGuard = __decorate([
16
+ (0, common_1.Injectable)()
17
+ ], JwtAuthGuard);
18
+ //# sourceMappingURL=jwt-auth.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt-auth.guard.js","sourceRoot":"","sources":["../../src/guards/jwt-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA6C;AAGtC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;CAAG,CAAA;AAAxC,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;GACA,YAAY,CAA4B"}
@@ -0,0 +1 @@
1
+ export * from './loopstack-api.module';
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./loopstack-api.module"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
@@ -0,0 +1,11 @@
1
+ import { OpenAPIObject } from '@nestjs/swagger/dist/interfaces';
2
+ export interface LoopstackApiConfigPluginOptions {
3
+ swagger?: {
4
+ enabled?: boolean;
5
+ config?: Omit<OpenAPIObject, 'paths'>;
6
+ };
7
+ cors?: {
8
+ enabled?: boolean;
9
+ options?: any;
10
+ };
11
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=api-config-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-config-options.js","sourceRoot":"","sources":["../../src/interfaces/api-config-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { Request as ExpressRequest } from 'express';
2
+ export type ApiRequestType = ExpressRequest & {
3
+ user: {
4
+ id: string | null;
5
+ };
6
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=api-request.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-request.type.js","sourceRoot":"","sources":["../../src/interfaces/api-request.type.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export interface ModuleOptionsInterface {
2
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=module-options.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-options.interface.js","sourceRoot":"","sources":["../../src/interfaces/module-options.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import { ModuleOptionsInterface } from './interfaces/module-options.interface';
2
+ export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<ModuleOptionsInterface, "register", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.MODULE_OPTIONS_TOKEN = exports.ConfigurableModuleClass = void 0;
5
+ const common_1 = require("@nestjs/common");
6
+ _a = new common_1.ConfigurableModuleBuilder().build(), exports.ConfigurableModuleClass = _a.ConfigurableModuleClass, exports.MODULE_OPTIONS_TOKEN = _a.MODULE_OPTIONS_TOKEN;
7
+ //# sourceMappingURL=loop-api.module-definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loop-api.module-definition.js","sourceRoot":"","sources":["../src/loop-api.module-definition.ts"],"names":[],"mappings":";;;;AAAA,2CAA2D;AAG9C,KACX,IAAI,kCAAyB,EAA0B,CAAC,KAAK,EAAE,EADlD,+BAAuB,+BAAE,4BAAoB,2BACM"}
@@ -0,0 +1,6 @@
1
+ import { INestApplication } from '@nestjs/common';
2
+ import { ConfigurableModuleClass } from './loop-api.module-definition';
3
+ import { LoopstackApiConfigPluginOptions } from './interfaces/api-config-options';
4
+ export declare class LoopstackApiModule extends ConfigurableModuleClass {
5
+ static setup(app: INestApplication, options?: LoopstackApiConfigPluginOptions): void;
6
+ }
@@ -0,0 +1,119 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LoopstackApiModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const loop_api_module_definition_1 = require("./loop-api.module-definition");
12
+ const project_controller_1 = require("./controllers/project.controller");
13
+ const project_api_service_1 = require("./services/project-api.service");
14
+ const config_1 = require("@nestjs/config");
15
+ const typeorm_1 = require("@nestjs/typeorm");
16
+ const workspace_controller_1 = require("./controllers/workspace.controller");
17
+ const workspace_api_service_1 = require("./services/workspace-api.service");
18
+ const processor_api_service_1 = require("./services/processor-api.service");
19
+ const shared_1 = require("@loopstack/shared");
20
+ const processor_controller_1 = require("./controllers/processor.controller");
21
+ const swagger_1 = require("@nestjs/swagger");
22
+ const workflow_controller_1 = require("./controllers/workflow.controller");
23
+ const document_controller_1 = require("./controllers/document.controller");
24
+ const workflow_api_service_1 = require("./services/workflow-api.service");
25
+ const document_api_service_1 = require("./services/document-api.service");
26
+ const namespace_controller_1 = require("./controllers/namespace.controller");
27
+ const namespace_api_service_1 = require("./services/namespace-api.service");
28
+ const core_1 = require("@loopstack/core");
29
+ const passport_1 = require("@nestjs/passport");
30
+ const jwt_1 = require("@nestjs/jwt");
31
+ const null_strategy_1 = require("./strategies/null.strategy");
32
+ const auth_controller_1 = require("./controllers/auth.controller");
33
+ const jwt_strategy_1 = require("./strategies/jwt.strategy");
34
+ const auth_service_1 = require("./services/auth.service");
35
+ const ws_event_emitter_service_1 = require("./services/ws-event-emitter.service");
36
+ const event_emitter_1 = require("@nestjs/event-emitter");
37
+ const microservices_1 = require("@nestjs/microservices");
38
+ const config_controller_1 = require("./controllers/config.controller");
39
+ var cookieParser = require('cookie-parser');
40
+ let LoopstackApiModule = class LoopstackApiModule extends loop_api_module_definition_1.ConfigurableModuleClass {
41
+ static setup(app, options = {}) {
42
+ const corsEnabled = options.cors?.enabled ?? true;
43
+ if (corsEnabled) {
44
+ app.enableCors(options.cors?.options ?? {
45
+ origin: true,
46
+ credentials: true,
47
+ });
48
+ }
49
+ const swaggerEnabled = options.swagger?.enabled ?? true;
50
+ if (swaggerEnabled) {
51
+ const config = options.swagger?.config ??
52
+ new swagger_1.DocumentBuilder()
53
+ .setTitle('Loopstack API Documentation')
54
+ .setDescription('Loopstack API Documentation')
55
+ .setVersion('1.0')
56
+ .build();
57
+ const documentFactory = () => swagger_1.SwaggerModule.createDocument(app, config);
58
+ swagger_1.SwaggerModule.setup('api', app, documentFactory);
59
+ }
60
+ app.use(cookieParser());
61
+ }
62
+ };
63
+ exports.LoopstackApiModule = LoopstackApiModule;
64
+ exports.LoopstackApiModule = LoopstackApiModule = __decorate([
65
+ (0, common_1.Module)({
66
+ imports: [
67
+ config_1.ConfigModule.forRoot({
68
+ isGlobal: true,
69
+ }),
70
+ typeorm_1.TypeOrmModule.forFeature([
71
+ shared_1.ProjectEntity,
72
+ shared_1.WorkspaceEntity,
73
+ shared_1.WorkflowEntity,
74
+ shared_1.DocumentEntity,
75
+ shared_1.NamespaceEntity,
76
+ ]),
77
+ microservices_1.ClientsModule.register([
78
+ {
79
+ name: 'REDIS_PUB_SUB',
80
+ transport: microservices_1.Transport.REDIS,
81
+ options: {
82
+ host: process.env.REDIS_HOST ?? 'localhost',
83
+ port: parseInt(process.env.REDIS_PORT ?? '6379', 0),
84
+ },
85
+ },
86
+ ]),
87
+ event_emitter_1.EventEmitterModule.forRoot(),
88
+ core_1.LoopCoreModule.forRoot(),
89
+ passport_1.PassportModule,
90
+ jwt_1.JwtModule.register({
91
+ secret: process.env.JWT_SECRET ?? 'NO SECRET',
92
+ }),
93
+ ],
94
+ controllers: [
95
+ auth_controller_1.AuthController,
96
+ project_controller_1.ProjectController,
97
+ workspace_controller_1.WorkspaceController,
98
+ processor_controller_1.ProcessorController,
99
+ workflow_controller_1.WorkflowController,
100
+ document_controller_1.DocumentController,
101
+ namespace_controller_1.NamespaceController,
102
+ config_controller_1.ConfigController,
103
+ ],
104
+ providers: [
105
+ auth_service_1.AuthService,
106
+ jwt_strategy_1.JwtStrategy,
107
+ null_strategy_1.NullStrategy,
108
+ ws_event_emitter_service_1.WsEventEmitterService,
109
+ project_api_service_1.ProjectApiService,
110
+ workspace_api_service_1.WorkspaceApiService,
111
+ processor_api_service_1.ProcessorApiService,
112
+ workflow_api_service_1.WorkflowApiService,
113
+ document_api_service_1.DocumentApiService,
114
+ namespace_api_service_1.NamespaceApiService,
115
+ ],
116
+ exports: [project_api_service_1.ProjectApiService, workspace_api_service_1.WorkspaceApiService, processor_api_service_1.ProcessorApiService],
117
+ })
118
+ ], LoopstackApiModule);
119
+ //# sourceMappingURL=loopstack-api.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopstack-api.module.js","sourceRoot":"","sources":["../src/loopstack-api.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { JwtService } from '@nestjs/jwt';
2
+ import { UserDto } from '../dtos/user.dto';
3
+ export declare class AuthService {
4
+ private readonly jwtService;
5
+ constructor(jwtService: JwtService);
6
+ login(user: {
7
+ id: string | null;
8
+ }, response: any): Promise<UserDto>;
9
+ }
@@ -0,0 +1,37 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuthService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const jwt_1 = require("@nestjs/jwt");
15
+ const user_dto_1 = require("../dtos/user.dto");
16
+ let AuthService = class AuthService {
17
+ jwtService;
18
+ constructor(jwtService) {
19
+ this.jwtService = jwtService;
20
+ }
21
+ async login(user, response) {
22
+ const payload = { id: user.id };
23
+ const token = this.jwtService.sign(payload);
24
+ response.cookie('jwt', token, {
25
+ httpOnly: true,
26
+ secure: process.env.NODE_ENV === 'production',
27
+ sameSite: 'strict',
28
+ });
29
+ return new user_dto_1.UserDto(payload.id);
30
+ }
31
+ };
32
+ exports.AuthService = AuthService;
33
+ exports.AuthService = AuthService = __decorate([
34
+ (0, common_1.Injectable)(),
35
+ __metadata("design:paramtypes", [jwt_1.JwtService])
36
+ ], AuthService);
37
+ //# sourceMappingURL=auth.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/services/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,qCAAyC;AACzC,+CAA2C;AAGpC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEH;IADnB,YACmB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEJ,KAAK,CAAC,KAAK,CAAC,IAA2B,EAAE,QAAa;QACpD,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE5C,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE;YAC5B,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;YAC7C,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,OAAO,IAAI,kBAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAjBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAGoB,gBAAU;GAF9B,WAAW,CAiBvB"}
@@ -0,0 +1,20 @@
1
+ import { Repository } from 'typeorm';
2
+ import { ConfigService } from '@nestjs/config';
3
+ import { DocumentSortByDto } from '../dtos/document-sort-by.dto';
4
+ import { DocumentFilterDto } from '../dtos/document-filter.dto';
5
+ import { DocumentEntity } from '@loopstack/shared';
6
+ export declare class DocumentApiService {
7
+ private documentRepository;
8
+ private configService;
9
+ constructor(documentRepository: Repository<DocumentEntity>, configService: ConfigService);
10
+ findAll(user: string | null, filter: DocumentFilterDto, sortBy: DocumentSortByDto[], pagination: {
11
+ page: number | undefined;
12
+ limit: number | undefined;
13
+ }): Promise<{
14
+ data: DocumentEntity[];
15
+ total: number;
16
+ page: number;
17
+ limit: number;
18
+ }>;
19
+ findOneById(id: string, user: string | null): Promise<DocumentEntity>;
20
+ }
@@ -0,0 +1,73 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.DocumentApiService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("typeorm");
18
+ const config_1 = require("@nestjs/config");
19
+ const typeorm_2 = require("@nestjs/typeorm");
20
+ const shared_1 = require("@loopstack/shared");
21
+ let DocumentApiService = class DocumentApiService {
22
+ documentRepository;
23
+ configService;
24
+ constructor(documentRepository, configService) {
25
+ this.documentRepository = documentRepository;
26
+ this.configService = configService;
27
+ }
28
+ async findAll(user, filter, sortBy, pagination) {
29
+ const defaultLimit = this.configService.get('DOCUMENT_DEFAULT_LIMIT', 100);
30
+ const defaultSortBy = this.configService.get('DOCUMENT_DEFAULT_SORT_BY', []);
31
+ const findOptions = {
32
+ where: {
33
+ createdBy: user === null ? (0, typeorm_1.IsNull)() : user,
34
+ ...filter,
35
+ },
36
+ order: (sortBy ?? defaultSortBy).reduce((acc, sort) => {
37
+ acc[sort.field] = sort.order;
38
+ return acc;
39
+ }, {}),
40
+ take: pagination.limit ?? defaultLimit,
41
+ skip: pagination.page && pagination.limit
42
+ ? (pagination.page - 1) * pagination.limit
43
+ : 0,
44
+ };
45
+ const [data, total] = await this.documentRepository.findAndCount(findOptions);
46
+ return {
47
+ data,
48
+ total,
49
+ page: pagination.page ?? 1,
50
+ limit: pagination.limit ?? defaultLimit,
51
+ };
52
+ }
53
+ async findOneById(id, user) {
54
+ const document = await this.documentRepository.findOne({
55
+ where: {
56
+ id,
57
+ createdBy: user === null ? (0, typeorm_1.IsNull)() : user,
58
+ },
59
+ });
60
+ if (!document) {
61
+ throw new common_1.NotFoundException(`Document with ID ${id} not found`);
62
+ }
63
+ return document;
64
+ }
65
+ };
66
+ exports.DocumentApiService = DocumentApiService;
67
+ exports.DocumentApiService = DocumentApiService = __decorate([
68
+ (0, common_1.Injectable)(),
69
+ __param(0, (0, typeorm_2.InjectRepository)(shared_1.DocumentEntity)),
70
+ __metadata("design:paramtypes", [typeorm_1.Repository,
71
+ config_1.ConfigService])
72
+ ], DocumentApiService);
73
+ //# sourceMappingURL=document-api.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-api.service.js","sourceRoot":"","sources":["../../src/services/document-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,qCAA8D;AAC9D,2CAA+C;AAE/C,6CAAmD;AAEnD,8CAAmD;AAG5C,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAGnB;IACA;IAHV,YAEU,kBAA8C,EAC9C,aAA4B;QAD5B,uBAAkB,GAAlB,kBAAkB,CAA4B;QAC9C,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,IAAmB,EACnB,MAAyB,EACzB,MAA2B,EAC3B,UAGC;QAOD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACzC,wBAAwB,EACxB,GAAG,CACJ,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAC1C,0BAA0B,EAC1B,EAAE,CACH,CAAC;QAEF,MAAM,WAAW,GAAoC;YACnD,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,IAAI;gBAC1C,GAAG,MAAM;aACV;YACD,KAAK,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAoC,CACrC;YACD,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;YACtC,IAAI,EACF,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK;gBACjC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK;gBAC1C,CAAC,CAAC,CAAC;SACR,CAAC;QAEF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GACjB,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE1D,OAAO;YACL,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC;YAC1B,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;SACxC,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,IAAmB;QAC/C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE;gBACL,EAAE;gBACF,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,IAAI;aAC3C;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,0BAAiB,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAA;AA/EY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,uBAAc,CAAC,CAAA;qCACL,oBAAU;QACf,sBAAa;GAJ3B,kBAAkB,CA+E9B"}
@@ -0,0 +1,20 @@
1
+ import { Repository } from 'typeorm';
2
+ import { ConfigService } from '@nestjs/config';
3
+ import { NamespaceFilterDto } from "../dtos/namespace-filter.dto";
4
+ import { NamespaceSortByDto } from "../dtos/namespace-sort-by.dto";
5
+ import { NamespaceEntity } from '@loopstack/shared';
6
+ export declare class NamespaceApiService {
7
+ private namespaceRepository;
8
+ private configService;
9
+ constructor(namespaceRepository: Repository<NamespaceEntity>, configService: ConfigService);
10
+ findAll(user: string | null, filter: NamespaceFilterDto, sortBy: NamespaceSortByDto[], pagination: {
11
+ page: number | undefined;
12
+ limit: number | undefined;
13
+ }): Promise<{
14
+ data: NamespaceEntity[];
15
+ total: number;
16
+ page: number;
17
+ limit: number;
18
+ }>;
19
+ findOneById(id: string, user: string | null): Promise<NamespaceEntity>;
20
+ }
@@ -0,0 +1,74 @@
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 __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.NamespaceApiService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("typeorm");
18
+ const config_1 = require("@nestjs/config");
19
+ const typeorm_2 = require("@nestjs/typeorm");
20
+ const shared_1 = require("@loopstack/shared");
21
+ let NamespaceApiService = class NamespaceApiService {
22
+ namespaceRepository;
23
+ configService;
24
+ constructor(namespaceRepository, configService) {
25
+ this.namespaceRepository = namespaceRepository;
26
+ this.configService = configService;
27
+ }
28
+ async findAll(user, filter, sortBy, pagination) {
29
+ const defaultLimit = this.configService.get('NAMESPACE_DEFAULT_LIMIT', 100);
30
+ const defaultSortBy = this.configService.get('NAMESPACE_DEFAULT_SORT_BY', []);
31
+ const findOptions = {
32
+ where: {
33
+ createdBy: user === null ? (0, typeorm_1.IsNull)() : user,
34
+ ...filter,
35
+ },
36
+ order: (sortBy ?? defaultSortBy).reduce((acc, sort) => {
37
+ acc[sort.field] = sort.order;
38
+ return acc;
39
+ }, {}),
40
+ take: pagination.limit ?? defaultLimit,
41
+ skip: pagination.page && pagination.limit
42
+ ? (pagination.page - 1) * pagination.limit
43
+ : 0,
44
+ };
45
+ const [data, total] = await this.namespaceRepository.findAndCount(findOptions);
46
+ return {
47
+ data,
48
+ total,
49
+ page: pagination.page ?? 1,
50
+ limit: pagination.limit ?? defaultLimit,
51
+ };
52
+ }
53
+ async findOneById(id, user) {
54
+ const namespace = await this.namespaceRepository.findOne({
55
+ where: {
56
+ id,
57
+ createdBy: user === null ? (0, typeorm_1.IsNull)() : user,
58
+ },
59
+ relations: ['workflows', 'children']
60
+ });
61
+ if (!namespace) {
62
+ throw new common_1.NotFoundException(`Namespace with ID ${id} not found`);
63
+ }
64
+ return namespace;
65
+ }
66
+ };
67
+ exports.NamespaceApiService = NamespaceApiService;
68
+ exports.NamespaceApiService = NamespaceApiService = __decorate([
69
+ (0, common_1.Injectable)(),
70
+ __param(0, (0, typeorm_2.InjectRepository)(shared_1.NamespaceEntity)),
71
+ __metadata("design:paramtypes", [typeorm_1.Repository,
72
+ config_1.ConfigService])
73
+ ], NamespaceApiService);
74
+ //# sourceMappingURL=namespace-api.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace-api.service.js","sourceRoot":"","sources":["../../src/services/namespace-api.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA+D;AAC/D,qCAA6D;AAC7D,2CAA+C;AAC/C,6CAAmD;AAGnD,8CAAoD;AAG7C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAGpB;IACA;IAHV,YAEU,mBAAgD,EAChD,aAA4B;QAD5B,wBAAmB,GAAnB,mBAAmB,CAA6B;QAChD,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IAKJ,KAAK,CAAC,OAAO,CACX,IAAmB,EACnB,MAA0B,EAC1B,MAA4B,EAC5B,UAGC;QAOD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CACzC,yBAAyB,EACzB,GAAG,CACJ,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAC1C,2BAA2B,EAC3B,EAAE,CACH,CAAC;QAEF,MAAM,WAAW,GAAqC;YACpD,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,IAAI;gBAC1C,GAAG,MAAM;aACV;YACD,KAAK,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,MAAM,CACrC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACZ,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC7B,OAAO,GAAG,CAAC;YACb,CAAC,EACD,EAAoC,CACrC;YACD,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;YACtC,IAAI,EACF,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,KAAK;gBACjC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK;gBAC1C,CAAC,CAAC,CAAC;SACR,CAAC;QAEF,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GACjB,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAE3D,OAAO;YACL,IAAI;YACJ,KAAK;YACL,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC;YAC1B,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,YAAY;SACxC,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,IAAmB;QAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACvD,KAAK,EAAE;gBACL,EAAE;gBACF,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAA,gBAAM,GAAE,CAAC,CAAC,CAAC,IAAI;aAC3C;YACD,SAAS,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,0BAAiB,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AAhFY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,wBAAe,CAAC,CAAA;qCACL,oBAAU;QAChB,sBAAa;GAJ3B,mBAAmB,CAgF/B"}
@@ -0,0 +1,13 @@
1
+ import { Repository } from 'typeorm';
2
+ import { ProjectProcessorService } from '@loopstack/core';
3
+ import { RunProjectPayloadDto } from '../dtos/run-project-payload.dto';
4
+ import { ProjectEntity, WorkspaceEntity } from '@loopstack/shared';
5
+ export declare class ProcessorApiService {
6
+ private projectRepository;
7
+ private workspaceRepository;
8
+ private processorService;
9
+ constructor(projectRepository: Repository<ProjectEntity>, workspaceRepository: Repository<WorkspaceEntity>, processorService: ProjectProcessorService);
10
+ processProject(projectId: string, user: string | null, payload: RunProjectPayloadDto, options?: {
11
+ force?: boolean;
12
+ }): Promise<any>;
13
+ }