@objectql/server 1.8.3 → 1.9.0
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.
- package/CHANGELOG.md +27 -0
- package/dist/adapters/graphql.js +25 -0
- package/dist/adapters/graphql.js.map +1 -1
- package/dist/adapters/node.d.ts +3 -1
- package/dist/adapters/node.js +52 -29
- package/dist/adapters/node.js.map +1 -1
- package/dist/adapters/rest.d.ts +20 -10
- package/dist/adapters/rest.js +39 -31
- package/dist/adapters/rest.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +12 -2
- package/dist/metadata.js +31 -23
- package/dist/metadata.js.map +1 -1
- package/dist/openapi.d.ts +2 -2
- package/dist/openapi.js +6 -4
- package/dist/openapi.js.map +1 -1
- package/dist/utils.d.ts +15 -0
- package/dist/utils.js +24 -0
- package/dist/utils.js.map +1 -0
- package/package.json +3 -3
- package/src/adapters/graphql.ts +28 -0
- package/src/adapters/node.ts +44 -19
- package/src/adapters/rest.ts +34 -19
- package/src/index.ts +1 -1
- package/src/metadata.ts +29 -14
- package/src/openapi.ts +6 -5
- package/src/utils.ts +21 -0
- package/test/custom-routes.test.ts +297 -0
- package/test/metadata.test.ts +259 -0
- package/test/openapi.test.ts +354 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/studio.d.ts +0 -5
- package/dist/studio.js +0 -186
- package/dist/studio.js.map +0 -1
- package/src/studio.ts +0 -164
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @objectql/server
|
|
2
2
|
|
|
3
|
+
## 1.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Major documentation update and VS Code extension improvements
|
|
8
|
+
- Completely revised getting started documentation with emphasis on YAML-based metadata approach
|
|
9
|
+
- Improved quick start instructions for better onboarding experience
|
|
10
|
+
- Added comprehensive VS Code extension recommendations to example projects
|
|
11
|
+
- Enhanced developer experience with .vscode/extensions.json files
|
|
12
|
+
- Updated README to highlight the importance of the ObjectQL VS Code extension
|
|
13
|
+
- Added detailed documentation for all core features and API endpoints
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
- @objectql/core@1.9.0
|
|
19
|
+
- @objectql/types@1.9.0
|
|
20
|
+
|
|
21
|
+
## 1.8.4
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- Release version 1.8.4 with latest improvements and bug fixes
|
|
26
|
+
- Updated dependencies
|
|
27
|
+
- @objectql/types@1.8.4
|
|
28
|
+
- @objectql/core@1.8.4
|
|
29
|
+
|
|
3
30
|
## 1.8.3
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
package/dist/adapters/graphql.js
CHANGED
|
@@ -5,6 +5,21 @@ exports.createGraphQLHandler = createGraphQLHandler;
|
|
|
5
5
|
const server_1 = require("../server");
|
|
6
6
|
const types_1 = require("../types");
|
|
7
7
|
const graphql_1 = require("graphql");
|
|
8
|
+
const APOLLO_SANDBOX_HTML = `
|
|
9
|
+
<!DOCTYPE html>
|
|
10
|
+
<html lang="en">
|
|
11
|
+
<body style="margin: 0; overflow-x: hidden; overflow-y: hidden">
|
|
12
|
+
<div id="sandbox" style="height:100vh; width:100vw;"></div>
|
|
13
|
+
<script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js"></script>
|
|
14
|
+
<script>
|
|
15
|
+
new window.EmbeddedSandbox({
|
|
16
|
+
target: "#sandbox",
|
|
17
|
+
initialEndpoint: window.location.href,
|
|
18
|
+
includeCookies: false, // Set to true if you need auth cookies
|
|
19
|
+
});
|
|
20
|
+
</script>
|
|
21
|
+
</body>
|
|
22
|
+
</html>`;
|
|
8
23
|
/**
|
|
9
24
|
* Normalize ObjectQL response to use 'id' instead of '_id'
|
|
10
25
|
*/
|
|
@@ -375,6 +390,16 @@ function createGraphQLHandler(app) {
|
|
|
375
390
|
res.end();
|
|
376
391
|
return;
|
|
377
392
|
}
|
|
393
|
+
// HTML Playground Support (Apollo Sandbox)
|
|
394
|
+
// If it's a browser GET request without query params, show the playground
|
|
395
|
+
const acceptHeader = req.headers.accept || '';
|
|
396
|
+
const urlObj = new URL(req.url || '', `http://${req.headers.host || 'localhost'}`);
|
|
397
|
+
const hasQueryParams = urlObj.searchParams.has('query');
|
|
398
|
+
if (req.method === 'GET' && acceptHeader.includes('text/html') && !hasQueryParams) {
|
|
399
|
+
res.writeHead(200, { 'Content-Type': 'text/html' });
|
|
400
|
+
res.end(APOLLO_SANDBOX_HTML);
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
378
403
|
const url = req.url || '';
|
|
379
404
|
const method = req.method || 'POST';
|
|
380
405
|
if (method !== 'GET' && method !== 'POST') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/adapters/graphql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/adapters/graphql.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/node.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IObjectQL } from '@objectql/types';
|
|
1
|
+
import { IObjectQL, ApiRouteConfig } from '@objectql/types';
|
|
2
2
|
import { IFileStorage } from '../types';
|
|
3
3
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
4
4
|
/**
|
|
@@ -7,6 +7,8 @@ import { IncomingMessage, ServerResponse } from 'http';
|
|
|
7
7
|
export interface NodeHandlerOptions {
|
|
8
8
|
/** File storage provider (defaults to LocalFileStorage) */
|
|
9
9
|
fileStorage?: IFileStorage;
|
|
10
|
+
/** Custom API route configuration */
|
|
11
|
+
routes?: ApiRouteConfig;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* Creates a standard Node.js HTTP request handler.
|
package/dist/adapters/node.js
CHANGED
|
@@ -1,20 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createNodeHandler = createNodeHandler;
|
|
4
|
+
const types_1 = require("@objectql/types");
|
|
4
5
|
const server_1 = require("../server");
|
|
5
|
-
const
|
|
6
|
+
const types_2 = require("../types");
|
|
6
7
|
const openapi_1 = require("../openapi");
|
|
7
8
|
const file_handler_1 = require("../file-handler");
|
|
8
9
|
const storage_1 = require("../storage");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
9
11
|
/**
|
|
10
12
|
* Creates a standard Node.js HTTP request handler.
|
|
11
13
|
*/
|
|
12
14
|
function createNodeHandler(app, options) {
|
|
13
15
|
const server = new server_1.ObjectQLServer(app);
|
|
16
|
+
const routes = (0, types_1.resolveApiRoutes)(options === null || options === void 0 ? void 0 : options.routes);
|
|
14
17
|
// Initialize file storage
|
|
18
|
+
const defaultBaseUrl = process.env.OBJECTQL_BASE_URL || `http://localhost:3000${routes.files}`;
|
|
15
19
|
const fileStorage = (options === null || options === void 0 ? void 0 : options.fileStorage) || new storage_1.LocalFileStorage({
|
|
16
20
|
baseDir: process.env.OBJECTQL_UPLOAD_DIR || './uploads',
|
|
17
|
-
baseUrl:
|
|
21
|
+
baseUrl: defaultBaseUrl
|
|
18
22
|
});
|
|
19
23
|
// Create file handlers
|
|
20
24
|
const uploadHandler = (0, file_handler_1.createFileUploadHandler)(fileStorage, app);
|
|
@@ -22,6 +26,23 @@ function createNodeHandler(app, options) {
|
|
|
22
26
|
const downloadHandler = (0, file_handler_1.createFileDownloadHandler)(fileStorage);
|
|
23
27
|
return async (req, res) => {
|
|
24
28
|
var _a;
|
|
29
|
+
// CORS Headers
|
|
30
|
+
const origin = req.headers.origin;
|
|
31
|
+
if (origin) {
|
|
32
|
+
res.setHeader('Access-Control-Allow-Origin', origin);
|
|
33
|
+
res.setHeader('Access-Control-Allow-Credentials', 'true');
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
37
|
+
}
|
|
38
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
|
|
39
|
+
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With');
|
|
40
|
+
// Handle preflight requests
|
|
41
|
+
if (req.method === 'OPTIONS') {
|
|
42
|
+
res.statusCode = 204;
|
|
43
|
+
res.end();
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
25
46
|
// Handle OpenAPI spec request
|
|
26
47
|
if (req.method === 'GET' && ((_a = req.url) === null || _a === void 0 ? void 0 : _a.endsWith('/openapi.json'))) {
|
|
27
48
|
const spec = (0, openapi_1.generateOpenAPI)(app);
|
|
@@ -45,23 +66,23 @@ function createNodeHandler(app, options) {
|
|
|
45
66
|
let statusCode = 200;
|
|
46
67
|
if (result.error) {
|
|
47
68
|
switch (result.error.code) {
|
|
48
|
-
case
|
|
49
|
-
case
|
|
69
|
+
case types_2.ErrorCode.INVALID_REQUEST:
|
|
70
|
+
case types_2.ErrorCode.VALIDATION_ERROR:
|
|
50
71
|
statusCode = 400;
|
|
51
72
|
break;
|
|
52
|
-
case
|
|
73
|
+
case types_2.ErrorCode.UNAUTHORIZED:
|
|
53
74
|
statusCode = 401;
|
|
54
75
|
break;
|
|
55
|
-
case
|
|
76
|
+
case types_2.ErrorCode.FORBIDDEN:
|
|
56
77
|
statusCode = 403;
|
|
57
78
|
break;
|
|
58
|
-
case
|
|
79
|
+
case types_2.ErrorCode.NOT_FOUND:
|
|
59
80
|
statusCode = 404;
|
|
60
81
|
break;
|
|
61
|
-
case
|
|
82
|
+
case types_2.ErrorCode.CONFLICT:
|
|
62
83
|
statusCode = 409;
|
|
63
84
|
break;
|
|
64
|
-
case
|
|
85
|
+
case types_2.ErrorCode.RATE_LIMIT_EXCEEDED:
|
|
65
86
|
statusCode = 429;
|
|
66
87
|
break;
|
|
67
88
|
default:
|
|
@@ -77,7 +98,7 @@ function createNodeHandler(app, options) {
|
|
|
77
98
|
res.statusCode = 500;
|
|
78
99
|
res.end(JSON.stringify({
|
|
79
100
|
error: {
|
|
80
|
-
code:
|
|
101
|
+
code: types_2.ErrorCode.INTERNAL_ERROR,
|
|
81
102
|
message: 'Internal Server Error'
|
|
82
103
|
}
|
|
83
104
|
}));
|
|
@@ -87,22 +108,23 @@ function createNodeHandler(app, options) {
|
|
|
87
108
|
const urlObj = new URL(req.url || '/', `http://${req.headers.host || 'localhost'}`);
|
|
88
109
|
const pathName = urlObj.pathname;
|
|
89
110
|
const method = req.method;
|
|
90
|
-
// 1. JSON-RPC: POST
|
|
91
|
-
if (pathName ===
|
|
111
|
+
// 1. JSON-RPC: POST {rpcPath}
|
|
112
|
+
if (pathName === routes.rpc && method === 'POST') {
|
|
92
113
|
await processBody(req, async (json) => {
|
|
93
114
|
await handleRequest(json);
|
|
94
115
|
}, res);
|
|
95
116
|
return;
|
|
96
117
|
}
|
|
97
|
-
// 2. REST API:
|
|
98
|
-
// Regex to match /
|
|
99
|
-
const
|
|
118
|
+
// 2. REST API: {dataPath}/:object and {dataPath}/:object/:id
|
|
119
|
+
// Regex to match {dataPath}/objectName(/id)?
|
|
120
|
+
const escapedDataPath = (0, utils_1.escapeRegexPath)(routes.data);
|
|
121
|
+
const restMatch = pathName.match(new RegExp(`^${escapedDataPath}/([^/]+)(?:/(.+))?$`));
|
|
100
122
|
if (restMatch) {
|
|
101
123
|
const objectName = restMatch[1];
|
|
102
124
|
const id = restMatch[2];
|
|
103
125
|
const query = Object.fromEntries(urlObj.searchParams.entries());
|
|
104
126
|
if (method === 'GET') {
|
|
105
|
-
// GET
|
|
127
|
+
// GET {dataPath}/:object/:id -> findOne
|
|
106
128
|
if (id) {
|
|
107
129
|
await handleRequest({
|
|
108
130
|
op: 'findOne',
|
|
@@ -110,7 +132,7 @@ function createNodeHandler(app, options) {
|
|
|
110
132
|
args: id
|
|
111
133
|
});
|
|
112
134
|
}
|
|
113
|
-
// GET
|
|
135
|
+
// GET {dataPath}/:object -> find (List)
|
|
114
136
|
else {
|
|
115
137
|
// Parse standard params
|
|
116
138
|
const args = {};
|
|
@@ -133,7 +155,7 @@ function createNodeHandler(app, options) {
|
|
|
133
155
|
return;
|
|
134
156
|
}
|
|
135
157
|
if (method === 'POST' && !id) {
|
|
136
|
-
// POST
|
|
158
|
+
// POST {dataPath}/:object -> create
|
|
137
159
|
await processBody(req, async (body) => {
|
|
138
160
|
await handleRequest({
|
|
139
161
|
op: 'create',
|
|
@@ -144,7 +166,7 @@ function createNodeHandler(app, options) {
|
|
|
144
166
|
return;
|
|
145
167
|
}
|
|
146
168
|
if (method === 'PATCH' && id) {
|
|
147
|
-
// PATCH
|
|
169
|
+
// PATCH {dataPath}/:object/:id -> update
|
|
148
170
|
await processBody(req, async (body) => {
|
|
149
171
|
await handleRequest({
|
|
150
172
|
op: 'update',
|
|
@@ -158,7 +180,7 @@ function createNodeHandler(app, options) {
|
|
|
158
180
|
return;
|
|
159
181
|
}
|
|
160
182
|
if (method === 'DELETE' && id) {
|
|
161
|
-
// DELETE
|
|
183
|
+
// DELETE {dataPath}/:object/:id -> delete
|
|
162
184
|
await handleRequest({
|
|
163
185
|
op: 'delete',
|
|
164
186
|
object: objectName,
|
|
@@ -168,18 +190,19 @@ function createNodeHandler(app, options) {
|
|
|
168
190
|
}
|
|
169
191
|
}
|
|
170
192
|
// File Upload Endpoints
|
|
171
|
-
// POST /
|
|
172
|
-
if (pathName ===
|
|
193
|
+
// POST {filesPath}/upload - Single file upload
|
|
194
|
+
if (pathName === `${routes.files}/upload` && method === 'POST') {
|
|
173
195
|
await uploadHandler(req, res);
|
|
174
196
|
return;
|
|
175
197
|
}
|
|
176
|
-
// POST /
|
|
177
|
-
if (pathName ===
|
|
198
|
+
// POST {filesPath}/upload/batch - Batch file upload
|
|
199
|
+
if (pathName === `${routes.files}/upload/batch` && method === 'POST') {
|
|
178
200
|
await batchUploadHandler(req, res);
|
|
179
201
|
return;
|
|
180
202
|
}
|
|
181
|
-
// GET
|
|
182
|
-
const
|
|
203
|
+
// GET {filesPath}/:fileId - Download file
|
|
204
|
+
const escapedFilesPath = (0, utils_1.escapeRegexPath)(routes.files);
|
|
205
|
+
const fileMatch = pathName.match(new RegExp(`^${escapedFilesPath}/([^/]+)$`));
|
|
183
206
|
if (fileMatch && method === 'GET') {
|
|
184
207
|
const fileId = fileMatch[1];
|
|
185
208
|
await downloadHandler(req, res, fileId);
|
|
@@ -187,7 +210,7 @@ function createNodeHandler(app, options) {
|
|
|
187
210
|
}
|
|
188
211
|
// Fallback or 404
|
|
189
212
|
if (req.method === 'POST') {
|
|
190
|
-
// Fallback for root POSTs if people forget
|
|
213
|
+
// Fallback for root POSTs if people forget {rpcPath} but send to /api something
|
|
191
214
|
await processBody(req, handleRequest, res);
|
|
192
215
|
return;
|
|
193
216
|
}
|
|
@@ -195,11 +218,11 @@ function createNodeHandler(app, options) {
|
|
|
195
218
|
if (pathName === '/') {
|
|
196
219
|
res.setHeader('Allow', 'POST');
|
|
197
220
|
res.statusCode = 405;
|
|
198
|
-
res.end(JSON.stringify({ error: { code:
|
|
221
|
+
res.end(JSON.stringify({ error: { code: types_2.ErrorCode.INVALID_REQUEST, message: 'Method Not Allowed. Use POST for JSON-RPC.' } }));
|
|
199
222
|
return;
|
|
200
223
|
}
|
|
201
224
|
res.statusCode = 404;
|
|
202
|
-
res.end(JSON.stringify({ error: { code:
|
|
225
|
+
res.end(JSON.stringify({ error: { code: types_2.ErrorCode.NOT_FOUND, message: 'Not Found' } }));
|
|
203
226
|
};
|
|
204
227
|
}
|
|
205
228
|
// Helper to process body
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/adapters/node.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/rest.d.ts
CHANGED
|
@@ -1,17 +1,27 @@
|
|
|
1
|
-
import { IObjectQL } from '@objectql/types';
|
|
1
|
+
import { IObjectQL, ApiRouteConfig } from '@objectql/types';
|
|
2
2
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
3
|
+
/**
|
|
4
|
+
* Options for createRESTHandler
|
|
5
|
+
*/
|
|
6
|
+
export interface RESTHandlerOptions {
|
|
7
|
+
/** Custom API route configuration */
|
|
8
|
+
routes?: ApiRouteConfig;
|
|
9
|
+
}
|
|
3
10
|
/**
|
|
4
11
|
* Creates a REST-style HTTP request handler for ObjectQL
|
|
5
12
|
*
|
|
6
|
-
* Endpoints:
|
|
7
|
-
* - GET
|
|
8
|
-
* - GET
|
|
9
|
-
* - POST
|
|
10
|
-
* - POST
|
|
11
|
-
* - POST
|
|
12
|
-
* - PUT
|
|
13
|
-
* - DELETE
|
|
13
|
+
* Default Endpoints (configurable via routes option):
|
|
14
|
+
* - GET {dataPath}/:object - List records
|
|
15
|
+
* - GET {dataPath}/:object/:id - Get single record
|
|
16
|
+
* - POST {dataPath}/:object - Create record (or create many if array)
|
|
17
|
+
* - POST {dataPath}/:object/bulk-update - Update many records
|
|
18
|
+
* - POST {dataPath}/:object/bulk-delete - Delete many records
|
|
19
|
+
* - PUT {dataPath}/:object/:id - Update record
|
|
20
|
+
* - DELETE {dataPath}/:object/:id - Delete record
|
|
21
|
+
*
|
|
22
|
+
* @param app - ObjectQL application instance
|
|
23
|
+
* @param options - Optional configuration including custom routes
|
|
14
24
|
*/
|
|
15
|
-
export declare function createRESTHandler(app: IObjectQL): (req: IncomingMessage & {
|
|
25
|
+
export declare function createRESTHandler(app: IObjectQL, options?: RESTHandlerOptions): (req: IncomingMessage & {
|
|
16
26
|
body?: any;
|
|
17
27
|
}, res: ServerResponse) => Promise<void>;
|
package/dist/adapters/rest.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createRESTHandler = createRESTHandler;
|
|
4
|
+
const types_1 = require("@objectql/types");
|
|
4
5
|
const server_1 = require("../server");
|
|
5
|
-
const
|
|
6
|
+
const types_2 = require("../types");
|
|
7
|
+
const utils_1 = require("../utils");
|
|
6
8
|
/**
|
|
7
9
|
* Parse query string parameters
|
|
8
10
|
*/
|
|
@@ -60,17 +62,22 @@ function sendJSON(res, statusCode, data) {
|
|
|
60
62
|
/**
|
|
61
63
|
* Creates a REST-style HTTP request handler for ObjectQL
|
|
62
64
|
*
|
|
63
|
-
* Endpoints:
|
|
64
|
-
* - GET
|
|
65
|
-
* - GET
|
|
66
|
-
* - POST
|
|
67
|
-
* - POST
|
|
68
|
-
* - POST
|
|
69
|
-
* - PUT
|
|
70
|
-
* - DELETE
|
|
65
|
+
* Default Endpoints (configurable via routes option):
|
|
66
|
+
* - GET {dataPath}/:object - List records
|
|
67
|
+
* - GET {dataPath}/:object/:id - Get single record
|
|
68
|
+
* - POST {dataPath}/:object - Create record (or create many if array)
|
|
69
|
+
* - POST {dataPath}/:object/bulk-update - Update many records
|
|
70
|
+
* - POST {dataPath}/:object/bulk-delete - Delete many records
|
|
71
|
+
* - PUT {dataPath}/:object/:id - Update record
|
|
72
|
+
* - DELETE {dataPath}/:object/:id - Delete record
|
|
73
|
+
*
|
|
74
|
+
* @param app - ObjectQL application instance
|
|
75
|
+
* @param options - Optional configuration including custom routes
|
|
71
76
|
*/
|
|
72
|
-
function createRESTHandler(app) {
|
|
77
|
+
function createRESTHandler(app, options) {
|
|
73
78
|
const server = new server_1.ObjectQLServer(app);
|
|
79
|
+
const routes = (0, types_1.resolveApiRoutes)(options === null || options === void 0 ? void 0 : options.routes);
|
|
80
|
+
const dataPath = routes.data;
|
|
74
81
|
return async (req, res) => {
|
|
75
82
|
try {
|
|
76
83
|
// CORS headers
|
|
@@ -94,12 +101,13 @@ function createRESTHandler(app) {
|
|
|
94
101
|
}
|
|
95
102
|
const url = req.url || '';
|
|
96
103
|
const method = req.method || 'GET';
|
|
97
|
-
// Parse URL:
|
|
98
|
-
const
|
|
104
|
+
// Parse URL: {dataPath}/:object or {dataPath}/:object/:id or {dataPath}/:object/bulk-*
|
|
105
|
+
const escapedPath = (0, utils_1.escapeRegexPath)(dataPath);
|
|
106
|
+
const match = url.match(new RegExp(`^${escapedPath}/([^/\\?]+)(?:/([^/\\?]+))?(\\?.*)?$`));
|
|
99
107
|
if (!match) {
|
|
100
108
|
sendJSON(res, 404, {
|
|
101
109
|
error: {
|
|
102
|
-
code:
|
|
110
|
+
code: types_2.ErrorCode.NOT_FOUND,
|
|
103
111
|
message: 'Invalid REST API endpoint'
|
|
104
112
|
}
|
|
105
113
|
});
|
|
@@ -119,7 +127,7 @@ function createRESTHandler(app) {
|
|
|
119
127
|
};
|
|
120
128
|
}
|
|
121
129
|
else {
|
|
122
|
-
// GET
|
|
130
|
+
// GET {dataPath}/:object - List records
|
|
123
131
|
const args = {};
|
|
124
132
|
// Parse query parameters
|
|
125
133
|
if (queryParams.filter) {
|
|
@@ -153,7 +161,7 @@ function createRESTHandler(app) {
|
|
|
153
161
|
const createBody = req.body || await readBody(req);
|
|
154
162
|
// Check for bulk operations
|
|
155
163
|
if (id === 'bulk-update') {
|
|
156
|
-
// POST
|
|
164
|
+
// POST {dataPath}/:object/bulk-update - Update many records
|
|
157
165
|
qlRequest = {
|
|
158
166
|
op: 'updateMany',
|
|
159
167
|
object: objectName,
|
|
@@ -164,7 +172,7 @@ function createRESTHandler(app) {
|
|
|
164
172
|
};
|
|
165
173
|
}
|
|
166
174
|
else if (id === 'bulk-delete') {
|
|
167
|
-
// POST
|
|
175
|
+
// POST {dataPath}/:object/bulk-delete - Delete many records
|
|
168
176
|
qlRequest = {
|
|
169
177
|
op: 'deleteMany',
|
|
170
178
|
object: objectName,
|
|
@@ -174,7 +182,7 @@ function createRESTHandler(app) {
|
|
|
174
182
|
};
|
|
175
183
|
}
|
|
176
184
|
else if (Array.isArray(createBody)) {
|
|
177
|
-
// POST
|
|
185
|
+
// POST {dataPath}/:object with array - Create many records
|
|
178
186
|
qlRequest = {
|
|
179
187
|
op: 'createMany',
|
|
180
188
|
object: objectName,
|
|
@@ -182,7 +190,7 @@ function createRESTHandler(app) {
|
|
|
182
190
|
};
|
|
183
191
|
}
|
|
184
192
|
else {
|
|
185
|
-
// POST
|
|
193
|
+
// POST {dataPath}/:object - Create single record
|
|
186
194
|
qlRequest = {
|
|
187
195
|
op: 'create',
|
|
188
196
|
object: objectName,
|
|
@@ -192,11 +200,11 @@ function createRESTHandler(app) {
|
|
|
192
200
|
break;
|
|
193
201
|
case 'PUT':
|
|
194
202
|
case 'PATCH':
|
|
195
|
-
// PUT
|
|
203
|
+
// PUT {dataPath}/:object/:id - Update record
|
|
196
204
|
if (!id) {
|
|
197
205
|
sendJSON(res, 400, {
|
|
198
206
|
error: {
|
|
199
|
-
code:
|
|
207
|
+
code: types_2.ErrorCode.INVALID_REQUEST,
|
|
200
208
|
message: 'ID is required for update operation'
|
|
201
209
|
}
|
|
202
210
|
});
|
|
@@ -213,11 +221,11 @@ function createRESTHandler(app) {
|
|
|
213
221
|
};
|
|
214
222
|
break;
|
|
215
223
|
case 'DELETE':
|
|
216
|
-
// DELETE
|
|
224
|
+
// DELETE {dataPath}/:object/:id - Delete record
|
|
217
225
|
if (!id) {
|
|
218
226
|
sendJSON(res, 400, {
|
|
219
227
|
error: {
|
|
220
|
-
code:
|
|
228
|
+
code: types_2.ErrorCode.INVALID_REQUEST,
|
|
221
229
|
message: 'ID is required for delete operation'
|
|
222
230
|
}
|
|
223
231
|
});
|
|
@@ -232,7 +240,7 @@ function createRESTHandler(app) {
|
|
|
232
240
|
default:
|
|
233
241
|
sendJSON(res, 405, {
|
|
234
242
|
error: {
|
|
235
|
-
code:
|
|
243
|
+
code: types_2.ErrorCode.INVALID_REQUEST,
|
|
236
244
|
message: 'Method not allowed'
|
|
237
245
|
}
|
|
238
246
|
});
|
|
@@ -244,23 +252,23 @@ function createRESTHandler(app) {
|
|
|
244
252
|
let statusCode = 200;
|
|
245
253
|
if (result.error) {
|
|
246
254
|
switch (result.error.code) {
|
|
247
|
-
case
|
|
248
|
-
case
|
|
255
|
+
case types_2.ErrorCode.INVALID_REQUEST:
|
|
256
|
+
case types_2.ErrorCode.VALIDATION_ERROR:
|
|
249
257
|
statusCode = 400;
|
|
250
258
|
break;
|
|
251
|
-
case
|
|
259
|
+
case types_2.ErrorCode.UNAUTHORIZED:
|
|
252
260
|
statusCode = 401;
|
|
253
261
|
break;
|
|
254
|
-
case
|
|
262
|
+
case types_2.ErrorCode.FORBIDDEN:
|
|
255
263
|
statusCode = 403;
|
|
256
264
|
break;
|
|
257
|
-
case
|
|
265
|
+
case types_2.ErrorCode.NOT_FOUND:
|
|
258
266
|
statusCode = 404;
|
|
259
267
|
break;
|
|
260
|
-
case
|
|
268
|
+
case types_2.ErrorCode.CONFLICT:
|
|
261
269
|
statusCode = 409;
|
|
262
270
|
break;
|
|
263
|
-
case
|
|
271
|
+
case types_2.ErrorCode.RATE_LIMIT_EXCEEDED:
|
|
264
272
|
statusCode = 429;
|
|
265
273
|
break;
|
|
266
274
|
default:
|
|
@@ -279,7 +287,7 @@ function createRESTHandler(app) {
|
|
|
279
287
|
console.error('[REST Handler] Error:', e);
|
|
280
288
|
sendJSON(res, 500, {
|
|
281
289
|
error: {
|
|
282
|
-
code:
|
|
290
|
+
code: types_2.ErrorCode.INTERNAL_ERROR,
|
|
283
291
|
message: 'Internal server error'
|
|
284
292
|
}
|
|
285
293
|
});
|