temba 0.39.0 → 0.40.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 +2 -68
- package/config/index.d.ts +2 -5
- package/config/index.d.ts.map +1 -1
- package/config/index.js +2 -7
- package/config/index.js.map +1 -1
- package/etags/etags.d.ts +1 -0
- package/etags/etags.d.ts.map +1 -1
- package/etags/etags.js +3 -0
- package/etags/etags.js.map +1 -1
- package/index.d.ts +4 -5
- package/index.d.ts.map +1 -1
- package/index.js +51 -80
- package/index.js.map +1 -1
- package/openapi/openapi.d.ts +2 -1
- package/openapi/openapi.d.ts.map +1 -1
- package/openapi/openapi.js +17 -17
- package/openapi/openapi.js.map +1 -1
- package/package.json +8 -10
- package/requestHandlers/delete.d.ts +1 -1
- package/requestHandlers/delete.d.ts.map +1 -1
- package/requestHandlers/delete.js +5 -5
- package/requestHandlers/delete.js.map +1 -1
- package/requestHandlers/get.d.ts +14 -1
- package/requestHandlers/get.d.ts.map +1 -1
- package/requestHandlers/get.js +12 -4
- package/requestHandlers/get.js.map +1 -1
- package/requestHandlers/index.d.ts +13 -0
- package/requestHandlers/index.d.ts.map +1 -1
- package/requestHandlers/index.js +5 -5
- package/requestHandlers/index.js.map +1 -1
- package/requestHandlers/patch.d.ts +1 -1
- package/requestHandlers/patch.d.ts.map +1 -1
- package/requestHandlers/patch.js +2 -2
- package/requestHandlers/patch.js.map +1 -1
- package/requestHandlers/post.js +1 -1
- package/requestHandlers/post.js.map +1 -1
- package/requestHandlers/put.d.ts +1 -1
- package/requestHandlers/put.d.ts.map +1 -1
- package/requestHandlers/put.js +2 -2
- package/requestHandlers/put.js.map +1 -1
- package/requestHandlers/types.d.ts +3 -1
- package/requestHandlers/types.d.ts.map +1 -1
- package/resourceHandler.d.ts +16 -0
- package/resourceHandler.d.ts.map +1 -0
- package/resourceHandler.js +189 -0
- package/resourceHandler.js.map +1 -0
- package/auth/auth.d.ts +0 -6
- package/auth/auth.d.ts.map +0 -1
- package/auth/auth.js +0 -19
- package/auth/auth.js.map +0 -1
- package/delay/delayMiddleware.d.ts +0 -3
- package/delay/delayMiddleware.d.ts.map +0 -1
- package/delay/delayMiddleware.js +0 -11
- package/delay/delayMiddleware.js.map +0 -1
- package/resourceRouter.d.ts +0 -5
- package/resourceRouter.d.ts.map +0 -1
- package/resourceRouter.js +0 -140
- package/resourceRouter.js.map +0 -1
package/README.md
CHANGED
|
@@ -114,8 +114,6 @@ The HTTP methods that are supported are `GET`, `POST`, `PATCH`, `PUT`, `DELETE`,
|
|
|
114
114
|
|
|
115
115
|
On the root URI (e.g. http://localhost:8080/) only a `GET` request is supported, which shows you a message indicating the API is working. All other HTTP methods on the root URI return a `405 Method Not Allowed` response.
|
|
116
116
|
|
|
117
|
-
The `OPTIONS` method also works, but because Temba uses Express' default implementation for that, the `Access-Control-Allow-Methods` response header might not always be correct.
|
|
118
|
-
|
|
119
117
|
### JSON
|
|
120
118
|
|
|
121
119
|
Temba supports JSON only.
|
|
@@ -124,7 +122,7 @@ Request bodies sent with a `POST`, `PATCH`, and `PUT` requests are valid when th
|
|
|
124
122
|
|
|
125
123
|
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).
|
|
126
124
|
|
|
127
|
-
IDs are auto generated when creating resources.
|
|
125
|
+
IDs are auto generated when creating resources, unless you specify an ID in the `POST` request URL.
|
|
128
126
|
|
|
129
127
|
Providing IDs in the request body of `POST`, `PUT`, or `PATCH` requests is not allowed and will return a `400 Bad Request` response. Instead, provide the ID in the request URL. However, omitting an ID in a `PUT` or `PATCH` request URL also returns a `400 Bad Request` response.
|
|
130
128
|
|
|
@@ -382,68 +380,6 @@ After enabling etags, every `GET` request will return an `etag` response header,
|
|
|
382
380
|
|
|
383
381
|
For updating or deleting items with a `PUT`, `PATCH`, or `DELETE`, after enabling etags, these requests are _required_ to provide an `If-Match` header with the etag. Only if the etag represents the latest version of the resource the update is made, otherwise the server responds with a `412 Precondition Failed` status code.
|
|
384
382
|
|
|
385
|
-
### Custom router
|
|
386
|
-
|
|
387
|
-
Because Temba uses Express under the hood, you can create an Express router, and configure it as a `customRouter`:
|
|
388
|
-
|
|
389
|
-
```js
|
|
390
|
-
// Example code of how to create an Express router, from the official Express docs at https://expressjs.com/en/guide/routing.html:
|
|
391
|
-
const express = require('express')
|
|
392
|
-
const router = express.Router()
|
|
393
|
-
|
|
394
|
-
// middleware that is specific to this router
|
|
395
|
-
router.use((req, res, next) => {
|
|
396
|
-
console.log('Time: ', Date.now())
|
|
397
|
-
next()
|
|
398
|
-
})
|
|
399
|
-
// define the home page route
|
|
400
|
-
router.get('/', (req, res) => {
|
|
401
|
-
res.send('Birds home page')
|
|
402
|
-
})
|
|
403
|
-
// define the about route
|
|
404
|
-
router.get('/about', (req, res) => {
|
|
405
|
-
res.send('About birds')
|
|
406
|
-
})
|
|
407
|
-
|
|
408
|
-
// Add the custom router to Temba config
|
|
409
|
-
const config = {
|
|
410
|
-
customRouter: router,
|
|
411
|
-
}
|
|
412
|
-
|
|
413
|
-
const server = create(config)
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
> 💁 Don't overuse `customRouter`, as it defeats the purpose of Temba being a simple out-of-the-box solution.
|
|
417
|
-
|
|
418
|
-
A `customRouter` can only overrule resource routes. The root URL (with or without `staticFolder`) will always be handled by Temba.
|
|
419
|
-
|
|
420
|
-
So for the following router and config:
|
|
421
|
-
|
|
422
|
-
```
|
|
423
|
-
router.get('/', (req, res) => {
|
|
424
|
-
res.send('Birds home page')
|
|
425
|
-
})
|
|
426
|
-
router.get('/stuff', (req, res) => {
|
|
427
|
-
res.send('Some stuff')
|
|
428
|
-
})
|
|
429
|
-
router.get('api/stuff', (req, res) => {
|
|
430
|
-
res.send('Some API stuff')
|
|
431
|
-
})
|
|
432
|
-
|
|
433
|
-
const config = {
|
|
434
|
-
apiPrefix: 'api',
|
|
435
|
-
customRouter: router,
|
|
436
|
-
resources: ['stuff'],
|
|
437
|
-
staticFolder: 'build',
|
|
438
|
-
}
|
|
439
|
-
const server = create(config)
|
|
440
|
-
```
|
|
441
|
-
|
|
442
|
-
- `/` will be handled by Temba, and will return the `staticFolder` (`build`) folder contents
|
|
443
|
-
- `/stuff` and `/api/stuff` will be handled by the custom router
|
|
444
|
-
- `/movies` will return a `404 Not Found`, because of `apiPrefix`
|
|
445
|
-
- `/api/movies` will return movies, handled by Temba
|
|
446
|
-
|
|
447
383
|
## Config settings overview
|
|
448
384
|
|
|
449
385
|
Configuring Temba is optional, it already works out of the box.
|
|
@@ -455,7 +391,6 @@ const config = {
|
|
|
455
391
|
allowDeleteCollection: true,
|
|
456
392
|
apiPrefix: 'api',
|
|
457
393
|
connectionString: 'mongodb://localhost:27017/myDatabase',
|
|
458
|
-
customRouter: router,
|
|
459
394
|
delay: 500,
|
|
460
395
|
etags: true,
|
|
461
396
|
port: 4321,
|
|
@@ -504,7 +439,6 @@ These are all the possible settings:
|
|
|
504
439
|
| `allowDeleteCollection` | Whether a `DELETE` request on a collection is allowed to delete all items. | `false` |
|
|
505
440
|
| `apiPrefix` | See [API prefix](#api-prefix) | `null` |
|
|
506
441
|
| `connectionString` | See [Data persistency](#data-persistency) | `null` |
|
|
507
|
-
| `customRouter` | See [Custom router](#custom-router) | `null` |
|
|
508
442
|
| `delay` | The delay, in milliseconds, after processing the request before sending the response. | `0` |
|
|
509
443
|
| `etags` | See [Caching and consistency with Etags](#caching-and-consistency-with-etags) | `false` |
|
|
510
444
|
| `port` | The port your Temba server listens on | `3000` |
|
|
@@ -517,7 +451,7 @@ These are all the possible settings:
|
|
|
517
451
|
|
|
518
452
|
## Under the hood
|
|
519
453
|
|
|
520
|
-
Temba is built with TypeScript, [Node](https://nodejs.org), [
|
|
454
|
+
Temba is built with TypeScript, [Node](https://nodejs.org), [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).
|
|
521
455
|
|
|
522
456
|
## Contributors ✨
|
|
523
457
|
|
package/config/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
1
|
import type { ConfiguredSchemas } from '../schema/types.js';
|
|
3
2
|
import type { RequestInterceptor } from '../requestInterceptor/types.js';
|
|
4
3
|
import type { ResponseBodyInterceptor } from '../responseBodyInterceptor/types.js';
|
|
@@ -19,17 +18,16 @@ export type Config = {
|
|
|
19
18
|
staticFolder: string | null;
|
|
20
19
|
connectionString: string | null;
|
|
21
20
|
delay: number;
|
|
22
|
-
customRouter: Router | null;
|
|
23
21
|
returnNullFields: boolean;
|
|
24
22
|
isTesting: boolean;
|
|
25
23
|
port: number;
|
|
26
24
|
schemas: ConfiguredSchemas | null;
|
|
27
25
|
allowDeleteCollection: boolean;
|
|
28
|
-
|
|
26
|
+
etagsEnabled: boolean;
|
|
29
27
|
openapi: OpenApiConfig;
|
|
30
28
|
};
|
|
31
29
|
export type ConfigKey = keyof Config;
|
|
32
|
-
export type RouterConfig = Pick<Config, 'validateResources' | 'resources' | 'apiPrefix' | 'requestInterceptor' | 'responseBodyInterceptor' | 'returnNullFields' | 'allowDeleteCollection' | '
|
|
30
|
+
export type RouterConfig = Pick<Config, 'validateResources' | 'resources' | 'apiPrefix' | 'requestInterceptor' | 'responseBodyInterceptor' | 'returnNullFields' | 'allowDeleteCollection' | 'etagsEnabled'>;
|
|
33
31
|
export type UserConfig = {
|
|
34
32
|
resources?: Resources;
|
|
35
33
|
staticFolder?: string;
|
|
@@ -38,7 +36,6 @@ export type UserConfig = {
|
|
|
38
36
|
delay?: number;
|
|
39
37
|
requestInterceptor?: RequestInterceptor;
|
|
40
38
|
responseBodyInterceptor?: ResponseBodyInterceptor;
|
|
41
|
-
customRouter?: Router;
|
|
42
39
|
returnNullFields?: boolean;
|
|
43
40
|
isTesting?: boolean;
|
|
44
41
|
port?: number;
|
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,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA,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,KAAK,YAAY,GAAG,MAAM,CAAA;AAE1B,KAAK,gBAAgB,GAAG;IACtB,YAAY,EAAE,YAAY,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,SAAS,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC,EAAE,CAAA;AAEpD,KAAK,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAEtD,MAAM,MAAM,MAAM,GAAG;IACnB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,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,gBAAgB,EAAE,OAAO,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAA;IACjC,qBAAqB,EAAE,OAAO,CAAA;IAC9B,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,EAAE,aAAa,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,MAAM,CAAA;AAEpC,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,MAAM,EACJ,mBAAmB,GACnB,WAAW,GACX,WAAW,GACX,oBAAoB,GACpB,yBAAyB,GACzB,kBAAkB,GAClB,uBAAuB,GACvB,cAAc,CACjB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB,CAAA;AAoBD,eAAO,MAAM,UAAU,gBAAiB,UAAU,KAAG,MAoGpD,CAAA;AAED,eAAO,MAAM,WAAW,UAAW,OAAO,KAAG,KAAK,IAAI,SAAyC,CAAA"}
|
package/config/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
1
|
const defaultConfig = {
|
|
3
2
|
resources: [],
|
|
4
3
|
validateResources: false,
|
|
@@ -8,13 +7,12 @@ const defaultConfig = {
|
|
|
8
7
|
delay: 0,
|
|
9
8
|
requestInterceptor: null,
|
|
10
9
|
responseBodyInterceptor: null,
|
|
11
|
-
customRouter: null,
|
|
12
10
|
returnNullFields: true,
|
|
13
11
|
isTesting: false,
|
|
14
12
|
port: 3000,
|
|
15
13
|
schemas: null,
|
|
16
14
|
allowDeleteCollection: false,
|
|
17
|
-
|
|
15
|
+
etagsEnabled: false,
|
|
18
16
|
openapi: false,
|
|
19
17
|
};
|
|
20
18
|
export const initConfig = (userConfig) => {
|
|
@@ -67,9 +65,6 @@ export const initConfig = (userConfig) => {
|
|
|
67
65
|
if (userConfig.responseBodyInterceptor) {
|
|
68
66
|
config.responseBodyInterceptor = userConfig.responseBodyInterceptor;
|
|
69
67
|
}
|
|
70
|
-
if (userConfig.customRouter) {
|
|
71
|
-
config.customRouter = userConfig.customRouter;
|
|
72
|
-
}
|
|
73
68
|
if (!isUndefined(userConfig.returnNullFields)) {
|
|
74
69
|
config.returnNullFields = userConfig.returnNullFields;
|
|
75
70
|
}
|
|
@@ -86,7 +81,7 @@ export const initConfig = (userConfig) => {
|
|
|
86
81
|
config.allowDeleteCollection = userConfig.allowDeleteCollection;
|
|
87
82
|
}
|
|
88
83
|
if (!isUndefined(userConfig.etags)) {
|
|
89
|
-
config.
|
|
84
|
+
config.etagsEnabled = userConfig.etags;
|
|
90
85
|
}
|
|
91
86
|
if (!isUndefined(userConfig.openapi)) {
|
|
92
87
|
config.openapi = userConfig.openapi;
|
package/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
|
package/etags/etags.d.ts
CHANGED
package/etags/etags.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"etags.d.ts","sourceRoot":"","sources":["../../../src/etags/etags.ts"],"names":[],"mappings":"AAAA,OAAwB,EAAE,KAAK,SAAS,EAAE,MAAM,MAAM,CAAA;AAOtD,eAAO,MAAM,IAAI,WAAY,MAAM,GAAG,MAAM,GAAG,SAAS,WAEvD,CAAA"}
|
|
1
|
+
{"version":3,"file":"etags.d.ts","sourceRoot":"","sources":["../../../src/etags/etags.ts"],"names":[],"mappings":"AAAA,OAAwB,EAAE,KAAK,SAAS,EAAE,MAAM,MAAM,CAAA;AAOtD,eAAO,MAAM,YAAY,YAAa,OAAO,WAE5C,CAAA;AAED,eAAO,MAAM,IAAI,WAAY,MAAM,GAAG,MAAM,GAAG,SAAS,WAEvD,CAAA"}
|
package/etags/etags.js
CHANGED
|
@@ -3,6 +3,9 @@ import etagFromExpress, {} from 'etag';
|
|
|
3
3
|
// Express only supports generating them, so to be sure we use the same algorithm for both,
|
|
4
4
|
// we use the etag module for both by wrapping it here.
|
|
5
5
|
// This means we also override the default Express etag function, but that's with the same algorithm.
|
|
6
|
+
export const generateEtag = (payload) => {
|
|
7
|
+
return etag(JSON.stringify(payload));
|
|
8
|
+
};
|
|
6
9
|
export const etag = (entity) => {
|
|
7
10
|
return etagFromExpress(entity, { weak: true });
|
|
8
11
|
};
|
package/etags/etags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"etags.js","sourceRoot":"","sources":["../../../src/etags/etags.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,EAAE,EAAkB,MAAM,MAAM,CAAA;AAEtD,iFAAiF;AACjF,2FAA2F;AAC3F,uDAAuD;AACvD,qGAAqG;AAErG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAmC,EAAE,EAAE;IAC1D,OAAO,eAAe,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"etags.js","sourceRoot":"","sources":["../../../src/etags/etags.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,EAAE,EAAkB,MAAM,MAAM,CAAA;AAEtD,iFAAiF;AACjF,2FAA2F;AAC3F,uDAAuD;AACvD,qGAAqG;AAErG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAE,EAAE;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAAmC,EAAE,EAAE;IAC1D,OAAO,eAAe,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;AAChD,CAAC,CAAA"}
|
package/index.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
1
|
+
import { type UserConfig } from './config/index.js';
|
|
2
|
+
import type { IncomingMessage, ServerResponse } from 'http';
|
|
3
3
|
export declare const create: (userConfig?: UserConfig) => {
|
|
4
|
-
start: () =>
|
|
5
|
-
|
|
4
|
+
start: () => import("http").Server<typeof IncomingMessage, typeof ServerResponse> | undefined;
|
|
5
|
+
server: import("http").Server<typeof IncomingMessage, typeof ServerResponse> | undefined;
|
|
6
6
|
};
|
|
7
|
-
export declare const TembaError: typeof TembaErrorInternal;
|
|
8
7
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAoF3D,eAAO,MAAM,MAAM,gBAAiB,UAAU;;;CAA6B,CAAA"}
|
package/index.js
CHANGED
|
@@ -1,101 +1,72 @@
|
|
|
1
|
-
import
|
|
2
|
-
import morgan from 'morgan';
|
|
3
|
-
import { createQueries } from './data/queries.js';
|
|
1
|
+
import { createServer as httpCreateServer } from 'node:http';
|
|
4
2
|
import { initConfig } from './config/index.js';
|
|
5
|
-
import
|
|
6
|
-
import { createDelayMiddleware } from './delay/delayMiddleware.js';
|
|
3
|
+
import { createQueries } from './data/queries.js';
|
|
7
4
|
import { compileSchemas } from './schema/compile.js';
|
|
8
|
-
import {
|
|
9
|
-
import { TembaError as TembaErrorInternal } from './requestInterceptor/TembaError.js';
|
|
10
|
-
import { createAuthMiddleware, isAuthEnabled } from './auth/auth.js';
|
|
5
|
+
import { createResourceHandler, handleMethodNotAllowed, handleNotFound, noopHandler, sendErrorResponse, } from './resourceHandler.js';
|
|
11
6
|
import { initLogger } from './log/logger.js';
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
res.status(404).json({ message: 'Not Found' });
|
|
7
|
+
import { createOpenApiHandler } from './openapi/openapi.js';
|
|
8
|
+
import morgan from 'morgan';
|
|
9
|
+
const handleRootUrl = (req, res) => {
|
|
10
|
+
if (req.method !== 'GET')
|
|
11
|
+
return handleMethodNotAllowed(req, res);
|
|
12
|
+
res.statusCode = 200;
|
|
13
|
+
res.setHeader('Content-Type', 'text/plain');
|
|
14
|
+
res.end('It works! ツ');
|
|
21
15
|
};
|
|
16
|
+
const removePendingAndTrailingSlashes = (url) => (url ? url.replace(/^\/+|\/+$/g, '') : '');
|
|
22
17
|
const createServer = (userConfig) => {
|
|
23
|
-
const { logger, logLevel } = initLogger(process.env.LOG_LEVEL);
|
|
24
18
|
const config = initConfig(userConfig);
|
|
19
|
+
const rootPath = config.apiPrefix ? removePendingAndTrailingSlashes(config.apiPrefix) : '';
|
|
20
|
+
const openapiPaths = [
|
|
21
|
+
`${rootPath ? `${rootPath}/` : ''}openapi.json`,
|
|
22
|
+
`${rootPath ? `${rootPath}/` : ''}openapi.yaml`,
|
|
23
|
+
];
|
|
24
|
+
const { logger, logLevel } = initLogger(process.env.LOG_LEVEL);
|
|
25
25
|
const queries = createQueries(config.connectionString, logger);
|
|
26
|
-
const app = express();
|
|
27
|
-
app.use(json());
|
|
28
|
-
app.set('etag', config.etags ? (entity) => etag(entity) : false);
|
|
29
|
-
// Add HTTP request logging.
|
|
30
|
-
if (logLevel === 'debug')
|
|
31
|
-
app.use(morgan('tiny'));
|
|
32
|
-
// Enable CORS for all requests.
|
|
33
|
-
app.use(cors({ origin: true, credentials: true }));
|
|
34
|
-
// Serve a static folder, if configured.
|
|
35
|
-
// Because it is defined before the auth middleware, the static folder is served without authentication,
|
|
36
|
-
// because it is not convenient to add an auth header to a web page in the browser.
|
|
37
|
-
if (config.staticFolder) {
|
|
38
|
-
app.use(express.static(config.staticFolder));
|
|
39
|
-
}
|
|
40
|
-
// If enabled, add auth middleware to all requests, and disable the tokens resource.
|
|
41
|
-
if (isAuthEnabled()) {
|
|
42
|
-
app.use(createAuthMiddleware(queries));
|
|
43
|
-
app.all('/tokens', handleNotFound);
|
|
44
|
-
}
|
|
45
|
-
// Add a delay to every request, if configured.
|
|
46
|
-
if (config.delay > 0) {
|
|
47
|
-
const delayMiddleware = createDelayMiddleware(config.delay);
|
|
48
|
-
app.use(delayMiddleware);
|
|
49
|
-
}
|
|
50
|
-
// On the root URL (with apiPrefix, if applicable) only a GET is allowed.
|
|
51
|
-
const rootRouter = express.Router();
|
|
52
|
-
const rootPath = config.apiPrefix ? `${config.apiPrefix}` : '/';
|
|
53
|
-
app.use(rootPath, rootRouter);
|
|
54
|
-
// Use a custom router, if configured.
|
|
55
|
-
if (config.customRouter) {
|
|
56
|
-
app.use(config.customRouter);
|
|
57
|
-
}
|
|
58
|
-
app.use('/openapi.json', createOpenApiRouter('json', config));
|
|
59
|
-
app.use('/openapi.yaml', createOpenApiRouter('yaml', config));
|
|
60
|
-
// Temba supports the GET, POST, PUT, PATCH, DELETE, and HEAD methods for resource URLs.
|
|
61
|
-
// HEAD is not implemented here, because Express supports it out of the box.
|
|
62
|
-
// Create a router on all other URLs, for all supported methods
|
|
63
|
-
const resourcePath = config.apiPrefix ? `${config.apiPrefix}*` : '*';
|
|
64
26
|
const schemas = compileSchemas(config.schemas);
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
27
|
+
const handleResource = createResourceHandler(queries, schemas, config);
|
|
28
|
+
const httpLogger = logLevel === 'debug' ? morgan('tiny') : noopHandler;
|
|
29
|
+
const server = httpCreateServer((req, res) => {
|
|
30
|
+
httpLogger(req, res, (err) => {
|
|
31
|
+
if (err)
|
|
32
|
+
return sendErrorResponse(res);
|
|
33
|
+
const requestUrl = removePendingAndTrailingSlashes(req.url);
|
|
34
|
+
const handleRequest = () => {
|
|
35
|
+
if (requestUrl === rootPath) {
|
|
36
|
+
handleRootUrl(req, res);
|
|
37
|
+
}
|
|
38
|
+
else if (openapiPaths.includes(requestUrl)) {
|
|
39
|
+
createOpenApiHandler(requestUrl.endsWith('.json') ? 'json' : 'yaml', config)(req, res);
|
|
40
|
+
}
|
|
41
|
+
else if (requestUrl.startsWith(rootPath)) {
|
|
42
|
+
handleResource(req, res);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
handleNotFound(req, res);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
if (config.delay > 0) {
|
|
49
|
+
setTimeout(handleRequest, config.delay);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
handleRequest();
|
|
53
|
+
}
|
|
54
|
+
});
|
|
70
55
|
});
|
|
71
|
-
// All other requests to the root URL are not allowed.
|
|
72
|
-
rootRouter.all('/', handleMethodNotAllowed);
|
|
73
|
-
// In case of an API prefix, resource URLs outside of the API prefix return a 404 Not Found.
|
|
74
|
-
if (config.apiPrefix) {
|
|
75
|
-
app.get('*', handleNotFound);
|
|
76
|
-
app.post('*', handleNotFound);
|
|
77
|
-
app.put('*', handleNotFound);
|
|
78
|
-
app.delete('*', handleNotFound);
|
|
79
|
-
app.patch('*', handleNotFound);
|
|
80
|
-
}
|
|
81
|
-
// All other methods to any URL are not allowed.
|
|
82
|
-
app.all('*', handleMethodNotAllowed);
|
|
83
|
-
if (config.apiPrefix)
|
|
84
|
-
app.all(`${config.apiPrefix}*`, handleMethodNotAllowed);
|
|
85
56
|
return {
|
|
86
57
|
start: () => {
|
|
87
58
|
if (config.isTesting) {
|
|
88
59
|
logger.info('⛔️ Server not started. Remove or disable isTesting from your config.');
|
|
89
60
|
return;
|
|
90
61
|
}
|
|
91
|
-
|
|
92
|
-
|
|
62
|
+
server.listen(config.port, () => {
|
|
63
|
+
console.log(`✅ Server listening on port ${config.port}`);
|
|
93
64
|
});
|
|
65
|
+
return server;
|
|
94
66
|
},
|
|
95
|
-
// Expose
|
|
96
|
-
|
|
67
|
+
// Expose the http server for testing purposes only, e.g. usage with supertest.
|
|
68
|
+
server: config.isTesting ? server : undefined,
|
|
97
69
|
};
|
|
98
70
|
};
|
|
99
71
|
export const create = (userConfig) => createServer(userConfig);
|
|
100
|
-
export const TembaError = TembaErrorInternal;
|
|
101
72
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/openapi/openapi.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Config } from '../config/index.js';
|
|
2
|
+
import type { IncomingMessage, ServerResponse } from 'http';
|
|
2
3
|
type OpenApiFormat = 'json' | 'yaml';
|
|
3
|
-
export declare const
|
|
4
|
+
export declare const createOpenApiHandler: (format: OpenApiFormat, config: Config) => (req: IncomingMessage, res: ServerResponse<IncomingMessage>) => Promise<void>;
|
|
4
5
|
export {};
|
|
5
6
|
//# sourceMappingURL=openapi.d.ts.map
|
package/openapi/openapi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/openapi/openapi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../../src/openapi/openapi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAIvC,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AA8C3D,KAAK,aAAa,GAAG,MAAM,GAAG,MAAM,CAAA;AAIpC,eAAO,MAAM,oBAAoB,WAAY,aAAa,UAAU,MAAM,WACrC,eAAe,OAAO,cAAc,CAAC,eAAe,CAAC,kBAofzF,CAAA"}
|
package/openapi/openapi.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import express from 'express';
|
|
2
1
|
import { OpenApiBuilder } from 'openapi3-ts/oas31';
|
|
3
2
|
import indefinite from 'indefinite';
|
|
4
3
|
import deepmerge from 'deepmerge';
|
|
4
|
+
import { handleNotFound } from '../resourceHandler.js';
|
|
5
5
|
const getPathParameters = (resourceInfo, id = false) => {
|
|
6
6
|
const { resource, singularResourceLowerCase } = resourceInfo;
|
|
7
7
|
const resourceParameter = {
|
|
@@ -32,14 +32,17 @@ const getPathParameters = (resourceInfo, id = false) => {
|
|
|
32
32
|
return parameters;
|
|
33
33
|
};
|
|
34
34
|
const anyResource = '{resource}';
|
|
35
|
-
export const
|
|
36
|
-
const
|
|
37
|
-
openapiRouter.get('/', async (req, res) => {
|
|
35
|
+
export const createOpenApiHandler = (format, config) => {
|
|
36
|
+
const openApiHandler = async (req, res) => {
|
|
38
37
|
if (!config.openapi) {
|
|
39
|
-
return
|
|
38
|
+
return handleNotFound(req, res);
|
|
40
39
|
}
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
let server = req.headers.host?.split(':')[1] &&
|
|
41
|
+
!['80', '443'].includes(req.headers.host.split(':')[1] || '')
|
|
42
|
+
? req.headers.host
|
|
43
|
+
: 'default';
|
|
44
|
+
if (config.apiPrefix)
|
|
45
|
+
server += config.apiPrefix;
|
|
43
46
|
let resourceInfos = [
|
|
44
47
|
{
|
|
45
48
|
resource: anyResource,
|
|
@@ -82,16 +85,13 @@ export const createOpenApiRouter = (format, config) => {
|
|
|
82
85
|
}
|
|
83
86
|
});
|
|
84
87
|
}
|
|
85
|
-
const spec = buildOpenApiSpec(
|
|
88
|
+
const spec = buildOpenApiSpec(server, resourceInfos);
|
|
86
89
|
const builder = new OpenApiBuilder(typeof config.openapi === 'object' ? deepmerge(spec, config.openapi) : spec);
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
const buildOpenApiSpec = (format, server, resourceInfos) => {
|
|
90
|
+
res.statusCode = 200;
|
|
91
|
+
res.setHeader('Content-Type', format === 'json' ? 'application/json' : 'application/yaml');
|
|
92
|
+
res.end(format === 'json' ? builder.getSpecAsJson() : builder.getSpecAsYaml());
|
|
93
|
+
};
|
|
94
|
+
const buildOpenApiSpec = (server, resourceInfos) => {
|
|
95
95
|
const builder = OpenApiBuilder.create()
|
|
96
96
|
.addOpenApiVersion('3.1.0')
|
|
97
97
|
.addInfo({
|
|
@@ -505,6 +505,6 @@ export const createOpenApiRouter = (format, config) => {
|
|
|
505
505
|
});
|
|
506
506
|
return builder.getSpec();
|
|
507
507
|
};
|
|
508
|
-
return
|
|
508
|
+
return openApiHandler;
|
|
509
509
|
};
|
|
510
510
|
//# sourceMappingURL=openapi.js.map
|
package/openapi/openapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../../src/openapi/openapi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../../../src/openapi/openapi.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "temba",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
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",
|
|
@@ -21,20 +21,19 @@
|
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/cors": "^2.8.17",
|
|
23
23
|
"@types/etag": "^1.8.3",
|
|
24
|
-
"@types/express": "^4.17.21",
|
|
25
24
|
"@types/indefinite": "^2.3.4",
|
|
26
25
|
"@types/morgan": "^1.9.9",
|
|
27
26
|
"@types/supertest": "^6.0.2",
|
|
28
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
29
|
-
"@typescript-eslint/parser": "^8.
|
|
27
|
+
"@typescript-eslint/eslint-plugin": "^8.24.0",
|
|
28
|
+
"@typescript-eslint/parser": "^8.24.0",
|
|
30
29
|
"eslint": "8.57.0",
|
|
31
|
-
"eslint-config-prettier": "^
|
|
32
|
-
"prettier": "^3.
|
|
30
|
+
"eslint-config-prettier": "^10.0.1",
|
|
31
|
+
"prettier": "^3.5.1",
|
|
33
32
|
"supertest": "^7.0.0",
|
|
34
33
|
"ts-node": "^10.9.2",
|
|
35
34
|
"tsc-alias": "^1.8.10",
|
|
36
|
-
"typescript": "^5.
|
|
37
|
-
"vitest": "^
|
|
35
|
+
"typescript": "^5.7.3",
|
|
36
|
+
"vitest": "^3.0.5"
|
|
38
37
|
},
|
|
39
38
|
"dependencies": {
|
|
40
39
|
"@rakered/mongo": "^1.6.0",
|
|
@@ -42,9 +41,8 @@
|
|
|
42
41
|
"connect-pause": "^0.1.0",
|
|
43
42
|
"cors": "^2.8.5",
|
|
44
43
|
"deepmerge": "^4.3.1",
|
|
45
|
-
"dotenv": "^16.4.
|
|
44
|
+
"dotenv": "^16.4.7",
|
|
46
45
|
"etag": "^1.8.1",
|
|
47
|
-
"express": "^4.19.2",
|
|
48
46
|
"indefinite": "^2.5.1",
|
|
49
47
|
"lowdb": "^7.0.1",
|
|
50
48
|
"morgan": "^1.10.0",
|