@objectql/server 1.7.2 → 1.7.3
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 +9 -0
- package/LICENSE +118 -21
- package/README.md +93 -0
- package/dist/adapters/rest.js +1 -1
- package/dist/adapters/rest.js.map +1 -1
- package/dist/metadata.js +7 -7
- package/dist/metadata.js.map +1 -1
- package/dist/server.d.ts +4 -0
- package/dist/server.js +52 -10
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +14 -7
- package/package.json +4 -3
- package/src/adapters/rest.ts +1 -1
- package/src/metadata.ts +7 -7
- package/src/server.ts +58 -11
- package/src/types.ts +23 -7
- package/test/integration-example.ts +247 -0
- package/test/node.test.ts +4 -2
- package/test/rest.test.ts +47 -7
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
package/LICENSE
CHANGED
|
@@ -1,21 +1,118 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
to
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
1
|
+
# PolyForm Shield License 1.0.0
|
|
2
|
+
|
|
3
|
+
<https://polyformproject.org/licenses/shield/1.0.0>
|
|
4
|
+
|
|
5
|
+
## Acceptance
|
|
6
|
+
|
|
7
|
+
In order to get any license under these terms, you must agree
|
|
8
|
+
to them as both strict obligations and conditions to all
|
|
9
|
+
your licenses.
|
|
10
|
+
|
|
11
|
+
## Copyright License
|
|
12
|
+
|
|
13
|
+
The licensor grants you a copyright license for the
|
|
14
|
+
software to do everything you might do with the software
|
|
15
|
+
that would otherwise infringe the licensor's copyright
|
|
16
|
+
in it for any permitted purpose. However, you may
|
|
17
|
+
only distribute the software according to [Distribution
|
|
18
|
+
License](#distribution-license) and make changes or new works
|
|
19
|
+
based on the software according to [Changes and New Works
|
|
20
|
+
License](#changes-and-new-works-license).
|
|
21
|
+
|
|
22
|
+
## Distribution License
|
|
23
|
+
|
|
24
|
+
The licensor grants you an additional copyright license
|
|
25
|
+
to distribute copies of the software. Your license
|
|
26
|
+
to distribute covers distributing the software with
|
|
27
|
+
changes and new works permitted by [Changes and New Works
|
|
28
|
+
License](#changes-and-new-works-license).
|
|
29
|
+
|
|
30
|
+
## Notices
|
|
31
|
+
|
|
32
|
+
You must ensure that anyone who gets a copy of any part of
|
|
33
|
+
the software from you also gets a copy of these terms or the
|
|
34
|
+
URL for them above, as well as copies of any plain-text lines
|
|
35
|
+
beginning with `Required Notice:` that the licensor provided
|
|
36
|
+
with the software. For example:
|
|
37
|
+
|
|
38
|
+
> Required Notice: Copyright ObjectQL Contributors (https://github.com/objectql)
|
|
39
|
+
|
|
40
|
+
## Changes and New Works License
|
|
41
|
+
|
|
42
|
+
The licensor grants you an additional copyright license to
|
|
43
|
+
make changes and new works based on the software for any
|
|
44
|
+
permitted purpose.
|
|
45
|
+
|
|
46
|
+
## Patent License
|
|
47
|
+
|
|
48
|
+
The licensor grants you a patent license for the software that
|
|
49
|
+
covers patent claims the licensor can license, or becomes able
|
|
50
|
+
to license, that you would infringe by using the software.
|
|
51
|
+
|
|
52
|
+
## Fair Use
|
|
53
|
+
|
|
54
|
+
You may have "fair use" rights for the software under the
|
|
55
|
+
law. These terms do not limit them.
|
|
56
|
+
|
|
57
|
+
## No Other Rights
|
|
58
|
+
|
|
59
|
+
These terms do not allow you to sublicense or transfer any of
|
|
60
|
+
your licenses to anyone else, or prevent the licensor from
|
|
61
|
+
granting licenses to anyone else. These terms do not imply
|
|
62
|
+
any other licenses.
|
|
63
|
+
|
|
64
|
+
## Patent Defense
|
|
65
|
+
|
|
66
|
+
If you make any written claim that the software infringes or
|
|
67
|
+
contributes to infringement of any patent, your patent license
|
|
68
|
+
for the software granted under these terms ends immediately. If
|
|
69
|
+
your company makes such a claim, your patent license ends
|
|
70
|
+
immediately for work on behalf of your company.
|
|
71
|
+
|
|
72
|
+
## Violations
|
|
73
|
+
|
|
74
|
+
The first time you are notified in writing that you have
|
|
75
|
+
violated any of these terms, or done anything with the software
|
|
76
|
+
not covered by your licenses, your licenses can nonetheless
|
|
77
|
+
continue if you come into full compliance with these terms,
|
|
78
|
+
and take practical steps to correct past violations, within
|
|
79
|
+
32 days of receiving notice. Otherwise, all your licenses
|
|
80
|
+
end immediately.
|
|
81
|
+
|
|
82
|
+
## No Liability
|
|
83
|
+
|
|
84
|
+
***As far as the law allows, the software comes as is, without
|
|
85
|
+
any warranty or condition, and the licensor will not be liable
|
|
86
|
+
to you for any damages arising out of these terms or the use
|
|
87
|
+
or nature of the software, under any kind of legal claim.***
|
|
88
|
+
|
|
89
|
+
## Definitions
|
|
90
|
+
|
|
91
|
+
The **licensor** is the individual or entity offering these
|
|
92
|
+
terms, and the **software** is the software the licensor makes
|
|
93
|
+
available under these terms.
|
|
94
|
+
|
|
95
|
+
**You** refers to the individual or entity agreeing to these
|
|
96
|
+
terms.
|
|
97
|
+
|
|
98
|
+
**Your company** is any legal entity, sole proprietorship,
|
|
99
|
+
or other kind of organization that you work for, plus all
|
|
100
|
+
organizations that have control over, are under the control of,
|
|
101
|
+
or are under common control with that organization. **Control**
|
|
102
|
+
means ownership of substantially all the assets of an entity,
|
|
103
|
+
or the power to direct its management and policies by vote,
|
|
104
|
+
contract, or otherwise. Control can be direct or indirect.
|
|
105
|
+
|
|
106
|
+
**Your licenses** are all the licenses granted to you for the
|
|
107
|
+
software under these terms.
|
|
108
|
+
|
|
109
|
+
**Use** means anything you do with the software requiring one
|
|
110
|
+
of your licenses.
|
|
111
|
+
|
|
112
|
+
**Permitted purpose** means any purpose other than competing
|
|
113
|
+
with the licensor or any product the licensor or its affiliates
|
|
114
|
+
provides using the software.
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
Required Notice: Copyright (c) 2026 ObjectQL Contributors (https://github.com/objectql)
|
package/README.md
CHANGED
|
@@ -56,3 +56,96 @@ export const config = {
|
|
|
56
56
|
|
|
57
57
|
export default createNodeHandler(app);
|
|
58
58
|
```
|
|
59
|
+
|
|
60
|
+
## API Response Format
|
|
61
|
+
|
|
62
|
+
ObjectQL uses a standardized response format for all operations:
|
|
63
|
+
|
|
64
|
+
### List Operations (find)
|
|
65
|
+
|
|
66
|
+
List operations return data in an `items` array with optional pagination metadata:
|
|
67
|
+
|
|
68
|
+
```json
|
|
69
|
+
{
|
|
70
|
+
"items": [
|
|
71
|
+
{
|
|
72
|
+
"id": "1001",
|
|
73
|
+
"name": "Contract A",
|
|
74
|
+
"amount": 5000
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "1002",
|
|
78
|
+
"name": "Contract B",
|
|
79
|
+
"amount": 3000
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"meta": {
|
|
83
|
+
"total": 105, // Total number of records
|
|
84
|
+
"page": 1, // Current page number (1-indexed)
|
|
85
|
+
"size": 20, // Number of items per page
|
|
86
|
+
"pages": 6, // Total number of pages
|
|
87
|
+
"has_next": true // Whether there is a next page
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**Note:** The `meta` object is only included when pagination parameters (`limit` and/or `skip`) are used.
|
|
93
|
+
|
|
94
|
+
### Single Item Operations (findOne, create, update, delete)
|
|
95
|
+
|
|
96
|
+
Single item operations return data in a `data` field:
|
|
97
|
+
|
|
98
|
+
```json
|
|
99
|
+
{
|
|
100
|
+
"data": {
|
|
101
|
+
"id": "1001",
|
|
102
|
+
"name": "Contract A",
|
|
103
|
+
"amount": 5000
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Error Responses
|
|
109
|
+
|
|
110
|
+
All errors follow a consistent format:
|
|
111
|
+
|
|
112
|
+
```json
|
|
113
|
+
{
|
|
114
|
+
"error": {
|
|
115
|
+
"code": "NOT_FOUND",
|
|
116
|
+
"message": "Record not found",
|
|
117
|
+
"details": {
|
|
118
|
+
"field": "id",
|
|
119
|
+
"reason": "No record found with the given ID"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## REST API Endpoints
|
|
126
|
+
|
|
127
|
+
The server exposes the following REST endpoints:
|
|
128
|
+
|
|
129
|
+
- `GET /api/data/:object` - List records (supports `?limit=10&skip=0` for pagination)
|
|
130
|
+
- `GET /api/data/:object/:id` - Get single record
|
|
131
|
+
- `POST /api/data/:object` - Create record
|
|
132
|
+
- `PUT /api/data/:object/:id` - Update record
|
|
133
|
+
- `DELETE /api/data/:object/:id` - Delete record
|
|
134
|
+
|
|
135
|
+
### Pagination Example
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
# Get first page (10 items)
|
|
139
|
+
GET /api/data/contracts?limit=10&skip=0
|
|
140
|
+
|
|
141
|
+
# Get second page (10 items)
|
|
142
|
+
GET /api/data/contracts?limit=10&skip=10
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Metadata API Endpoints
|
|
146
|
+
|
|
147
|
+
- `GET /api/metadata/object` - List all objects
|
|
148
|
+
- `GET /api/metadata/object/:name` - Get object definition
|
|
149
|
+
- `GET /api/metadata/object/:name/actions` - List object actions
|
|
150
|
+
|
|
151
|
+
All metadata list endpoints return data in the standardized `items` format.
|
package/dist/adapters/rest.js
CHANGED
|
@@ -132,7 +132,7 @@ function createRESTHandler(app) {
|
|
|
132
132
|
: [[queryParams.sort, 'asc']];
|
|
133
133
|
}
|
|
134
134
|
if (queryParams.top || queryParams.limit) {
|
|
135
|
-
args.
|
|
135
|
+
args.limit = queryParams.top || queryParams.limit;
|
|
136
136
|
}
|
|
137
137
|
if (queryParams.skip || queryParams.offset) {
|
|
138
138
|
args.skip = queryParams.skip || queryParams.offset;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/adapters/rest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rest.js","sourceRoot":"","sources":["../../src/adapters/rest.ts"],"names":[],"mappings":"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"}
|
package/dist/metadata.js
CHANGED
|
@@ -68,13 +68,13 @@ function createMetadataHandler(app) {
|
|
|
68
68
|
description: obj.description,
|
|
69
69
|
fields: obj.fields || {}
|
|
70
70
|
}));
|
|
71
|
-
// Return
|
|
72
|
-
return sendJson({
|
|
71
|
+
// Return standardized format with items
|
|
72
|
+
return sendJson({ items: objects });
|
|
73
73
|
}
|
|
74
74
|
const entries = app.metadata.list(type);
|
|
75
|
-
// Return
|
|
75
|
+
// Return standardized list format
|
|
76
76
|
return sendJson({
|
|
77
|
-
|
|
77
|
+
items: entries
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
80
|
// ---------------------------------------------------------
|
|
@@ -136,7 +136,7 @@ function createMetadataHandler(app) {
|
|
|
136
136
|
// ---------------------------------------------------------
|
|
137
137
|
// 4. Object Sub-resources (Fields, Actions)
|
|
138
138
|
// ---------------------------------------------------------
|
|
139
|
-
// GET /api/metadata/
|
|
139
|
+
// GET /api/metadata/object/:name/fields/:field
|
|
140
140
|
// Legacy path support.
|
|
141
141
|
const fieldMatch = url.match(/^\/api\/metadata\/(?:objects|object)\/([^\/]+)\/fields\/([^\/\?]+)$/);
|
|
142
142
|
if (method === 'GET' && fieldMatch) {
|
|
@@ -162,7 +162,7 @@ function createMetadataHandler(app) {
|
|
|
162
162
|
regex: field.regex
|
|
163
163
|
});
|
|
164
164
|
}
|
|
165
|
-
// GET /api/metadata/
|
|
165
|
+
// GET /api/metadata/object/:name/actions
|
|
166
166
|
const actionsMatch = url.match(/^\/api\/metadata\/(?:objects|object)\/([^\/]+)\/actions$/);
|
|
167
167
|
if (method === 'GET' && actionsMatch) {
|
|
168
168
|
const [, objectName] = actionsMatch;
|
|
@@ -181,7 +181,7 @@ function createMetadataHandler(app) {
|
|
|
181
181
|
description: actionConfig.description
|
|
182
182
|
};
|
|
183
183
|
});
|
|
184
|
-
return sendJson({
|
|
184
|
+
return sendJson({ items: formattedActions });
|
|
185
185
|
}
|
|
186
186
|
// Not found
|
|
187
187
|
sendError(types_1.ErrorCode.NOT_FOUND, 'Not Found', 404);
|
package/dist/metadata.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"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"}
|
package/dist/server.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ export declare class ObjectQLServer {
|
|
|
8
8
|
* This is framework-agnostic.
|
|
9
9
|
*/
|
|
10
10
|
handle(req: ObjectQLRequest): Promise<ObjectQLResponse>;
|
|
11
|
+
/**
|
|
12
|
+
* Build a standardized list response with pagination metadata
|
|
13
|
+
*/
|
|
14
|
+
private buildListResponse;
|
|
11
15
|
/**
|
|
12
16
|
* Handle errors and convert them to appropriate error responses
|
|
13
17
|
*/
|
package/dist/server.js
CHANGED
|
@@ -48,28 +48,41 @@ class ObjectQLServer {
|
|
|
48
48
|
switch (req.op) {
|
|
49
49
|
case 'find':
|
|
50
50
|
result = await repo.find(req.args);
|
|
51
|
-
|
|
51
|
+
// For find operations, return items array with pagination metadata
|
|
52
|
+
return this.buildListResponse(result, req.args, repo);
|
|
52
53
|
case 'findOne':
|
|
53
54
|
// Support both string ID and query object
|
|
54
55
|
result = await repo.findOne(req.args);
|
|
55
|
-
|
|
56
|
+
if (result) {
|
|
57
|
+
return { ...result, '@type': req.object };
|
|
58
|
+
}
|
|
59
|
+
return result;
|
|
56
60
|
case 'create':
|
|
57
61
|
result = await repo.create(req.args);
|
|
58
|
-
|
|
62
|
+
if (result) {
|
|
63
|
+
return { ...result, '@type': req.object };
|
|
64
|
+
}
|
|
65
|
+
return result;
|
|
59
66
|
case 'update':
|
|
60
67
|
result = await repo.update(req.args.id, req.args.data);
|
|
61
|
-
|
|
68
|
+
if (result) {
|
|
69
|
+
return { ...result, '@type': req.object };
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
62
72
|
case 'delete':
|
|
63
73
|
result = await repo.delete(req.args.id);
|
|
64
74
|
if (!result) {
|
|
65
75
|
return this.errorResponse(types_1.ErrorCode.NOT_FOUND, `Record with id '${req.args.id}' not found for delete`);
|
|
66
76
|
}
|
|
67
|
-
// Return standardized delete response
|
|
68
|
-
|
|
69
|
-
|
|
77
|
+
// Return standardized delete response with object type
|
|
78
|
+
return {
|
|
79
|
+
id: req.args.id,
|
|
80
|
+
deleted: true,
|
|
81
|
+
'@type': req.object
|
|
82
|
+
};
|
|
70
83
|
case 'count':
|
|
71
84
|
result = await repo.count(req.args);
|
|
72
|
-
|
|
85
|
+
return { count: result, '@type': req.object };
|
|
73
86
|
case 'action':
|
|
74
87
|
// Map generic args to ActionContext
|
|
75
88
|
result = await app.executeAction(req.object, req.args.action, {
|
|
@@ -77,16 +90,45 @@ class ObjectQLServer {
|
|
|
77
90
|
id: req.args.id,
|
|
78
91
|
input: req.args.input || req.args.params // Support both for convenience
|
|
79
92
|
});
|
|
80
|
-
|
|
93
|
+
if (result && typeof result === 'object') {
|
|
94
|
+
return { ...result, '@type': req.object };
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
81
97
|
default:
|
|
82
98
|
return this.errorResponse(types_1.ErrorCode.INVALID_REQUEST, `Unknown operation: ${req.op}`);
|
|
83
99
|
}
|
|
84
|
-
return { data: result };
|
|
85
100
|
}
|
|
86
101
|
catch (e) {
|
|
87
102
|
return this.handleError(e);
|
|
88
103
|
}
|
|
89
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Build a standardized list response with pagination metadata
|
|
107
|
+
*/
|
|
108
|
+
async buildListResponse(items, args, repo) {
|
|
109
|
+
const response = {
|
|
110
|
+
items
|
|
111
|
+
};
|
|
112
|
+
// Calculate pagination metadata if limit/skip are present
|
|
113
|
+
if (args && (args.limit || args.skip)) {
|
|
114
|
+
const skip = args.skip || 0;
|
|
115
|
+
const limit = args.limit || items.length;
|
|
116
|
+
// Get total count - use the same arguments as the query to ensure consistency
|
|
117
|
+
const total = await repo.count(args || {});
|
|
118
|
+
const size = limit;
|
|
119
|
+
const page = limit > 0 ? Math.floor(skip / limit) + 1 : 1;
|
|
120
|
+
const pages = limit > 0 ? Math.ceil(total / limit) : 1;
|
|
121
|
+
const has_next = skip + items.length < total;
|
|
122
|
+
response.meta = {
|
|
123
|
+
total,
|
|
124
|
+
page,
|
|
125
|
+
size,
|
|
126
|
+
pages,
|
|
127
|
+
has_next
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
return response;
|
|
131
|
+
}
|
|
90
132
|
/**
|
|
91
133
|
* Handle errors and convert them to appropriate error responses
|
|
92
134
|
*/
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;AACA,mCAAuE;AAEvE,MAAa,cAAc;IACvB,YAAoB,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAEtC;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,GAAoB;;QAC7B,IAAI,CAAC;YACD,6BAA6B;YAC7B,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE;oBACjC,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,EAAE,EAAE,GAAG,CAAC,EAAE;oBACV,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,MAAM;oBAC7B,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,gBAAgB;oBACjD,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,QAAQ;iBACpC,CAAC,CAAC;YACP,CAAC;YAED,mBAAmB;YACnB,yCAAyC;YACzC,MAAM,cAAc,GAAG;gBACnB,MAAM,EAAE,MAAA,GAAG,CAAC,IAAI,0CAAE,EAAE;gBACpB,KAAK,EAAE,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,KAAK,KAAI,EAAE;gBAC5B,gBAAgB;aACnB,CAAC;YAEF,wEAAwE;YACxE,uGAAuG;YACvG,oFAAoF;YACpF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAU,CAAC;YAC5B,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,aAAa,CACrB,iBAAS,CAAC,cAAc,EACxB,gEAAgE,CACnE,CAAC;YACN,CAAC;YAED,MAAM,GAAG,GAAoB,GAAG,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;YAE/D,yBAAyB;YACzB,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,aAAa,CACrB,iBAAS,CAAC,SAAS,EACnB,WAAW,GAAG,CAAC,MAAM,aAAa,CACrC,CAAC;YACN,CAAC;YAED,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAEpC,IAAI,MAAW,CAAC;YAEhB,QAAQ,GAAG,CAAC,EAAE,EAAE,CAAC;gBACb,KAAK,MAAM;oBACP,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACnC,MAAM;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -47,19 +47,26 @@ export interface ErrorDetails {
|
|
|
47
47
|
retry_after?: number;
|
|
48
48
|
[key: string]: unknown;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Pagination metadata
|
|
52
|
+
*/
|
|
53
|
+
export interface PaginationMeta {
|
|
54
|
+
total: number;
|
|
55
|
+
page?: number;
|
|
56
|
+
size?: number;
|
|
57
|
+
pages?: number;
|
|
58
|
+
has_next?: boolean;
|
|
59
|
+
}
|
|
50
60
|
/**
|
|
51
61
|
* ObjectQL API response
|
|
52
62
|
*/
|
|
53
63
|
export interface ObjectQLResponse {
|
|
54
|
-
|
|
64
|
+
items?: any[];
|
|
65
|
+
meta?: PaginationMeta;
|
|
55
66
|
error?: {
|
|
56
67
|
code: ErrorCode | string;
|
|
57
68
|
message: string;
|
|
58
|
-
details?: ErrorDetails;
|
|
59
|
-
};
|
|
60
|
-
meta?: {
|
|
61
|
-
total?: number;
|
|
62
|
-
page?: number;
|
|
63
|
-
per_page?: number;
|
|
69
|
+
details?: ErrorDetails | any;
|
|
64
70
|
};
|
|
71
|
+
[key: string]: any;
|
|
65
72
|
}
|
package/package.json
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectql/server",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.3",
|
|
4
|
+
"license": "PolyForm-Shield-1.0.0",
|
|
4
5
|
"description": "HTTP Server Adapter for ObjectQL",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"types": "dist/index.d.ts",
|
|
7
8
|
"dependencies": {
|
|
8
9
|
"js-yaml": "^4.1.1",
|
|
9
|
-
"@objectql/core": "1.7.
|
|
10
|
-
"@objectql/types": "1.7.
|
|
10
|
+
"@objectql/core": "1.7.3",
|
|
11
|
+
"@objectql/types": "1.7.3"
|
|
11
12
|
},
|
|
12
13
|
"devDependencies": {
|
|
13
14
|
"@types/js-yaml": "^4.0.9",
|
package/src/adapters/rest.ts
CHANGED
|
@@ -143,7 +143,7 @@ export function createRESTHandler(app: IObjectQL) {
|
|
|
143
143
|
: [[queryParams.sort, 'asc']];
|
|
144
144
|
}
|
|
145
145
|
if (queryParams.top || queryParams.limit) {
|
|
146
|
-
args.
|
|
146
|
+
args.limit = queryParams.top || queryParams.limit;
|
|
147
147
|
}
|
|
148
148
|
if (queryParams.skip || queryParams.offset) {
|
|
149
149
|
args.skip = queryParams.skip || queryParams.offset;
|
package/src/metadata.ts
CHANGED
|
@@ -73,14 +73,14 @@ export function createMetadataHandler(app: IObjectQL) {
|
|
|
73
73
|
description: obj.description,
|
|
74
74
|
fields: obj.fields || {}
|
|
75
75
|
}));
|
|
76
|
-
// Return
|
|
77
|
-
return sendJson({
|
|
76
|
+
// Return standardized format with items
|
|
77
|
+
return sendJson({ items: objects });
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
const entries = app.metadata.list(type);
|
|
81
|
-
// Return
|
|
81
|
+
// Return standardized list format
|
|
82
82
|
return sendJson({
|
|
83
|
-
|
|
83
|
+
items: entries
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
|
|
@@ -152,7 +152,7 @@ export function createMetadataHandler(app: IObjectQL) {
|
|
|
152
152
|
// 4. Object Sub-resources (Fields, Actions)
|
|
153
153
|
// ---------------------------------------------------------
|
|
154
154
|
|
|
155
|
-
// GET /api/metadata/
|
|
155
|
+
// GET /api/metadata/object/:name/fields/:field
|
|
156
156
|
// Legacy path support.
|
|
157
157
|
const fieldMatch = url.match(/^\/api\/metadata\/(?:objects|object)\/([^\/]+)\/fields\/([^\/\?]+)$/);
|
|
158
158
|
if (method === 'GET' && fieldMatch) {
|
|
@@ -180,7 +180,7 @@ export function createMetadataHandler(app: IObjectQL) {
|
|
|
180
180
|
});
|
|
181
181
|
}
|
|
182
182
|
|
|
183
|
-
// GET /api/metadata/
|
|
183
|
+
// GET /api/metadata/object/:name/actions
|
|
184
184
|
const actionsMatch = url.match(/^\/api\/metadata\/(?:objects|object)\/([^\/]+)\/actions$/);
|
|
185
185
|
if (method === 'GET' && actionsMatch) {
|
|
186
186
|
const [, objectName] = actionsMatch;
|
|
@@ -201,7 +201,7 @@ export function createMetadataHandler(app: IObjectQL) {
|
|
|
201
201
|
};
|
|
202
202
|
});
|
|
203
203
|
|
|
204
|
-
return sendJson({
|
|
204
|
+
return sendJson({ items: formattedActions });
|
|
205
205
|
}
|
|
206
206
|
|
|
207
207
|
// Not found
|