temba 0.24.1 → 0.26.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/README.md +46 -41
- package/config/index.d.ts +4 -4
- package/config/index.d.ts.map +1 -1
- package/config/index.js +12 -12
- package/config/index.js.map +1 -1
- package/data/json/index.d.ts +7 -0
- package/data/json/index.d.ts.map +1 -0
- package/data/json/index.js +72 -0
- package/data/json/index.js.map +1 -0
- package/{queries/mongo.d.ts → data/mongo/index.d.ts} +2 -2
- package/data/mongo/index.d.ts.map +1 -0
- package/{queries/mongo.js → data/mongo/index.js} +1 -1
- package/data/mongo/index.js.map +1 -0
- package/data/queries.d.ts.map +1 -0
- package/data/queries.js +12 -0
- package/data/queries.js.map +1 -0
- package/data/types.d.ts.map +1 -0
- package/{queries → data}/types.js.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/requestHandlers/delete.d.ts +1 -1
- package/requestHandlers/delete.d.ts.map +1 -1
- package/requestHandlers/get.d.ts +1 -1
- package/requestHandlers/get.d.ts.map +1 -1
- package/requestHandlers/index.d.ts +1 -1
- package/requestHandlers/index.d.ts.map +1 -1
- package/requestHandlers/index.js +4 -4
- package/requestHandlers/index.js.map +1 -1
- package/requestHandlers/patch.d.ts +3 -3
- package/requestHandlers/patch.d.ts.map +1 -1
- package/requestHandlers/patch.js +4 -4
- package/requestHandlers/patch.js.map +1 -1
- package/requestHandlers/post.d.ts +3 -3
- package/requestHandlers/post.d.ts.map +1 -1
- package/requestHandlers/post.js +4 -4
- package/requestHandlers/post.js.map +1 -1
- package/requestHandlers/put.d.ts +3 -3
- package/requestHandlers/put.d.ts.map +1 -1
- package/requestHandlers/put.js +4 -4
- package/requestHandlers/put.js.map +1 -1
- package/requestHandlers/types.d.ts +2 -2
- package/requestHandlers/types.d.ts.map +1 -1
- package/requestInterceptor/interceptRequest.d.ts +3 -0
- package/requestInterceptor/interceptRequest.d.ts.map +1 -0
- package/{requestBodyInterceptor/interceptRequestBody.js → requestInterceptor/interceptRequest.js} +2 -2
- package/requestInterceptor/interceptRequest.js.map +1 -0
- package/requestInterceptor/types.d.ts +12 -0
- package/requestInterceptor/types.d.ts.map +1 -0
- package/requestInterceptor/types.js.map +1 -0
- package/resourceRouter.d.ts +1 -1
- package/resourceRouter.d.ts.map +1 -1
- package/responseBodyInterceptor/types.d.ts +1 -1
- package/responseBodyInterceptor/types.d.ts.map +1 -1
- package/queries/in-memory.d.ts +0 -3
- package/queries/in-memory.d.ts.map +0 -1
- package/queries/in-memory.js +0 -61
- package/queries/in-memory.js.map +0 -1
- package/queries/mongo.d.ts.map +0 -1
- package/queries/mongo.js.map +0 -1
- package/queries/queries.d.ts.map +0 -1
- package/queries/queries.js +0 -10
- package/queries/queries.js.map +0 -1
- package/queries/types.d.ts.map +0 -1
- package/requestBodyInterceptor/interceptRequestBody.d.ts +0 -3
- package/requestBodyInterceptor/interceptRequestBody.d.ts.map +0 -1
- package/requestBodyInterceptor/interceptRequestBody.js.map +0 -1
- package/requestBodyInterceptor/types.d.ts +0 -12
- package/requestBodyInterceptor/types.d.ts.map +0 -1
- package/requestBodyInterceptor/types.js.map +0 -1
- /package/{queries → data}/queries.d.ts +0 -0
- /package/{queries → data}/types.d.ts +0 -0
- /package/{queries → data}/types.js +0 -0
- /package/{requestBodyInterceptor → requestInterceptor}/types.js +0 -0
package/README.md
CHANGED
|
@@ -8,16 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
10
10
|
|
|
11
|
-
**Get a simple
|
|
11
|
+
**Get a simple REST API with zero coding in less than 30 seconds (seriously).**
|
|
12
12
|
|
|
13
|
-
For developers
|
|
14
|
-
|
|
15
|
-
Powered by NodeJS, Express and MongoDB.
|
|
16
|
-
|
|
17
|
-
This project is inspired by the fantastic [json-server](https://github.com/typicode/json-server) project, but instead of a JSON file Temba uses a real database. The goal, however, is the same: Get you started with a REST API very quickly.
|
|
13
|
+
For developers that need a quick NodeJS backend for small projects.
|
|
18
14
|
|
|
19
15
|
No need for any coding, unless you want to opt-out of the defaults, or want to do more customization.
|
|
20
16
|
|
|
17
|
+
Data is kept in memory, but you can also store it in a JSON file or MongoDB database.
|
|
18
|
+
|
|
21
19
|
## Table of contents
|
|
22
20
|
|
|
23
21
|
[Temba?](#temba-1)
|
|
@@ -42,10 +40,10 @@ In the fictional Tamarian language the word _"Temba"_ means something like _"gif
|
|
|
42
40
|
|
|
43
41
|
Prerequisites you need to have:
|
|
44
42
|
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
* Node
|
|
44
|
+
* NPM
|
|
47
45
|
|
|
48
|
-
|
|
46
|
+
- Optional: A MongoDB database, either locally or in the cloud
|
|
49
47
|
|
|
50
48
|
### Use the starter with `npx`
|
|
51
49
|
|
|
@@ -59,7 +57,13 @@ npm start
|
|
|
59
57
|
|
|
60
58
|
This command clones the [Temba-starter](https://github.com/bouwe77/temba-starter) repository, installs all dependencies, and starts the server.
|
|
61
59
|
|
|
62
|
-
|
|
60
|
+
In your console you'll see:
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
✅ Server listening on port 3000
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Now you can issue any HTTP request, to any resource.
|
|
63
67
|
|
|
64
68
|
### Adding to an existing app
|
|
65
69
|
|
|
@@ -117,24 +121,37 @@ Temba supports JSON only.
|
|
|
117
121
|
|
|
118
122
|
Request bodies sent with a `POST`, `PATCH`, and `PUT` requests are valid when the request body is either empty, or when it's valid formatted JSON. Adding a `Content-Type: application/json` header is required. If you send a request with invalid formatted JSON, a `400 Bad Request` response is returned.
|
|
119
123
|
|
|
120
|
-
Any valid formatted JSON is accepted and stored. If you want to validate or even change the JSON in the request bodies, check out [JSON Schema request body validation](#json-schema-request-body-validation) and the [`
|
|
124
|
+
Any valid formatted JSON is accepted and stored. If you want to validate or even change the JSON in the request bodies, check out [JSON Schema request body validation](#json-schema-request-body-validation) and the [`requestInterceptor`](#request-validation-or-mutation).
|
|
121
125
|
|
|
122
126
|
IDs are auto generated when creating resources. IDs in the JSON request body are always ignored.
|
|
123
127
|
|
|
124
128
|
## Usage
|
|
125
129
|
|
|
126
|
-
###
|
|
130
|
+
### Data persistency
|
|
131
|
+
|
|
132
|
+
By default data is stored in memory. This means the data is flushed when the server restarts. To persist your data, provide the `connectionString` config setting for your JSON file or MongoDB database.
|
|
127
133
|
|
|
128
|
-
|
|
134
|
+
#### JSON file
|
|
129
135
|
|
|
130
136
|
```js
|
|
131
137
|
const config = {
|
|
132
|
-
connectionString: '
|
|
138
|
+
connectionString: 'data.json',
|
|
133
139
|
}
|
|
134
140
|
const server = temba.create(config)
|
|
135
141
|
```
|
|
136
142
|
|
|
137
|
-
|
|
143
|
+
All resources are saved in a single JSON file. The file is not created or updated unless you create, update, or delete resources.
|
|
144
|
+
|
|
145
|
+
#### MongoDB
|
|
146
|
+
|
|
147
|
+
```js
|
|
148
|
+
const config = {
|
|
149
|
+
connectionString: 'mongodb://localhost:27017/myDatabase',
|
|
150
|
+
}
|
|
151
|
+
const server = temba.create(config)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
For every resource you use in your requests, a collection is created in the database. However, not until you actually create a resource with a `POST`.
|
|
138
155
|
|
|
139
156
|
### Allowing specific resources only
|
|
140
157
|
|
|
@@ -239,13 +256,13 @@ If a request is not valid according to the schema, a `400 Bad Request` response
|
|
|
239
256
|
|
|
240
257
|
### Intercepting requests
|
|
241
258
|
|
|
242
|
-
In addition to (or instead of) validating the request using JSON Schema, you can also intercept the request
|
|
259
|
+
In addition to (or instead of) validating the request using JSON Schema, you can also intercept the request before it is persisted, using the `requestInterceptor` setting.
|
|
243
260
|
|
|
244
261
|
It allows you to implement your own validation, or even change the request body.
|
|
245
262
|
|
|
246
263
|
```js
|
|
247
264
|
const config = {
|
|
248
|
-
|
|
265
|
+
requestInterceptor: {
|
|
249
266
|
post: ({ resource, body }) => {
|
|
250
267
|
// Validate, or even change the request body
|
|
251
268
|
},
|
|
@@ -261,7 +278,9 @@ const config = {
|
|
|
261
278
|
const server = temba.create(config)
|
|
262
279
|
```
|
|
263
280
|
|
|
264
|
-
|
|
281
|
+
> At the moment, only `POST`, `PATCH`, and `PUT` requests can be intercepted.
|
|
282
|
+
|
|
283
|
+
The `requestInterceptor` is an object with a `post`, and/or `patch`, and/or `put` field, which contains the callback function you want Temba to call before the JSON is persisted.
|
|
265
284
|
|
|
266
285
|
The callback function receives an object containing the `resource`, which for example is `movies` if you request `POST /movies`, and the `body`, which is the JSON object of the request body.
|
|
267
286
|
|
|
@@ -275,7 +294,7 @@ Example:
|
|
|
275
294
|
|
|
276
295
|
```js
|
|
277
296
|
const config = {
|
|
278
|
-
|
|
297
|
+
requestInterceptor: {
|
|
279
298
|
post: ({ resource, body }) => {
|
|
280
299
|
// Do not allow Pokemons to be created: 400 Bad Request
|
|
281
300
|
if (resource === 'pokemons') return 'You are not allowed to create new Pokemons'
|
|
@@ -404,11 +423,11 @@ Here is an example of the config settings for Temba, and how you define them:
|
|
|
404
423
|
const config = {
|
|
405
424
|
apiPrefix: 'api',
|
|
406
425
|
cacheControl: 'public, max-age=300',
|
|
407
|
-
connectionString: 'mongodb://localhost:27017',
|
|
426
|
+
connectionString: 'mongodb://localhost:27017/myDatabase',
|
|
408
427
|
customRouter: router,
|
|
409
428
|
delay: 500,
|
|
410
429
|
port: 4321,
|
|
411
|
-
|
|
430
|
+
requestInterceptor: {
|
|
412
431
|
post: ({ resource, body }) => {
|
|
413
432
|
// Validate, or even change the request body
|
|
414
433
|
},
|
|
@@ -446,34 +465,20 @@ These are all the possible settings:
|
|
|
446
465
|
| :------------------------ | :----------------------------------------------------------------------------------------- | :------------ |
|
|
447
466
|
| `apiPrefix` | See [API prefix](#api-prefix) | `null` |
|
|
448
467
|
| `cacheControl` | The `Cache-control` response header value for each GET request. | `'no-store'` |
|
|
449
|
-
| `connectionString` | See [
|
|
468
|
+
| `connectionString` | See [Data persistency](#data-persistency) | `null` |
|
|
450
469
|
| `customRouter` | See [Custom router](#custom-router) | `null` |
|
|
451
|
-
| `delay` |
|
|
470
|
+
| `delay` | The delay, in milliseconds, after processing the request before sending the response. | `0` |
|
|
452
471
|
| `port` | The port your Temba server listens on | `3000` |
|
|
453
|
-
| `
|
|
472
|
+
| `requestInterceptor` | See [Request validation or mutation](#request-validation-or-mutation) | `noop` |
|
|
454
473
|
| `resources` | See [Allowing specific resources only](#allowing-specific-resources-only) | `[]` |
|
|
455
|
-
| `responseBodyInterceptor` | See [Response body interception](#
|
|
456
|
-
| `returnNullFields` |
|
|
474
|
+
| `responseBodyInterceptor` | See [Response body interception](#response-body-interception) | `noop` |
|
|
475
|
+
| `returnNullFields` | Determines whether fields with a null value should be returned in responses. | `true` |
|
|
457
476
|
| `schema` | See [JSON Schema request body validation](#json-schema-request-body-validation) | `null` |
|
|
458
477
|
| `staticFolder` | See [Static assets](#static-assets) | `null` |
|
|
459
478
|
|
|
460
|
-
## Roadmap
|
|
461
|
-
|
|
462
|
-
Although I won't promise if and when, these are some things to consider for the future:
|
|
463
|
-
|
|
464
|
-
- **Authorization bearer tokens**, probably by providing a callback function so you can check the token however you want.
|
|
465
|
-
|
|
466
|
-
- Better **security**, for example CORS, CSRF, etc.
|
|
467
|
-
|
|
468
|
-
- Opt-in logging with debug-js events
|
|
469
|
-
|
|
470
|
-
- Generic **filtering and sorting**, for example: `GET /api/movies?filter=releaseYear ge 1980 and releaseYear le 1989&sort=-releaseYear,title&page=2&limit=20&fields=title,releaseYear,genre`
|
|
471
|
-
|
|
472
|
-
- Intial data seed when using in-memory.
|
|
473
|
-
|
|
474
479
|
## Under the hood
|
|
475
480
|
|
|
476
|
-
Temba is built with TypeScript, [Node](https://nodejs.org), [Express](https://expressjs.com/), [Vitest](https://vitest.dev/), [Supertest](https://www.npmjs.com/package/supertest),
|
|
481
|
+
Temba is built with TypeScript, [Node](https://nodejs.org), [Express](https://expressjs.com/), [Vitest](https://vitest.dev/), [Supertest](https://www.npmjs.com/package/supertest), [@rakered/mongo](https://www.npmjs.com/package/@rakered/mongo), and [lowdb](https://www.npmjs.com/package/lowdb).
|
|
477
482
|
|
|
478
483
|
## Contributors ✨
|
|
479
484
|
|
package/config/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
2
|
import type { ConfiguredSchemas } from '../schema/types.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { RequestInterceptor } from '../requestInterceptor/types.js';
|
|
4
4
|
import type { ResponseBodyInterceptor } from '../responseBodyInterceptor/types.js';
|
|
5
5
|
export type Config = {
|
|
6
6
|
validateResources: boolean;
|
|
7
7
|
resources: string[];
|
|
8
8
|
apiPrefix: string | null;
|
|
9
9
|
cacheControl: string;
|
|
10
|
-
|
|
10
|
+
requestInterceptor: RequestInterceptor | null;
|
|
11
11
|
responseBodyInterceptor: ResponseBodyInterceptor | null;
|
|
12
12
|
staticFolder: string | null;
|
|
13
13
|
connectionString: string | null;
|
|
@@ -19,7 +19,7 @@ export type Config = {
|
|
|
19
19
|
schemas: ConfiguredSchemas | null;
|
|
20
20
|
};
|
|
21
21
|
export type ConfigKey = keyof Config;
|
|
22
|
-
export type RouterConfig = Pick<Config, 'validateResources' | 'resources' | 'apiPrefix' | 'cacheControl' | '
|
|
22
|
+
export type RouterConfig = Pick<Config, 'validateResources' | 'resources' | 'apiPrefix' | 'cacheControl' | 'requestInterceptor' | 'responseBodyInterceptor' | 'returnNullFields'>;
|
|
23
23
|
export type UserConfig = {
|
|
24
24
|
resources?: string[];
|
|
25
25
|
staticFolder?: string;
|
|
@@ -27,7 +27,7 @@ export type UserConfig = {
|
|
|
27
27
|
connectionString?: string;
|
|
28
28
|
cacheControl?: string;
|
|
29
29
|
delay?: number;
|
|
30
|
-
|
|
30
|
+
requestInterceptor?: RequestInterceptor;
|
|
31
31
|
responseBodyInterceptor?: ResponseBodyInterceptor;
|
|
32
32
|
customRouter?: Router;
|
|
33
33
|
returnNullFields?: boolean;
|
package/config/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAChC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAE/E,MAAM,MAAM,MAAM,GAAG;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,kBAAkB,GAAG,IAAI,CAAA;IAC7C,uBAAuB,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;CAClC,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,MAAM,EACJ,mBAAmB,GACnB,WAAW,GACX,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,yBAAyB,GACzB,kBAAkB,CACrB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAA;CAC5B,CAAA;AAmBD,eAAO,MAAM,UAAU,gBAAiB,UAAU,KAAG,MAoFpD,CAAA;AAED,eAAO,MAAM,WAAW,UAAW,OAAO,uBAAqD,CAAA"}
|
package/config/index.js
CHANGED
|
@@ -7,7 +7,7 @@ const defaultConfig = {
|
|
|
7
7
|
connectionString: null,
|
|
8
8
|
cacheControl: 'no-store',
|
|
9
9
|
delay: 0,
|
|
10
|
-
|
|
10
|
+
requestInterceptor: null,
|
|
11
11
|
responseBodyInterceptor: null,
|
|
12
12
|
customRouter: null,
|
|
13
13
|
returnNullFields: true,
|
|
@@ -42,19 +42,19 @@ export const initConfig = (userConfig) => {
|
|
|
42
42
|
Number(userConfig.delay) < 100000) {
|
|
43
43
|
config.delay = userConfig.delay;
|
|
44
44
|
}
|
|
45
|
-
if (userConfig.
|
|
46
|
-
config.
|
|
47
|
-
if (userConfig.
|
|
48
|
-
typeof userConfig.
|
|
49
|
-
config.
|
|
45
|
+
if (userConfig.requestInterceptor) {
|
|
46
|
+
config.requestInterceptor = config.requestInterceptor || {};
|
|
47
|
+
if (userConfig.requestInterceptor.post &&
|
|
48
|
+
typeof userConfig.requestInterceptor.post === 'function') {
|
|
49
|
+
config.requestInterceptor.post = userConfig.requestInterceptor.post;
|
|
50
50
|
}
|
|
51
|
-
if (userConfig.
|
|
52
|
-
typeof userConfig.
|
|
53
|
-
config.
|
|
51
|
+
if (userConfig.requestInterceptor.patch &&
|
|
52
|
+
typeof userConfig.requestInterceptor.patch === 'function') {
|
|
53
|
+
config.requestInterceptor.patch = userConfig.requestInterceptor.patch;
|
|
54
54
|
}
|
|
55
|
-
if (userConfig.
|
|
56
|
-
typeof userConfig.
|
|
57
|
-
config.
|
|
55
|
+
if (userConfig.requestInterceptor.put &&
|
|
56
|
+
typeof userConfig.requestInterceptor.put === 'function') {
|
|
57
|
+
config.requestInterceptor.put = userConfig.requestInterceptor.put;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
if (userConfig.responseBodyInterceptor) {
|
package/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAmDhC,MAAM,aAAa,GAAW;IAC5B,SAAS,EAAE,EAAE;IACb,iBAAiB,EAAE,KAAK;IACxB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,IAAI;IACtB,YAAY,EAAE,UAAU;IACxB,KAAK,EAAE,CAAC;IACR,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data/json/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAA;AAmB5D,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE,UAAU,WAsEjE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Low, Memory } from 'lowdb';
|
|
2
|
+
import { JSONFile } from 'lowdb/node';
|
|
3
|
+
const getInMemoryDb = (defaultData) => {
|
|
4
|
+
return getJsonDb(new Memory(), defaultData);
|
|
5
|
+
};
|
|
6
|
+
const getFileDb = async (filename, defaultData) => {
|
|
7
|
+
return await getJsonDb(new JSONFile(filename), defaultData);
|
|
8
|
+
};
|
|
9
|
+
const getJsonDb = async (adapter, defaultData) => {
|
|
10
|
+
const db = new Low(adapter, defaultData);
|
|
11
|
+
await db.read();
|
|
12
|
+
return db;
|
|
13
|
+
};
|
|
14
|
+
export default function createJsonQueries({ filename }) {
|
|
15
|
+
const defaultData = {};
|
|
16
|
+
async function getDb() {
|
|
17
|
+
const db = filename ? await getFileDb(filename, defaultData) : await getInMemoryDb(defaultData);
|
|
18
|
+
return db;
|
|
19
|
+
}
|
|
20
|
+
async function getAll(resource) {
|
|
21
|
+
const db = await getDb();
|
|
22
|
+
const data = db.data[resource] || [];
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
async function getById(resource, id) {
|
|
26
|
+
const db = await getDb();
|
|
27
|
+
const data = db.data[resource] || [];
|
|
28
|
+
return (data || []).find((x) => x.id === id) || null;
|
|
29
|
+
}
|
|
30
|
+
async function create(resource, item) {
|
|
31
|
+
const db = await getDb();
|
|
32
|
+
const itemWithId = { ...item, id: String(new Date().getTime()) };
|
|
33
|
+
await db.update((data) => {
|
|
34
|
+
data[resource] = [...(data[resource] || []), itemWithId];
|
|
35
|
+
});
|
|
36
|
+
return itemWithId;
|
|
37
|
+
}
|
|
38
|
+
async function update(resource, item) {
|
|
39
|
+
const updatedItem = { ...item };
|
|
40
|
+
const db = await getDb();
|
|
41
|
+
await db.update((data) => {
|
|
42
|
+
data[resource] = [...(data[resource] || []).filter((r) => r.id !== item.id), updatedItem];
|
|
43
|
+
});
|
|
44
|
+
return updatedItem;
|
|
45
|
+
}
|
|
46
|
+
async function replace(resource, item) {
|
|
47
|
+
return update(resource, item);
|
|
48
|
+
}
|
|
49
|
+
async function deleteById(resource, id) {
|
|
50
|
+
const db = await getDb();
|
|
51
|
+
await db.update((data) => {
|
|
52
|
+
data[resource] = [...(data[resource] || []).filter((r) => r.id !== id)];
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
async function deleteAll(resource) {
|
|
56
|
+
const db = await getDb();
|
|
57
|
+
await db.update((data) => {
|
|
58
|
+
data[resource] = [];
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const fileQueries = {
|
|
62
|
+
getAll,
|
|
63
|
+
getById,
|
|
64
|
+
create,
|
|
65
|
+
update,
|
|
66
|
+
replace,
|
|
67
|
+
deleteById,
|
|
68
|
+
deleteAll,
|
|
69
|
+
};
|
|
70
|
+
return fileQueries;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/json/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { Queries } from '
|
|
1
|
+
import type { Queries } from '../types.js';
|
|
2
2
|
export declare const createMongoQueries: (connectionString: string) => Queries;
|
|
3
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/data/mongo/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,UAAU,CAAA;AA8F5D,eAAO,MAAM,kBAAkB,qBAAsB,MAAM,YAc1D,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/data/mongo/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,qBAAsB,MAAM,GAAG,IAAI,8BAS5D,CAAA"}
|
package/data/queries.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import createJsonQueries from './json/index.js';
|
|
2
|
+
import { createMongoQueries } from './mongo/index.js';
|
|
3
|
+
export const createQueries = (connectionString) => {
|
|
4
|
+
if (process.env.NODE_ENV === 'test' || !connectionString)
|
|
5
|
+
return createJsonQueries({ filename: null });
|
|
6
|
+
if (connectionString.endsWith('.json'))
|
|
7
|
+
return createJsonQueries({ filename: connectionString });
|
|
8
|
+
if (connectionString.startsWith('mongodb://'))
|
|
9
|
+
return createMongoQueries(connectionString);
|
|
10
|
+
return createJsonQueries({ filename: null });
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/data/queries.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAA+B,EAAE,EAAE;IAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,gBAAgB;QACtD,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAE9C,IAAI,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAEhG,IAAI,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAE1F,OAAO,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;AAC9C,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/data/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5C,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7C,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC/D,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/data/types.ts"],"names":[],"mappings":""}
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import express, { json } from 'express';
|
|
2
2
|
import morgan from 'morgan';
|
|
3
|
-
import { createQueries } from './
|
|
3
|
+
import { createQueries } from './data/queries.js';
|
|
4
4
|
import { initConfig } from './config/index.js';
|
|
5
5
|
import cors from 'cors';
|
|
6
6
|
import { createDelayMiddleware } from './delay/delayMiddleware.js';
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEvC,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "temba",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Get a simple
|
|
3
|
+
"version": "0.26.0",
|
|
4
|
+
"description": "Get a simple REST API with zero coding in less than 30 seconds (seriously).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
7
7
|
"scripts": {
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"connect-pause": "^0.1.0",
|
|
41
41
|
"cors": "^2.8.5",
|
|
42
42
|
"express": "^4.18.3",
|
|
43
|
+
"lowdb": "^7.0.1",
|
|
43
44
|
"morgan": "^1.10.0"
|
|
44
45
|
}
|
|
45
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/delete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,eAAO,MAAM,kBAAkB,YAAa,OAAO,WAChB,aAAa;;;;;;;;EAoB/C,CAAA"}
|
package/requestHandlers/get.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Queries } from '../
|
|
1
|
+
import type { Queries } from '../data/types.js';
|
|
2
2
|
import type { ResponseBodyInterceptor } from '../responseBodyInterceptor/types.js';
|
|
3
3
|
import type { GetRequest } from './types.js';
|
|
4
4
|
export declare const createGetRoutes: (queries: Queries, cacheControl: string, responseBodyInterceptor: ResponseBodyInterceptor | null, returnNullFields: boolean) => (req: GetRequest) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/get.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,eAAO,MAAM,eAAe,YACjB,OAAO,gBACF,MAAM,2BACK,uBAAuB,GAAG,IAAI,oBACrC,OAAO,WAKK,UAAU;;;;;;;;;;;;;;;;;EAmDzC,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { RouterConfig } from '../config/index.js';
|
|
2
2
|
import type { CompiledSchemas } from '../schema/types.js';
|
|
3
|
-
import type { Queries } from '../
|
|
3
|
+
import type { Queries } from '../data/types.js';
|
|
4
4
|
export declare const getRequestHandler: (queries: Queries, schemas: CompiledSchemas, routerConfig: RouterConfig) => {
|
|
5
5
|
handleGet: (req: import("./types.js").GetRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,eAAO,MAAM,iBAAiB,YACnB,OAAO,WACP,eAAe,gBACV,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC3B,CAAA"}
|
package/requestHandlers/index.js
CHANGED
|
@@ -4,11 +4,11 @@ import { createPutRoutes } from './put.js';
|
|
|
4
4
|
import { createPatchRoutes } from './patch.js';
|
|
5
5
|
import { createDeleteRoutes } from './delete.js';
|
|
6
6
|
export const getRequestHandler = (queries, schemas, routerConfig) => {
|
|
7
|
-
const { cacheControl,
|
|
7
|
+
const { cacheControl, requestInterceptor, responseBodyInterceptor, returnNullFields } = routerConfig;
|
|
8
8
|
const handleGet = createGetRoutes(queries, cacheControl, responseBodyInterceptor, returnNullFields);
|
|
9
|
-
const handlePost = createPostRoutes(queries,
|
|
10
|
-
const handlePut = createPutRoutes(queries,
|
|
11
|
-
const handlePatch = createPatchRoutes(queries,
|
|
9
|
+
const handlePost = createPostRoutes(queries, requestInterceptor, returnNullFields, schemas.post);
|
|
10
|
+
const handlePut = createPutRoutes(queries, requestInterceptor, returnNullFields, schemas.put);
|
|
11
|
+
const handlePatch = createPatchRoutes(queries, requestInterceptor, returnNullFields, schemas.patch);
|
|
12
12
|
const handleDelete = createDeleteRoutes(queries);
|
|
13
13
|
return {
|
|
14
14
|
handleGet,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAM7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,EAAE;IACF,MAAM,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/requestHandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAM7C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,OAAwB,EACxB,YAA0B,EAC1B,EAAE;IACF,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,GACnF,YAAY,CAAA;IAEd,MAAM,SAAS,GAAG,eAAe,CAC/B,OAAO,EACP,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,CACjB,CAAA;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhG,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAE7F,MAAM,WAAW,GAAG,iBAAiB,CACnC,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,CAAC,KAAK,CACd,CAAA;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAEhD,OAAO;QACL,SAAS;QACT,UAAU;QACV,SAAS;QACT,WAAW;QACX,YAAY;KACb,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ValidateFunctionPerResource } from '../schema/types.js';
|
|
2
2
|
import type { PatchRequest } from './types.js';
|
|
3
|
-
import type { Queries } from '../
|
|
4
|
-
import type {
|
|
5
|
-
export declare const createPatchRoutes: (queries: Queries,
|
|
3
|
+
import type { Queries } from '../data/types.js';
|
|
4
|
+
import type { RequestInterceptor } from '../requestInterceptor/types.js';
|
|
5
|
+
export declare const createPatchRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null) => (req: PatchRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
7
7
|
body: unknown;
|
|
8
8
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,eAAO,MAAM,iBAAiB,YACnB,OAAO,sBACI,kBAAkB,GAAG,IAAI,oBAC3B,OAAO,WAChB,2BAA2B,GAAG,IAAI,WAEX,YAAY;;;EAoC7C,CAAA"}
|
package/requestHandlers/patch.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { interceptRequest } from '../requestInterceptor/interceptRequest.js';
|
|
2
2
|
import { validate } from '../schema/validate.js';
|
|
3
3
|
import { removeNullFields } from './utils.js';
|
|
4
|
-
export const createPatchRoutes = (queries,
|
|
4
|
+
export const createPatchRoutes = (queries, requestInterceptor, returnNullFields, schemas) => {
|
|
5
5
|
const handlePatch = async (req) => {
|
|
6
6
|
try {
|
|
7
7
|
const { body, resource, id } = req;
|
|
@@ -9,8 +9,8 @@ export const createPatchRoutes = (queries, requestBodyInterceptor, returnNullFie
|
|
|
9
9
|
if (validationResult.isValid === false) {
|
|
10
10
|
return { status: 400, body: { message: validationResult.errorMessage } };
|
|
11
11
|
}
|
|
12
|
-
const body2 =
|
|
13
|
-
?
|
|
12
|
+
const body2 = requestInterceptor?.patch
|
|
13
|
+
? interceptRequest(requestInterceptor.patch, resource, body)
|
|
14
14
|
: body;
|
|
15
15
|
if (typeof body2 === 'string')
|
|
16
16
|
return { status: 400, body: { message: body2 } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"patch.js","sourceRoot":"","sources":["../../../src/requestHandlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAM1C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,EAAE;IACF,MAAM,WAAW,GAAG,KAAK,EAAE,GAAiB,EAAE,EAAE;QAC9C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;YAElC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;YAC1E,CAAC;YAED,MAAM,KAAK,GAAG,kBAAkB,EAAE,KAAK;gBACrC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC;gBAC5D,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;YAE/E,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAE9C,IAAI,CAAC,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;qBAChC;iBACF,CAAA;YAEH,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,GAAI,KAAgB,EAAE,EAAE,EAAE,CAAA;YAE5C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAExD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAA;QAC9F,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,CAAA;QACrE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ValidateFunctionPerResource } from '../schema/types.js';
|
|
2
2
|
import type { PostRequest } from './types.js';
|
|
3
|
-
import type { Queries } from '../
|
|
4
|
-
import type {
|
|
5
|
-
export declare const createPostRoutes: (queries: Queries,
|
|
3
|
+
import type { Queries } from '../data/types.js';
|
|
4
|
+
import type { RequestInterceptor } from '../requestInterceptor/types.js';
|
|
5
|
+
export declare const createPostRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource) => (req: PostRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
7
7
|
body: {
|
|
8
8
|
message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,eAAO,MAAM,gBAAgB,YAClB,OAAO,sBACI,kBAAkB,GAAG,IAAI,oBAC3B,OAAO,WAChB,2BAA2B,WAEL,WAAW;;;;;;;;;;;;EAkC3C,CAAA"}
|
package/requestHandlers/post.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { format } from 'url';
|
|
2
|
-
import {
|
|
2
|
+
import { interceptRequest } from '../requestInterceptor/interceptRequest.js';
|
|
3
3
|
import { removeNullFields } from './utils.js';
|
|
4
4
|
import { validate } from '../schema/validate.js';
|
|
5
|
-
export const createPostRoutes = (queries,
|
|
5
|
+
export const createPostRoutes = (queries, requestInterceptor, returnNullFields, schemas) => {
|
|
6
6
|
const handlePost = async (req) => {
|
|
7
7
|
try {
|
|
8
8
|
const { body, protocol, host, resource } = req;
|
|
@@ -10,8 +10,8 @@ export const createPostRoutes = (queries, requestBodyInterceptor, returnNullFiel
|
|
|
10
10
|
if (validationResult.isValid === false) {
|
|
11
11
|
return { status: 400, body: { message: validationResult.errorMessage } };
|
|
12
12
|
}
|
|
13
|
-
const body2 =
|
|
14
|
-
?
|
|
13
|
+
const body2 = requestInterceptor?.post
|
|
14
|
+
? interceptRequest(requestInterceptor.post, resource, body)
|
|
15
15
|
: body;
|
|
16
16
|
if (typeof body2 === 'string')
|
|
17
17
|
return { status: 400, body: { message: body2 } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../../src/requestHandlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAM7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAAoC,EACpC,EAAE;IACF,MAAM,UAAU,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAA;YAE9C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC1D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;YAC1E,CAAC;YAED,MAAM,KAAK,GAAG,kBAAkB,EAAE,IAAI;gBACpC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;gBAC3D,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;YAE/E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAsB,CAAC,CAAA;YAEtE,OAAO;gBACL,OAAO,EAAE;oBACP,QAAQ,EAAE,MAAM,CAAC;wBACf,QAAQ,EAAE,QAAQ;wBAClB,IAAI,EAAE,IAAI;wBACV,QAAQ,EAAE,GAAG,QAAQ,IAAI,OAAO,CAAC,EAAE,EAAE;qBACtC,CAAC;iBACH;gBACD,MAAM,EAAE,GAAG;gBACX,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;aAC7D,CAAA;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,CAAA;QACrE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA"}
|
package/requestHandlers/put.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ValidateFunctionPerResource } from '../schema/types.js';
|
|
2
2
|
import type { PutRequest } from './types.js';
|
|
3
|
-
import type { Queries } from '../
|
|
4
|
-
import type {
|
|
5
|
-
export declare const createPutRoutes: (queries: Queries,
|
|
3
|
+
import type { Queries } from '../data/types.js';
|
|
4
|
+
import type { RequestInterceptor } from '../requestInterceptor/types.js';
|
|
5
|
+
export declare const createPutRoutes: (queries: Queries, requestInterceptor: RequestInterceptor | null, returnNullFields: boolean, schemas: ValidateFunctionPerResource | null) => (req: PutRequest) => Promise<{
|
|
6
6
|
status: number;
|
|
7
7
|
body: unknown;
|
|
8
8
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAErE,eAAO,MAAM,eAAe,YACjB,OAAO,sBACI,kBAAkB,GAAG,IAAI,oBAC3B,OAAO,WAChB,2BAA2B,GAAG,IAAI,WAEb,UAAU;;;EAoCzC,CAAA"}
|
package/requestHandlers/put.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { interceptRequest } from '../requestInterceptor/interceptRequest.js';
|
|
2
2
|
import { validate } from '../schema/validate.js';
|
|
3
3
|
import { removeNullFields } from './utils.js';
|
|
4
|
-
export const createPutRoutes = (queries,
|
|
4
|
+
export const createPutRoutes = (queries, requestInterceptor, returnNullFields, schemas) => {
|
|
5
5
|
const handlePut = async (req) => {
|
|
6
6
|
try {
|
|
7
7
|
const { body, resource, id } = req;
|
|
@@ -9,8 +9,8 @@ export const createPutRoutes = (queries, requestBodyInterceptor, returnNullField
|
|
|
9
9
|
if (validationResult.isValid === false) {
|
|
10
10
|
return { status: 400, body: { message: validationResult.errorMessage } };
|
|
11
11
|
}
|
|
12
|
-
const body2 =
|
|
13
|
-
?
|
|
12
|
+
const body2 = requestInterceptor?.put
|
|
13
|
+
? interceptRequest(requestInterceptor.put, resource, body)
|
|
14
14
|
: body;
|
|
15
15
|
if (typeof body2 === 'string')
|
|
16
16
|
return { status: 400, body: { message: body2 } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../../src/requestHandlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAM1C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAgB,EAChB,kBAA6C,EAC7C,gBAAyB,EACzB,OAA2C,EAC3C,EAAE;IACF,MAAM,SAAS,GAAG,KAAK,EAAE,GAAe,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,GAAG,CAAA;YAElC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;YAC5D,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACvC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,EAAE,CAAA;YAC1E,CAAC;YAED,MAAM,KAAK,GAAG,kBAAkB,EAAE,GAAG;gBACnC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAA;YAER,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAA;YAE/E,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;YAE9C,IAAI,CAAC,IAAI;gBACP,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,IAAI,EAAE;wBACJ,OAAO,EAAE,OAAO,EAAE,aAAa;qBAChC;iBACF,CAAA;YAEH,IAAI,GAAG,EAAE,GAAI,KAAgB,EAAE,EAAE,EAAE,CAAA;YAEnC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAE1D,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAA;QAChG,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAG,KAAe,CAAC,OAAO,EAAE,EAAE,CAAA;QACrE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/requestHandlers/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG;IACzC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptRequest.d.ts","sourceRoot":"","sources":["../../../src/requestInterceptor/interceptRequest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEzD,eAAO,MAAM,gBAAgB,cAChB,0BAA0B,YAC3B,MAAM,QACV,OAAO,YAed,CAAA"}
|
package/{requestBodyInterceptor/interceptRequestBody.js → requestInterceptor/interceptRequest.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export const
|
|
1
|
+
export const interceptRequest = (intercept, resource, body) => {
|
|
2
2
|
const intercepted = intercept({ resource, body });
|
|
3
3
|
if (!intercepted && typeof body === 'object')
|
|
4
4
|
return body;
|
|
@@ -11,4 +11,4 @@ export const interceptRequestBody = (intercept, resource, body) => {
|
|
|
11
11
|
// This is not supported, so we return the original request body.
|
|
12
12
|
return body;
|
|
13
13
|
};
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=interceptRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interceptRequest.js","sourceRoot":"","sources":["../../../src/requestInterceptor/interceptRequest.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAqC,EACrC,QAAgB,EAChB,IAAa,EACb,EAAE;IACF,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjD,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEzD,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAA;IAEvD,6CAA6C;IAC7C,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/E,OAAO,WAAW,CAAA;IAEpB,8EAA8E;IAC9E,iEAAiE;IACjE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
type InterceptedRequest = {
|
|
2
|
+
resource: string;
|
|
3
|
+
body: unknown;
|
|
4
|
+
};
|
|
5
|
+
export type RequestInterceptorCallback = (info: InterceptedRequest) => void | string | object;
|
|
6
|
+
export type RequestInterceptor = {
|
|
7
|
+
post?: RequestInterceptorCallback;
|
|
8
|
+
patch?: RequestInterceptorCallback;
|
|
9
|
+
put?: RequestInterceptorCallback;
|
|
10
|
+
};
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/requestInterceptor/types.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;AAE7F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,CAAC,EAAE,0BAA0B,CAAA;IACjC,KAAK,CAAC,EAAE,0BAA0B,CAAA;IAClC,GAAG,CAAC,EAAE,0BAA0B,CAAA;CACjC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/requestInterceptor/types.ts"],"names":[],"mappings":""}
|
package/resourceRouter.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Queries } from './
|
|
1
|
+
import type { Queries } from './data/types.js';
|
|
2
2
|
import type { CompiledSchemas } from './schema/types.js';
|
|
3
3
|
import type { RouterConfig } from './config/index.js';
|
|
4
4
|
export declare const createResourceRouter: (queries: Queries, schemas: CompiledSchemas, routerConfig: RouterConfig) => import("express-serve-static-core").Router;
|
package/resourceRouter.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceRouter.d.ts","sourceRoot":"","sources":["../../src/resourceRouter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"resourceRouter.d.ts","sourceRoot":"","sources":["../../src/resourceRouter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,eAAO,MAAM,oBAAoB,YACtB,OAAO,WACP,eAAe,gBACV,YAAY,+CAqH3B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/responseBodyInterceptor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAEzC,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;CACX,GACD;IACE,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAEL,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAA"}
|
package/queries/in-memory.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../src/queries/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,SAAS,CAAA;AAqE3D,eAAO,MAAM,eAAe,EAAE,OAQ7B,CAAA"}
|
package/queries/in-memory.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
const data = {};
|
|
2
|
-
const getAll = (resource) => {
|
|
3
|
-
createResourceArrayIfNecessary(resource);
|
|
4
|
-
return new Promise((resolve) => {
|
|
5
|
-
resolve(data[resource] || []);
|
|
6
|
-
});
|
|
7
|
-
};
|
|
8
|
-
const getById = (resource, id) => {
|
|
9
|
-
createResourceArrayIfNecessary(resource);
|
|
10
|
-
const item = (data[resource] || []).find((item) => item.id === id) || null;
|
|
11
|
-
return new Promise((resolve) => {
|
|
12
|
-
resolve(item);
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
const create = (resource, item) => {
|
|
16
|
-
createResourceArrayIfNecessary(resource);
|
|
17
|
-
const newItem = { ...item, id: String(new Date().getTime()) };
|
|
18
|
-
data[resource] = [...(data[resource] || []), newItem];
|
|
19
|
-
return new Promise((resolve) => {
|
|
20
|
-
resolve(newItem);
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
const update = (resource, item) => {
|
|
24
|
-
createResourceArrayIfNecessary(resource);
|
|
25
|
-
const updatedItem = { ...item };
|
|
26
|
-
data[resource] = [...(data[resource] || []).filter((r) => r.id !== item.id), updatedItem];
|
|
27
|
-
return new Promise((resolve) => {
|
|
28
|
-
resolve(updatedItem);
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
const replace = (resource, item) => {
|
|
32
|
-
return update(resource, item);
|
|
33
|
-
};
|
|
34
|
-
const deleteById = (resource, id) => {
|
|
35
|
-
createResourceArrayIfNecessary(resource);
|
|
36
|
-
data[resource] = (data[resource] || []).filter((item) => item.id !== id);
|
|
37
|
-
return new Promise((resolve) => {
|
|
38
|
-
resolve();
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
|
-
const deleteAll = (resource) => {
|
|
42
|
-
createResourceArrayIfNecessary(resource);
|
|
43
|
-
data[resource] = [];
|
|
44
|
-
return new Promise((resolve) => {
|
|
45
|
-
resolve();
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
const createResourceArrayIfNecessary = (resource) => {
|
|
49
|
-
if (!Object.hasOwn(data, resource))
|
|
50
|
-
data[resource] = [];
|
|
51
|
-
};
|
|
52
|
-
export const inMemoryQueries = {
|
|
53
|
-
getAll,
|
|
54
|
-
getById,
|
|
55
|
-
create,
|
|
56
|
-
update,
|
|
57
|
-
replace,
|
|
58
|
-
deleteById,
|
|
59
|
-
deleteAll,
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=in-memory.js.map
|
package/queries/in-memory.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.js","sourceRoot":"","sources":["../../../src/queries/in-memory.ts"],"names":[],"mappings":"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"}
|
package/queries/mongo.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.d.ts","sourceRoot":"","sources":["../../../src/queries/mongo.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuB,OAAO,EAAE,MAAM,SAAS,CAAA;AA8F3D,eAAO,MAAM,kBAAkB,qBAAsB,MAAM,YAc1D,CAAA"}
|
package/queries/mongo.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../../src/queries/mongo.ts"],"names":[],"mappings":"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"}
|
package/queries/queries.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../../src/queries/queries.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,aAAa,qBAAsB,MAAM,GAAG,IAAI,8BAO5D,CAAA"}
|
package/queries/queries.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { inMemoryQueries } from './in-memory.js';
|
|
2
|
-
import { createMongoQueries } from './mongo.js';
|
|
3
|
-
export const createQueries = (connectionString) => {
|
|
4
|
-
if (!connectionString) {
|
|
5
|
-
return inMemoryQueries;
|
|
6
|
-
}
|
|
7
|
-
const mongoQueries = createMongoQueries(connectionString);
|
|
8
|
-
return mongoQueries;
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=queries.js.map
|
package/queries/queries.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../../src/queries/queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,gBAA+B,EAAE,EAAE;IAC/D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IACzD,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA"}
|
package/queries/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/queries/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG;IACjB,EAAE,EAAE,MAAM,CAAA;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAE5C,MAAM,MAAM,OAAO,GAAG;IACpB,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7C,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC/D,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAChE,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC3D,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC/C,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interceptRequestBody.d.ts","sourceRoot":"","sources":["../../../src/requestBodyInterceptor/interceptRequestBody.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAA;AAE7D,eAAO,MAAM,oBAAoB,cACpB,8BAA8B,YAC/B,MAAM,QACV,OAAO,YAed,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interceptRequestBody.js","sourceRoot":"","sources":["../../../src/requestBodyInterceptor/interceptRequestBody.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAyC,EACzC,QAAgB,EAChB,IAAa,EACb,EAAE;IACF,MAAM,WAAW,GAAG,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjD,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEzD,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAA;IAEvD,6CAA6C;IAC7C,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;QAC/E,OAAO,WAAW,CAAA;IAEpB,8EAA8E;IAC9E,iEAAiE;IACjE,OAAO,IAAI,CAAA;AACb,CAAC,CAAA"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
type InterceptedRequest = {
|
|
2
|
-
resource: string;
|
|
3
|
-
body: unknown;
|
|
4
|
-
};
|
|
5
|
-
export type RequestBodyInterceptorCallback = (info: InterceptedRequest) => void | string | object;
|
|
6
|
-
export type RequestBodyInterceptor = {
|
|
7
|
-
post?: RequestBodyInterceptorCallback;
|
|
8
|
-
patch?: RequestBodyInterceptorCallback;
|
|
9
|
-
put?: RequestBodyInterceptorCallback;
|
|
10
|
-
};
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/requestBodyInterceptor/types.ts"],"names":[],"mappings":"AAAA,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,MAAM,MAAM,8BAA8B,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,CAAA;AAEjG,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,8BAA8B,CAAA;IACrC,KAAK,CAAC,EAAE,8BAA8B,CAAA;IACtC,GAAG,CAAC,EAAE,8BAA8B,CAAA;CACrC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/requestBodyInterceptor/types.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|