@morphql/server 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/core/MorphServer.d.ts +46 -0
  2. package/dist/core/MorphServer.js +60 -0
  3. package/dist/core/MorphServer.js.map +1 -0
  4. package/dist/{src/swagger.helper.d.ts → core/OpenAPIGenerator.d.ts} +4 -1
  5. package/dist/{src/swagger.helper.js → core/OpenAPIGenerator.js} +54 -7
  6. package/dist/core/OpenAPIGenerator.js.map +1 -0
  7. package/dist/core/StagedQueryManager.d.ts +22 -0
  8. package/dist/core/StagedQueryManager.js +68 -0
  9. package/dist/core/StagedQueryManager.js.map +1 -0
  10. package/dist/core/index.d.ts +3 -0
  11. package/dist/core/index.js +4 -0
  12. package/dist/core/index.js.map +1 -0
  13. package/dist/index.d.ts +1 -0
  14. package/dist/index.js +2 -0
  15. package/dist/index.js.map +1 -0
  16. package/package.json +17 -48
  17. package/Dockerfile +0 -63
  18. package/dist/src/app.module.d.ts +0 -2
  19. package/dist/src/app.module.js +0 -24
  20. package/dist/src/app.module.js.map +0 -1
  21. package/dist/src/auth.guard.d.ts +0 -7
  22. package/dist/src/auth.guard.js +0 -88
  23. package/dist/src/auth.guard.js.map +0 -1
  24. package/dist/src/documentation.service.d.ts +0 -13
  25. package/dist/src/documentation.service.js +0 -151
  26. package/dist/src/documentation.service.js.map +0 -1
  27. package/dist/src/generate-docs.d.ts +0 -1
  28. package/dist/src/generate-docs.js +0 -23
  29. package/dist/src/generate-docs.js.map +0 -1
  30. package/dist/src/main.d.ts +0 -1
  31. package/dist/src/main.js +0 -32
  32. package/dist/src/main.js.map +0 -1
  33. package/dist/src/morph.controller.d.ts +0 -39
  34. package/dist/src/morph.controller.js +0 -251
  35. package/dist/src/morph.controller.js.map +0 -1
  36. package/dist/src/staged-queries.service.d.ts +0 -21
  37. package/dist/src/staged-queries.service.js +0 -118
  38. package/dist/src/staged-queries.service.js.map +0 -1
  39. package/dist/src/swagger.helper.js.map +0 -1
  40. package/dist/tsconfig.build.tsbuildinfo +0 -1
  41. package/dist/vitest.config.d.ts +0 -2
  42. package/dist/vitest.config.js +0 -20
  43. package/dist/vitest.config.js.map +0 -1
  44. package/docker-compose.yml +0 -32
@@ -1,151 +0,0 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- 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;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __metadata = (this && this.__metadata) || function (k, v) {
42
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
- };
44
- var DocumentationService_1;
45
- Object.defineProperty(exports, "__esModule", { value: true });
46
- exports.DocumentationService = void 0;
47
- const common_1 = require("@nestjs/common");
48
- const staged_queries_service_js_1 = require("./staged-queries.service.js");
49
- const swagger_helper_js_1 = require("./swagger.helper.js");
50
- const fs = __importStar(require("fs"));
51
- const path = __importStar(require("path"));
52
- let DocumentationService = DocumentationService_1 = class DocumentationService {
53
- stagedQueriesService;
54
- logger = new common_1.Logger(DocumentationService_1.name);
55
- docsDir = path.join(process.cwd(), 'staged-docs');
56
- constructor(stagedQueriesService) {
57
- this.stagedQueriesService = stagedQueriesService;
58
- }
59
- async onModuleInit() {
60
- await this.refresh();
61
- }
62
- async refresh() {
63
- await this.stagedQueriesService.waitReady();
64
- if (!fs.existsSync(this.docsDir)) {
65
- fs.mkdirSync(this.docsDir, { recursive: true });
66
- }
67
- const queries = this.stagedQueriesService.getQueries();
68
- this.logger.log(`Refreshing documentation for ${queries.length} staged queries`);
69
- for (const query of queries) {
70
- const spec = await this.generateQuerySpec(query);
71
- const filePath = path.join(this.docsDir, `${query.name}.json`);
72
- fs.writeFileSync(filePath, JSON.stringify(spec, null, 2));
73
- }
74
- }
75
- async generateQuerySpec(query) {
76
- const requestSchema = swagger_helper_js_1.SwaggerHelper.schemaNodeToOpenAPI(query.analysis.source, query.meta);
77
- const responseSchema = swagger_helper_js_1.SwaggerHelper.schemaNodeToOpenAPI(query.analysis.target, query.meta);
78
- try {
79
- const sampleInput = swagger_helper_js_1.SwaggerHelper.schemaToSample(requestSchema);
80
- const responseExample = await query.engine(sampleInput);
81
- responseSchema.example = responseExample;
82
- }
83
- catch (e) {
84
- this.logger.warn(`Failed to generate automatic response example for ${query.name}: ${e instanceof Error ? e.message : String(e)}`);
85
- }
86
- const sourceMime = this.getMimeType(query.analysis.sourceFormat);
87
- const targetMime = this.getMimeType(query.analysis.targetFormat);
88
- if (sourceMime === 'application/xml') {
89
- requestSchema.xml = { name: 'root' };
90
- }
91
- if (targetMime === 'application/xml') {
92
- responseSchema.xml = { name: 'root' };
93
- }
94
- return {
95
- paths: {
96
- [`/v1/q/${query.name}`]: {
97
- post: {
98
- tags: ['Staged Queries'],
99
- summary: `Execute staged query: ${query.name}`,
100
- operationId: `execute_${query.name}`,
101
- requestBody: {
102
- required: true,
103
- content: {
104
- [sourceMime]: {
105
- schema: requestSchema,
106
- },
107
- },
108
- },
109
- responses: {
110
- '200': {
111
- description: 'Successful transformation',
112
- content: {
113
- [targetMime]: {
114
- schema: responseSchema,
115
- },
116
- },
117
- },
118
- },
119
- },
120
- },
121
- },
122
- };
123
- }
124
- getMimeType(format) {
125
- switch (format?.toLowerCase()) {
126
- case 'json':
127
- return 'application/json';
128
- case 'xml':
129
- return 'application/xml';
130
- default:
131
- return 'text/plain';
132
- }
133
- }
134
- getDocFragments() {
135
- if (!fs.existsSync(this.docsDir))
136
- return [];
137
- const files = fs
138
- .readdirSync(this.docsDir)
139
- .filter((f) => f.endsWith('.json'));
140
- return files.map((file) => {
141
- const content = fs.readFileSync(path.join(this.docsDir, file), 'utf-8');
142
- return JSON.parse(content);
143
- });
144
- }
145
- };
146
- exports.DocumentationService = DocumentationService;
147
- exports.DocumentationService = DocumentationService = DocumentationService_1 = __decorate([
148
- (0, common_1.Injectable)(),
149
- __metadata("design:paramtypes", [staged_queries_service_js_1.StagedQueriesService])
150
- ], DocumentationService);
151
- //# sourceMappingURL=documentation.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentation.service.js","sourceRoot":"","sources":["../../src/documentation.service.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@nestjs/core");
4
- const app_module_js_1 = require("../src/app.module.js");
5
- const documentation_service_js_1 = require("../src/documentation.service.js");
6
- const staged_queries_service_js_1 = require("../src/staged-queries.service.js");
7
- async function generate() {
8
- console.log('Starting MorphQL Documentation Generation...');
9
- const app = await core_1.NestFactory.createApplicationContext(app_module_js_1.AppModule, {
10
- logger: ['error', 'warn'],
11
- });
12
- const stagedQueriesService = app.get(staged_queries_service_js_1.StagedQueriesService);
13
- const docService = app.get(documentation_service_js_1.DocumentationService);
14
- await stagedQueriesService.loadQueries();
15
- await docService.refresh();
16
- console.log('Documentation generated successfully in staged-docs/');
17
- await app.close();
18
- }
19
- generate().catch((err) => {
20
- console.error('Failed to generate documentation:', err);
21
- process.exit(1);
22
- });
23
- //# sourceMappingURL=generate-docs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-docs.js","sourceRoot":"","sources":["../../src/generate-docs.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,wDAAiD;AACjD,8EAAuE;AACvE,gFAAwE;AAExE,KAAK,UAAU,QAAQ;IACrB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,wBAAwB,CAAC,yBAAS,EAAE;QAChE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;KAC1B,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,GAAG,CAAC,GAAG,CAAC,gDAAoB,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,+CAAoB,CAAC,CAAC;IAEjD,MAAM,oBAAoB,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;IACpE,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACvB,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
package/dist/src/main.js DELETED
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("@nestjs/core");
4
- const app_module_js_1 = require("./app.module.js");
5
- const swagger_1 = require("@nestjs/swagger");
6
- const documentation_service_js_1 = require("./documentation.service.js");
7
- async function bootstrap() {
8
- const app = await core_1.NestFactory.create(app_module_js_1.AppModule);
9
- const config = new swagger_1.DocumentBuilder()
10
- .setTitle('MorphQL API')
11
- .setDescription('Stateless Transformation Engine')
12
- .setVersion('1.0')
13
- .addApiKey({ type: 'apiKey', name: 'X-API-KEY', in: 'header' }, 'X-API-KEY')
14
- .build();
15
- const document = swagger_1.SwaggerModule.createDocument(app, config);
16
- const docService = app.get(documentation_service_js_1.DocumentationService);
17
- const fragments = docService.getDocFragments();
18
- for (const fragment of fragments) {
19
- if (fragment.paths) {
20
- Object.assign(document.paths, fragment.paths);
21
- }
22
- if (fragment.components?.schemas) {
23
- document.components = document.components || {};
24
- document.components.schemas = document.components.schemas || {};
25
- Object.assign(document.components.schemas, fragment.components.schemas);
26
- }
27
- }
28
- swagger_1.SwaggerModule.setup('api', app, document);
29
- await app.listen(process.env.PORT ?? 3000);
30
- }
31
- bootstrap();
32
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,mDAA4C;AAC5C,6CAAgF;AAChF,yEAAkE;AAElE,KAAK,UAAU,SAAS;IACtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,yBAAS,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,aAAa,CAAC;SACvB,cAAc,CAAC,iCAAiC,CAAC;SACjD,UAAU,CAAC,KAAK,CAAC;SACjB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,WAAW,CAAC;SAC3E,KAAK,EAAE,CAAC;IACX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAG3D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,+CAAoB,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,CAAC;IAC/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YACjC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;YAChD,QAAQ,CAAC,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,uBAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE1C,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAC7C,CAAC;AACD,SAAS,EAAE,CAAC"}
@@ -1,39 +0,0 @@
1
- import { StagedQueriesService } from './staged-queries.service.js';
2
- import { DocumentationService } from './documentation.service.js';
3
- export declare class ExecuteDto {
4
- query: string;
5
- data: Record<string, unknown>;
6
- }
7
- export declare class CompileDto {
8
- query: string;
9
- }
10
- export declare class ExecuteResponseDto {
11
- success: boolean;
12
- result: unknown;
13
- executionTime: number;
14
- }
15
- export declare class CompileResponseDto {
16
- success: boolean;
17
- code: string;
18
- }
19
- export declare class MorphController {
20
- private readonly stagedQueriesService;
21
- private readonly documentationService;
22
- constructor(stagedQueriesService: StagedQueriesService, documentationService: DocumentationService);
23
- execute(body: ExecuteDto): Promise<ExecuteResponseDto>;
24
- executeStaged(name: string, data: Record<string, unknown>, res: any): Promise<any>;
25
- private detectMimeType;
26
- refreshDocs(): Promise<{
27
- success: boolean;
28
- timestamp: string;
29
- }>;
30
- compile(body: CompileDto): Promise<CompileResponseDto>;
31
- health(): {
32
- status: string;
33
- timestamp: string;
34
- };
35
- ready(): Promise<{
36
- status: string;
37
- timestamp: string;
38
- }>;
39
- }
@@ -1,251 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __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.MorphController = exports.CompileResponseDto = exports.ExecuteResponseDto = exports.CompileDto = exports.ExecuteDto = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const auth_guard_js_1 = require("./auth.guard.js");
18
- const core_1 = require("@morphql/core");
19
- const staged_queries_service_js_1 = require("./staged-queries.service.js");
20
- const documentation_service_js_1 = require("./documentation.service.js");
21
- const cache_services_1 = require("@morphql/core/cache-services");
22
- const swagger_1 = require("@nestjs/swagger");
23
- const redisHost = process.env.REDIS_HOST;
24
- const cache = redisHost
25
- ? new cache_services_1.RedisCache({
26
- host: redisHost,
27
- port: process.env.REDIS_PORT ? parseInt(process.env.REDIS_PORT) : 6379,
28
- prefix: process.env.REDIS_PREFIX || 'morphql:',
29
- })
30
- : undefined;
31
- class ExecuteDto {
32
- query;
33
- data;
34
- }
35
- exports.ExecuteDto = ExecuteDto;
36
- __decorate([
37
- (0, swagger_1.ApiProperty)({
38
- description: 'The MorphQL query string',
39
- example: 'from json to json transform set name = split(fullName, " ")',
40
- }),
41
- __metadata("design:type", String)
42
- ], ExecuteDto.prototype, "query", void 0);
43
- __decorate([
44
- (0, swagger_1.ApiProperty)({
45
- description: 'The source data to transform',
46
- example: { fullName: 'John Doe' },
47
- }),
48
- __metadata("design:type", Object)
49
- ], ExecuteDto.prototype, "data", void 0);
50
- class CompileDto {
51
- query;
52
- }
53
- exports.CompileDto = CompileDto;
54
- __decorate([
55
- (0, swagger_1.ApiProperty)({
56
- description: 'The MorphQL query string',
57
- example: 'from json to json transform set name = split(fullName, " ")',
58
- }),
59
- __metadata("design:type", String)
60
- ], CompileDto.prototype, "query", void 0);
61
- class ExecuteResponseDto {
62
- success;
63
- result;
64
- executionTime;
65
- }
66
- exports.ExecuteResponseDto = ExecuteResponseDto;
67
- __decorate([
68
- (0, swagger_1.ApiProperty)(),
69
- __metadata("design:type", Boolean)
70
- ], ExecuteResponseDto.prototype, "success", void 0);
71
- __decorate([
72
- (0, swagger_1.ApiProperty)(),
73
- __metadata("design:type", Object)
74
- ], ExecuteResponseDto.prototype, "result", void 0);
75
- __decorate([
76
- (0, swagger_1.ApiProperty)(),
77
- __metadata("design:type", Number)
78
- ], ExecuteResponseDto.prototype, "executionTime", void 0);
79
- class CompileResponseDto {
80
- success;
81
- code;
82
- }
83
- exports.CompileResponseDto = CompileResponseDto;
84
- __decorate([
85
- (0, swagger_1.ApiProperty)(),
86
- __metadata("design:type", Boolean)
87
- ], CompileResponseDto.prototype, "success", void 0);
88
- __decorate([
89
- (0, swagger_1.ApiProperty)(),
90
- __metadata("design:type", String)
91
- ], CompileResponseDto.prototype, "code", void 0);
92
- let MorphController = class MorphController {
93
- stagedQueriesService;
94
- documentationService;
95
- constructor(stagedQueriesService, documentationService) {
96
- this.stagedQueriesService = stagedQueriesService;
97
- this.documentationService = documentationService;
98
- }
99
- async execute(body) {
100
- if (!body.query || !body.data) {
101
- throw new common_1.BadRequestException('Missing query or data');
102
- }
103
- try {
104
- const start = performance.now();
105
- const engine = await (0, core_1.compile)(body.query, { cache });
106
- const result = await engine(body.data);
107
- const end = performance.now();
108
- return {
109
- success: true,
110
- result,
111
- executionTime: end - start,
112
- };
113
- }
114
- catch (e) {
115
- console.error('Execute Error:', e);
116
- const message = e instanceof Error ? e.message : 'Unknown compilation error';
117
- throw new common_1.InternalServerErrorException(message);
118
- }
119
- }
120
- async executeStaged(name, data, res) {
121
- const staged = this.stagedQueriesService.getQuery(name);
122
- if (!staged) {
123
- throw new common_1.BadRequestException(`Staged query not found: ${name}`);
124
- }
125
- try {
126
- const result = await staged.engine(data);
127
- const mimeType = this.detectMimeType(result);
128
- res.setHeader('Content-Type', mimeType);
129
- return result;
130
- }
131
- catch (e) {
132
- console.error('Staged Execute Error:', e);
133
- const message = e instanceof Error ? e.message : 'Unknown execution error';
134
- throw new common_1.InternalServerErrorException(message);
135
- }
136
- }
137
- detectMimeType(result) {
138
- if (typeof result === 'string') {
139
- const trimmed = result.trim();
140
- if (trimmed.startsWith('<?xml') ||
141
- (trimmed.startsWith('<') && trimmed.endsWith('>'))) {
142
- return 'application/xml';
143
- }
144
- return 'text/plain';
145
- }
146
- return 'application/json';
147
- }
148
- async refreshDocs() {
149
- await this.stagedQueriesService.loadQueries();
150
- await this.documentationService.refresh();
151
- return { success: true, timestamp: new Date().toISOString() };
152
- }
153
- async compile(body) {
154
- if (!body.query) {
155
- throw new common_1.BadRequestException('Missing query');
156
- }
157
- try {
158
- const engine = await (0, core_1.compile)(body.query, { cache });
159
- return {
160
- success: true,
161
- code: engine.code,
162
- };
163
- }
164
- catch (e) {
165
- const message = e instanceof Error ? e.message : 'Unknown compilation error';
166
- throw new common_1.InternalServerErrorException(message);
167
- }
168
- }
169
- health() {
170
- return { status: 'ok', timestamp: new Date().toISOString() };
171
- }
172
- async ready() {
173
- if (cache && redisHost) {
174
- const isRedisOk = await cache.ping();
175
- if (!isRedisOk) {
176
- throw new common_1.ServiceUnavailableException('Redis cache is unavailable');
177
- }
178
- }
179
- return { status: 'ready', timestamp: new Date().toISOString() };
180
- }
181
- };
182
- exports.MorphController = MorphController;
183
- __decorate([
184
- (0, common_1.Post)('execute'),
185
- (0, swagger_1.ApiOperation)({ summary: 'Execute a transformation' }),
186
- (0, swagger_1.ApiResponse)({ status: 200, type: ExecuteResponseDto }),
187
- __param(0, (0, common_1.Body)()),
188
- __metadata("design:type", Function),
189
- __metadata("design:paramtypes", [ExecuteDto]),
190
- __metadata("design:returntype", Promise)
191
- ], MorphController.prototype, "execute", null);
192
- __decorate([
193
- (0, common_1.Post)('q/:name'),
194
- (0, swagger_1.ApiOperation)({ summary: 'Execute a staged transformation' }),
195
- (0, swagger_1.ApiResponse)({ status: 200 }),
196
- __param(0, (0, common_1.Param)('name')),
197
- __param(1, (0, common_1.Body)()),
198
- __param(2, (0, common_1.Res)({ passthrough: true })),
199
- __metadata("design:type", Function),
200
- __metadata("design:paramtypes", [String, Object, Object]),
201
- __metadata("design:returntype", Promise)
202
- ], MorphController.prototype, "executeStaged", null);
203
- __decorate([
204
- (0, common_1.Post)('admin/refresh-docs'),
205
- (0, swagger_1.ApiOperation)({
206
- summary: 'Refresh OpenApi documentation from staged queries',
207
- }),
208
- (0, swagger_1.ApiResponse)({ status: 200, description: 'Documentation refreshed' }),
209
- __metadata("design:type", Function),
210
- __metadata("design:paramtypes", []),
211
- __metadata("design:returntype", Promise)
212
- ], MorphController.prototype, "refreshDocs", null);
213
- __decorate([
214
- (0, common_1.Post)('compile'),
215
- (0, swagger_1.ApiOperation)({ summary: 'Compile MorphQL to JavaScript' }),
216
- (0, swagger_1.ApiResponse)({ status: 200, type: CompileResponseDto }),
217
- __param(0, (0, common_1.Body)()),
218
- __metadata("design:type", Function),
219
- __metadata("design:paramtypes", [CompileDto]),
220
- __metadata("design:returntype", Promise)
221
- ], MorphController.prototype, "compile", null);
222
- __decorate([
223
- (0, common_1.Get)('health'),
224
- (0, swagger_1.ApiOperation)({ summary: 'Liveness check' }),
225
- (0, swagger_1.ApiResponse)({ status: 200, description: 'Service is alive' }),
226
- __metadata("design:type", Function),
227
- __metadata("design:paramtypes", []),
228
- __metadata("design:returntype", void 0)
229
- ], MorphController.prototype, "health", null);
230
- __decorate([
231
- (0, common_1.Get)('health/ready'),
232
- (0, swagger_1.ApiOperation)({ summary: 'Readiness check' }),
233
- (0, swagger_1.ApiResponse)({ status: 200, description: 'Service is ready' }),
234
- (0, swagger_1.ApiResponse)({ status: 503, description: 'Service is not ready' }),
235
- __metadata("design:type", Function),
236
- __metadata("design:paramtypes", []),
237
- __metadata("design:returntype", Promise)
238
- ], MorphController.prototype, "ready", null);
239
- exports.MorphController = MorphController = __decorate([
240
- (0, swagger_1.ApiTags)('Morph Engine'),
241
- (0, swagger_1.ApiHeader)({
242
- name: 'X-API-KEY',
243
- description: 'Optional API Key for authentication',
244
- required: false,
245
- }),
246
- (0, common_1.Controller)('v1'),
247
- (0, common_1.UseGuards)(auth_guard_js_1.ApiKeyGuard),
248
- __metadata("design:paramtypes", [staged_queries_service_js_1.StagedQueriesService,
249
- documentation_service_js_1.DocumentationService])
250
- ], MorphController);
251
- //# sourceMappingURL=morph.controller.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"morph.controller.js","sourceRoot":"","sources":["../../src/morph.controller.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { OnModuleInit } from '@nestjs/common';
2
- import { MorphEngine, AnalyzeResult } from '@morphql/core';
3
- export interface StagedQuery {
4
- name: string;
5
- query: string;
6
- engine: MorphEngine;
7
- analysis: AnalyzeResult;
8
- meta?: Record<string, any>;
9
- }
10
- export declare class StagedQueriesService implements OnModuleInit {
11
- private readonly logger;
12
- private readonly stagedQueries;
13
- private readonly queriesDir;
14
- private loadingPromise;
15
- onModuleInit(): Promise<void>;
16
- waitReady(): Promise<void>;
17
- loadQueries(): Promise<void>;
18
- private internalLoad;
19
- getQueries(): StagedQuery[];
20
- getQuery(name: string): StagedQuery | undefined;
21
- }