temba 0.18.0 → 0.21.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 +14 -2
- package/package.json +19 -21
- package/{config → src/config}/index.d.ts +7 -5
- package/src/config/index.d.ts.map +1 -0
- package/{config → src/config}/index.js +11 -39
- package/src/config/index.js.map +1 -0
- package/src/delay/delayMiddleware.d.ts +3 -0
- package/src/delay/delayMiddleware.d.ts.map +1 -0
- package/src/delay/delayMiddleware.js +13 -0
- package/src/delay/delayMiddleware.js.map +1 -0
- package/src/index.d.ts +6 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +83 -0
- package/src/index.js.map +1 -0
- package/src/queries/in-memory.d.ts +3 -0
- package/src/queries/in-memory.d.ts.map +1 -0
- package/src/queries/in-memory.js +61 -0
- package/src/queries/in-memory.js.map +1 -0
- package/src/queries/mongo.d.ts +3 -0
- package/src/queries/mongo.d.ts.map +1 -0
- package/src/queries/mongo.js +75 -0
- package/src/queries/mongo.js.map +1 -0
- package/src/queries/queries.d.ts +2 -0
- package/src/queries/queries.d.ts.map +1 -0
- package/src/queries/queries.js +10 -0
- package/src/queries/queries.js.map +1 -0
- package/src/queries/types.d.ts +15 -0
- package/src/queries/types.d.ts.map +1 -0
- package/src/queries/types.js +2 -0
- package/{routes → src/queries}/types.js.map +1 -1
- package/src/requestBodyInterceptor/interceptRequestBody.d.ts +3 -0
- package/src/requestBodyInterceptor/interceptRequestBody.d.ts.map +1 -0
- package/src/requestBodyInterceptor/interceptRequestBody.js +14 -0
- package/src/requestBodyInterceptor/interceptRequestBody.js.map +1 -0
- package/src/requestBodyInterceptor/types.d.ts +12 -0
- package/src/requestBodyInterceptor/types.d.ts.map +1 -0
- package/src/requestBodyInterceptor/types.js +2 -0
- package/src/requestBodyInterceptor/types.js.map +1 -0
- package/src/requestHandlers/delete.d.ts +12 -0
- package/src/requestHandlers/delete.d.ts.map +1 -0
- package/src/requestHandlers/delete.js +22 -0
- package/src/requestHandlers/delete.js.map +1 -0
- package/src/requestHandlers/get.d.ts +22 -0
- package/src/requestHandlers/get.d.ts.map +1 -0
- package/src/requestHandlers/get.js +47 -0
- package/src/requestHandlers/get.js.map +1 -0
- package/src/requestHandlers/index.d.ts +54 -0
- package/src/requestHandlers/index.d.ts.map +1 -0
- package/src/requestHandlers/index.js +21 -0
- package/src/requestHandlers/index.js.map +1 -0
- package/src/requestHandlers/patch.d.ts +9 -0
- package/src/requestHandlers/patch.d.ts.map +1 -0
- package/src/requestHandlers/patch.js +35 -0
- package/src/requestHandlers/patch.js.map +1 -0
- package/src/requestHandlers/post.d.ts +18 -0
- package/src/requestHandlers/post.d.ts.map +1 -0
- package/src/requestHandlers/post.js +37 -0
- package/src/requestHandlers/post.js.map +1 -0
- package/src/requestHandlers/put.d.ts +9 -0
- package/src/requestHandlers/put.d.ts.map +1 -0
- package/src/requestHandlers/put.js +35 -0
- package/src/requestHandlers/put.js.map +1 -0
- package/src/requestHandlers/types.d.ts +38 -0
- package/src/requestHandlers/types.d.ts.map +1 -0
- package/src/requestHandlers/types.js +2 -0
- package/{schema → src/requestHandlers}/types.js.map +1 -1
- package/{routes → src/requestHandlers}/utils.d.ts +1 -0
- package/src/requestHandlers/utils.d.ts.map +1 -0
- package/src/requestHandlers/utils.js +6 -0
- package/src/requestHandlers/utils.js.map +1 -0
- package/src/resourceRouter.d.ts +5 -0
- package/src/resourceRouter.d.ts.map +1 -0
- package/src/resourceRouter.js +95 -0
- package/src/resourceRouter.js.map +1 -0
- package/src/responseBodyInterceptor/interceptResponseBody.d.ts +3 -0
- package/src/responseBodyInterceptor/interceptResponseBody.d.ts.map +1 -0
- package/src/responseBodyInterceptor/interceptResponseBody.js +7 -0
- package/src/responseBodyInterceptor/interceptResponseBody.js.map +1 -0
- package/src/responseBodyInterceptor/types.d.ts +11 -0
- package/src/responseBodyInterceptor/types.d.ts.map +1 -0
- package/src/responseBodyInterceptor/types.js +2 -0
- package/src/responseBodyInterceptor/types.js.map +1 -0
- package/src/schema/compile.d.ts +3 -0
- package/src/schema/compile.d.ts.map +1 -0
- package/src/schema/compile.js +26 -0
- package/src/schema/compile.js.map +1 -0
- package/{schema → src/schema}/types.d.ts +4 -14
- package/src/schema/types.d.ts.map +1 -0
- package/src/schema/types.js +2 -0
- package/{queries → src/schema}/types.js.map +1 -1
- package/{schema → src/schema}/validate.d.ts +1 -0
- package/src/schema/validate.d.ts.map +1 -0
- package/src/schema/validate.js +14 -0
- package/src/schema/validate.js.map +1 -0
- package/src/urls/urlParser.d.ts +5 -0
- package/src/urls/urlParser.d.ts.map +1 -0
- package/src/urls/urlParser.js +9 -0
- package/src/urls/urlParser.js.map +1 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/config/index.js.map +0 -1
- package/delay/delayMiddleware.d.ts +0 -2
- package/delay/delayMiddleware.js +0 -16
- package/delay/delayMiddleware.js.map +0 -1
- package/index.d.ts +0 -5
- package/index.js +0 -98
- package/index.js.map +0 -1
- package/queries/in-memory.d.ts +0 -20
- package/queries/in-memory.js +0 -88
- package/queries/in-memory.js.map +0 -1
- package/queries/mongo.d.ts +0 -19
- package/queries/mongo.js +0 -218
- package/queries/mongo.js.map +0 -1
- package/queries/queries.d.ts +0 -11
- package/queries/queries.js +0 -17
- package/queries/queries.js.map +0 -1
- package/queries/types.d.ts +0 -14
- package/queries/types.js +0 -3
- package/routes/delete.d.ts +0 -7
- package/routes/delete.js +0 -77
- package/routes/delete.js.map +0 -1
- package/routes/get.d.ts +0 -7
- package/routes/get.js +0 -115
- package/routes/get.js.map +0 -1
- package/routes/interceptRequestBody.d.ts +0 -3
- package/routes/interceptRequestBody.js +0 -19
- package/routes/interceptRequestBody.js.map +0 -1
- package/routes/patch.d.ts +0 -8
- package/routes/patch.js +0 -102
- package/routes/patch.js.map +0 -1
- package/routes/post.d.ts +0 -8
- package/routes/post.js +0 -87
- package/routes/post.js.map +0 -1
- package/routes/put.d.ts +0 -8
- package/routes/put.js +0 -102
- package/routes/put.js.map +0 -1
- package/routes/routes.d.ts +0 -8
- package/routes/routes.js +0 -90
- package/routes/routes.js.map +0 -1
- package/routes/types.d.ts +0 -23
- package/routes/types.js +0 -3
- package/routes/utils.js +0 -13
- package/routes/utils.js.map +0 -1
- package/schema/compile.d.ts +0 -2
- package/schema/compile.js +0 -41
- package/schema/compile.js.map +0 -1
- package/schema/transformConfig.d.ts +0 -2
- package/schema/transformConfig.js +0 -17
- package/schema/transformConfig.js.map +0 -1
- package/schema/types.js +0 -3
- package/schema/validate.js +0 -19
- package/schema/validate.js.map +0 -1
- package/urls/urlMiddleware.d.ts +0 -5
- package/urls/urlMiddleware.js +0 -41
- package/urls/urlMiddleware.js.map +0 -1
- package/urls/urlParser.d.ts +0 -5
- package/urls/urlParser.js +0 -13
- package/urls/urlParser.js.map +0 -1
package/routes/post.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ValidateFunctionPerResource } from '../schema/types';
|
|
2
|
-
import { ExtendedRequest, RequestBodyInterceptor } from './types';
|
|
3
|
-
import { Queries } from '../queries/types';
|
|
4
|
-
import { Response } from 'express';
|
|
5
|
-
declare function createPostRoutes(queries: Queries, requestBodyInterceptor: RequestBodyInterceptor, returnNullFields: boolean, schemas: ValidateFunctionPerResource): {
|
|
6
|
-
handlePost: (req: ExtendedRequest, res: Response) => Promise<Response<any, Record<string, any>>>;
|
|
7
|
-
};
|
|
8
|
-
export { createPostRoutes };
|
package/routes/post.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.createPostRoutes = void 0;
|
|
40
|
-
var url_1 = require("url");
|
|
41
|
-
var interceptRequestBody_1 = require("./interceptRequestBody");
|
|
42
|
-
var utils_1 = require("./utils");
|
|
43
|
-
var validate_1 = require("../schema/validate");
|
|
44
|
-
function createPostRoutes(queries, requestBodyInterceptor, returnNullFields, schemas) {
|
|
45
|
-
function handlePost(req, res) {
|
|
46
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var resource, validationResult, body, newItem, error_1;
|
|
48
|
-
return __generator(this, function (_a) {
|
|
49
|
-
switch (_a.label) {
|
|
50
|
-
case 0:
|
|
51
|
-
_a.trys.push([0, 2, , 3]);
|
|
52
|
-
resource = req.requestInfo.resource;
|
|
53
|
-
validationResult = (0, validate_1.validate)(req.body, schemas === null || schemas === void 0 ? void 0 : schemas[resource]);
|
|
54
|
-
if (validationResult.isValid === false) {
|
|
55
|
-
return [2 /*return*/, res.status(400).json({ message: validationResult.errorMessage })];
|
|
56
|
-
}
|
|
57
|
-
body = (0, interceptRequestBody_1.interceptRequestBody)(requestBodyInterceptor.post, req);
|
|
58
|
-
if (typeof body === 'string')
|
|
59
|
-
return [2 /*return*/, res.status(400).json({ message: body }).send()];
|
|
60
|
-
return [4 /*yield*/, queries.create(resource, body)];
|
|
61
|
-
case 1:
|
|
62
|
-
newItem = _a.sent();
|
|
63
|
-
return [2 /*return*/, res
|
|
64
|
-
.set({
|
|
65
|
-
Location: (0, url_1.format)({
|
|
66
|
-
protocol: req.protocol,
|
|
67
|
-
host: req.get('host'),
|
|
68
|
-
pathname: "".concat(resource, "/").concat(newItem.id),
|
|
69
|
-
}),
|
|
70
|
-
})
|
|
71
|
-
.status(201)
|
|
72
|
-
.json(returnNullFields ? newItem : (0, utils_1.removeNullFields)(newItem))
|
|
73
|
-
.send()];
|
|
74
|
-
case 2:
|
|
75
|
-
error_1 = _a.sent();
|
|
76
|
-
return [2 /*return*/, res.status(500).json({ message: error_1.message })];
|
|
77
|
-
case 3: return [2 /*return*/];
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
handlePost: handlePost,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
exports.createPostRoutes = createPostRoutes;
|
|
87
|
-
//# sourceMappingURL=post.js.map
|
package/routes/post.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/routes/post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAA4B;AAC5B,+DAA6D;AAC7D,iCAA0C;AAC1C,+CAA6C;AAM7C,SAAS,gBAAgB,CACvB,OAAgB,EAChB,sBAA8C,EAC9C,gBAAyB,EACzB,OAAoC;IAEpC,SAAe,UAAU,CAAC,GAAoB,EAAE,GAAa;;;;;;;wBAEjD,QAAQ,GAAK,GAAG,CAAC,WAAW,SAApB,CAAoB;wBAE9B,gBAAgB,GAAG,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAC,CAAC,CAAA;wBAChE,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE;4BACtC,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,EAAA;yBACxE;wBAEK,IAAI,GAAG,IAAA,2CAAoB,EAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;wBAEnE,IAAI,OAAO,IAAI,KAAK,QAAQ;4BAAE,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAA;wBAEnE,qBAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAA;;wBAA9C,OAAO,GAAG,SAAoC;wBAEpD,sBAAO,GAAG;iCACP,GAAG,CAAC;gCACH,QAAQ,EAAE,IAAA,YAAM,EAAC;oCACf,QAAQ,EAAE,GAAG,CAAC,QAAQ;oCACtB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;oCACrB,QAAQ,EAAE,UAAG,QAAQ,cAAI,OAAO,CAAC,EAAE,CAAE;iCACtC,CAAC;6BACH,CAAC;iCACD,MAAM,CAAC,GAAG,CAAC;iCACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAC;iCAC5D,IAAI,EAAE,EAAA;;;wBAET,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAG,OAAe,CAAC,OAAO,EAAE,CAAC,EAAA;;;;;KAErE;IAED,OAAO;QACL,UAAU,YAAA;KACX,CAAA;AACH,CAAC;AAEQ,4CAAgB"}
|
package/routes/put.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ValidateFunctionPerResource } from '../schema/types';
|
|
2
|
-
import { ExtendedRequest, RequestBodyInterceptor } from './types';
|
|
3
|
-
import { Queries } from '../queries/types';
|
|
4
|
-
import { Response } from 'express';
|
|
5
|
-
declare function createPutRoutes(queries: Queries, requestBodyInterceptor: RequestBodyInterceptor, returnNullFields: boolean, schemas: ValidateFunctionPerResource): {
|
|
6
|
-
handlePut: (req: ExtendedRequest, res: Response) => Promise<Response<any, Record<string, any>>>;
|
|
7
|
-
};
|
|
8
|
-
export { createPutRoutes };
|
package/routes/put.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
exports.createPutRoutes = void 0;
|
|
51
|
-
var interceptRequestBody_1 = require("./interceptRequestBody");
|
|
52
|
-
var validate_1 = require("../schema/validate");
|
|
53
|
-
var utils_1 = require("./utils");
|
|
54
|
-
function createPutRoutes(queries, requestBodyInterceptor, returnNullFields, schemas) {
|
|
55
|
-
function handlePut(req, res) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
57
|
-
var _a, resource, id, validationResult, body, item, replacedItem, error_1;
|
|
58
|
-
return __generator(this, function (_b) {
|
|
59
|
-
switch (_b.label) {
|
|
60
|
-
case 0:
|
|
61
|
-
_b.trys.push([0, 4, , 5]);
|
|
62
|
-
_a = req.requestInfo, resource = _a.resource, id = _a.id;
|
|
63
|
-
validationResult = (0, validate_1.validate)(req.body, schemas === null || schemas === void 0 ? void 0 : schemas[resource]);
|
|
64
|
-
if (validationResult.isValid === false) {
|
|
65
|
-
return [2 /*return*/, res.status(400).json({ message: validationResult.errorMessage })];
|
|
66
|
-
}
|
|
67
|
-
body = (0, interceptRequestBody_1.interceptRequestBody)(requestBodyInterceptor.put, req);
|
|
68
|
-
if (typeof body === 'string')
|
|
69
|
-
return [2 /*return*/, res.status(400).json({ message: body }).send()];
|
|
70
|
-
item = null;
|
|
71
|
-
if (!id) return [3 /*break*/, 2];
|
|
72
|
-
return [4 /*yield*/, queries.getById(resource, id)];
|
|
73
|
-
case 1:
|
|
74
|
-
item = _b.sent();
|
|
75
|
-
_b.label = 2;
|
|
76
|
-
case 2:
|
|
77
|
-
if (!item)
|
|
78
|
-
return [2 /*return*/, res.status(404).json({
|
|
79
|
-
message: "ID '".concat(id, "' not found"),
|
|
80
|
-
})];
|
|
81
|
-
item = __assign(__assign({}, body), { id: id });
|
|
82
|
-
return [4 /*yield*/, queries.replace(resource, item)];
|
|
83
|
-
case 3:
|
|
84
|
-
replacedItem = _b.sent();
|
|
85
|
-
return [2 /*return*/, res
|
|
86
|
-
.status(200)
|
|
87
|
-
.json(returnNullFields ? replacedItem : (0, utils_1.removeNullFields)(replacedItem))
|
|
88
|
-
.send()];
|
|
89
|
-
case 4:
|
|
90
|
-
error_1 = _b.sent();
|
|
91
|
-
return [2 /*return*/, res.status(500).json({ message: error_1.message })];
|
|
92
|
-
case 5: return [2 /*return*/];
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
return {
|
|
98
|
-
handlePut: handlePut,
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
exports.createPutRoutes = createPutRoutes;
|
|
102
|
-
//# sourceMappingURL=put.js.map
|
package/routes/put.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../src/routes/put.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAA6D;AAC7D,+CAA6C;AAC7C,iCAA0C;AAM1C,SAAS,eAAe,CACtB,OAAgB,EAChB,sBAA8C,EAC9C,gBAAyB,EACzB,OAAoC;IAEpC,SAAe,SAAS,CAAC,GAAoB,EAAE,GAAa;;;;;;;wBAElD,KAAmB,GAAG,CAAC,WAAW,EAAhC,QAAQ,cAAA,EAAE,EAAE,QAAA,CAAoB;wBAElC,gBAAgB,GAAG,IAAA,mBAAQ,EAAC,GAAG,CAAC,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,QAAQ,CAAC,CAAC,CAAA;wBAChE,IAAI,gBAAgB,CAAC,OAAO,KAAK,KAAK,EAAE;4BACtC,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,YAAY,EAAE,CAAC,EAAA;yBACxE;wBAEK,IAAI,GAAG,IAAA,2CAAoB,EAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;wBAElE,IAAI,OAAO,IAAI,KAAK,QAAQ;4BAAE,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAA;wBAE/E,IAAI,GAAG,IAAI,CAAA;6BACX,EAAE,EAAF,wBAAE;wBAAS,qBAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAA;;wBAA1C,IAAI,GAAG,SAAmC,CAAA;;;wBAElD,IAAI,CAAC,IAAI;4BACP,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oCAC1B,OAAO,EAAE,cAAO,EAAE,gBAAa;iCAChC,CAAC,EAAA;wBAEJ,IAAI,yBAAQ,IAAI,KAAE,EAAE,IAAA,GAAE,CAAA;wBAED,qBAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAA;;wBAApD,YAAY,GAAG,SAAqC;wBAE1D,sBAAO,GAAG;iCACP,MAAM,CAAC,GAAG,CAAC;iCACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,YAAY,CAAC,CAAC;iCACtE,IAAI,EAAE,EAAA;;;wBAET,sBAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAG,OAAe,CAAC,OAAO,EAAE,CAAC,EAAA;;;;;KAErE;IAED,OAAO;QACL,SAAS,WAAA;KACV,CAAA;AACH,CAAC;AAEQ,0CAAe"}
|
package/routes/routes.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { RouterConfig } from '../config';
|
|
2
|
-
import { CompiledSchemas } from '../schema/types';
|
|
3
|
-
import { Queries } from '../queries/types';
|
|
4
|
-
declare function createResourceRouter(queries: Queries, schemas: CompiledSchemas, routerConfig: RouterConfig): import("express-serve-static-core").Router;
|
|
5
|
-
declare const rootRouter: import("express-serve-static-core").Router;
|
|
6
|
-
declare function handleMethodNotAllowed(_: any, res: any): void;
|
|
7
|
-
declare function handleNotFound(_: any, res: any): void;
|
|
8
|
-
export { createResourceRouter, rootRouter, handleMethodNotAllowed, handleNotFound };
|
package/routes/routes.js
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
-
};
|
|
41
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.handleNotFound = exports.handleMethodNotAllowed = exports.rootRouter = exports.createResourceRouter = void 0;
|
|
43
|
-
var express_1 = __importDefault(require("express"));
|
|
44
|
-
var get_1 = require("./get");
|
|
45
|
-
var post_1 = require("./post");
|
|
46
|
-
var put_1 = require("./put");
|
|
47
|
-
var patch_1 = require("./patch");
|
|
48
|
-
var delete_1 = require("./delete");
|
|
49
|
-
var urlMiddleware_1 = require("../urls/urlMiddleware");
|
|
50
|
-
function createResourceRouter(queries, schemas, routerConfig) {
|
|
51
|
-
var validateResources = routerConfig.validateResources, resources = routerConfig.resources, apiPrefix = routerConfig.apiPrefix, cacheControl = routerConfig.cacheControl, requestBodyInterceptor = routerConfig.requestBodyInterceptor, responseBodyInterceptor = routerConfig.responseBodyInterceptor, returnNullFields = routerConfig.returnNullFields;
|
|
52
|
-
var handleGet = (0, get_1.createGetRoutes)(queries, cacheControl, responseBodyInterceptor, returnNullFields).handleGet;
|
|
53
|
-
var handlePost = (0, post_1.createPostRoutes)(queries, requestBodyInterceptor, returnNullFields, schemas.post).handlePost;
|
|
54
|
-
var handlePut = (0, put_1.createPutRoutes)(queries, requestBodyInterceptor, returnNullFields, schemas.put).handlePut;
|
|
55
|
-
var handlePatch = (0, patch_1.createPatchRoutes)(queries, requestBodyInterceptor, returnNullFields, schemas.patch).handlePatch;
|
|
56
|
-
var handleDelete = (0, delete_1.createDeleteRoutes)(queries).handleDelete;
|
|
57
|
-
var validateResource = (0, urlMiddleware_1.createValidateResourceMiddleware)(validateResources, resources);
|
|
58
|
-
var getResourceAndId = (0, urlMiddleware_1.createResourceAndIdParser)(apiPrefix);
|
|
59
|
-
var resourceRouter = express_1.default.Router();
|
|
60
|
-
resourceRouter
|
|
61
|
-
// The router.get() function automatically handles HEAD requests as well, unless router.head is called first.
|
|
62
|
-
.get('*', getResourceAndId, validateResource, handleGet)
|
|
63
|
-
.post('*', getResourceAndId, validateResource, handlePost)
|
|
64
|
-
.put('*', getResourceAndId, validateResource, handlePut)
|
|
65
|
-
.patch('*', getResourceAndId, validateResource, handlePatch)
|
|
66
|
-
.delete('*', getResourceAndId, validateResource, handleDelete);
|
|
67
|
-
return resourceRouter;
|
|
68
|
-
}
|
|
69
|
-
exports.createResourceRouter = createResourceRouter;
|
|
70
|
-
// A GET to the root URL shows a default message.
|
|
71
|
-
var rootRouter = express_1.default.Router();
|
|
72
|
-
exports.rootRouter = rootRouter;
|
|
73
|
-
rootRouter.get('/', function (_, res) { return __awaiter(void 0, void 0, void 0, function () {
|
|
74
|
-
return __generator(this, function (_a) {
|
|
75
|
-
return [2 /*return*/, res.send('It works! ツ')];
|
|
76
|
-
});
|
|
77
|
-
}); });
|
|
78
|
-
// All other requests to the root URL are not allowed.
|
|
79
|
-
rootRouter.all('/', handleMethodNotAllowed);
|
|
80
|
-
// Route for handling not allowed methods.
|
|
81
|
-
function handleMethodNotAllowed(_, res) {
|
|
82
|
-
res.status(405).json({ message: 'Method Not Allowed' });
|
|
83
|
-
}
|
|
84
|
-
exports.handleMethodNotAllowed = handleMethodNotAllowed;
|
|
85
|
-
// Route for handling not found.
|
|
86
|
-
function handleNotFound(_, res) {
|
|
87
|
-
res.status(404).json({ message: 'Not Found' });
|
|
88
|
-
}
|
|
89
|
-
exports.handleNotFound = handleNotFound;
|
|
90
|
-
//# sourceMappingURL=routes.js.map
|
package/routes/routes.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/routes/routes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA6B;AAC7B,6BAAuC;AACvC,+BAAyC;AACzC,6BAAuC;AACvC,iCAA2C;AAC3C,mCAA6C;AAC7C,uDAAmG;AAKnG,SAAS,oBAAoB,CAC3B,OAAgB,EAChB,OAAwB,EACxB,YAA0B;IAGxB,IAAA,iBAAiB,GAOf,YAAY,kBAPG,EACjB,SAAS,GAMP,YAAY,UANL,EACT,SAAS,GAKP,YAAY,UALL,EACT,YAAY,GAIV,YAAY,aAJF,EACZ,sBAAsB,GAGpB,YAAY,uBAHQ,EACtB,uBAAuB,GAErB,YAAY,wBAFS,EACvB,gBAAgB,GACd,YAAY,iBADE,CACF;IAER,IAAA,SAAS,GAAK,IAAA,qBAAe,EACnC,OAAO,EACP,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,CACjB,UALgB,CAKhB;IAEO,IAAA,UAAU,GAAK,IAAA,uBAAgB,EACrC,OAAO,EACP,sBAAsB,EACtB,gBAAgB,EAChB,OAAO,CAAC,IAAI,CACb,WALiB,CAKjB;IAEO,IAAA,SAAS,GAAK,IAAA,qBAAe,EACnC,OAAO,EACP,sBAAsB,EACtB,gBAAgB,EAChB,OAAO,CAAC,GAAG,CACZ,UALgB,CAKhB;IAEO,IAAA,WAAW,GAAK,IAAA,yBAAiB,EACvC,OAAO,EACP,sBAAsB,EACtB,gBAAgB,EAChB,OAAO,CAAC,KAAK,CACd,YALkB,CAKlB;IAEO,IAAA,YAAY,GAAK,IAAA,2BAAkB,EAAC,OAAO,CAAC,aAAhC,CAAgC;IAEpD,IAAM,gBAAgB,GAAG,IAAA,gDAAgC,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAA;IACvF,IAAM,gBAAgB,GAAG,IAAA,yCAAyB,EAAC,SAAS,CAAC,CAAA;IAE7D,IAAM,cAAc,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;IAEvC,cAAc;QACZ,6GAA6G;SAC5G,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,CAAC;SACvD,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,CAAC;SACzD,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,CAAC;SACvD,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,CAAC;SAC3D,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAEhE,OAAO,cAAc,CAAA;AACvB,CAAC;AAqBQ,oDAAoB;AAnB7B,iDAAiD;AACjD,IAAM,UAAU,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;AAkBJ,gCAAU;AAjBzC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,UAAO,CAAC,EAAE,GAAG;;QAC/B,sBAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,EAAA;;KAC/B,CAAC,CAAA;AAEF,sDAAsD;AACtD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;AAE3C,0CAA0C;AAC1C,SAAS,sBAAsB,CAAC,CAAC,EAAE,GAAG;IACpC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAA;AACzD,CAAC;AAO0C,wDAAsB;AALjE,gCAAgC;AAChC,SAAS,cAAc,CAAC,CAAC,EAAE,GAAG;IAC5B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAA;AAChD,CAAC;AAEkE,wCAAc"}
|
package/routes/types.d.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Request } from 'express';
|
|
2
|
-
import { Item } from '../queries/types';
|
|
3
|
-
export type ExtendedRequest = Request & {
|
|
4
|
-
requestInfo: RequestInfo;
|
|
5
|
-
};
|
|
6
|
-
type RequestInfo = {
|
|
7
|
-
resource: string;
|
|
8
|
-
body: unknown;
|
|
9
|
-
id?: string;
|
|
10
|
-
};
|
|
11
|
-
export type RequestBodyInterceptorCallback = (info: RequestInfo) => void | string | object;
|
|
12
|
-
export type RequestBodyInterceptor = {
|
|
13
|
-
post?: RequestBodyInterceptorCallback;
|
|
14
|
-
patch?: RequestBodyInterceptorCallback;
|
|
15
|
-
put?: RequestBodyInterceptorCallback;
|
|
16
|
-
};
|
|
17
|
-
export type ResponseInfo<T extends Item | Item[]> = {
|
|
18
|
-
resource: string;
|
|
19
|
-
body: T;
|
|
20
|
-
id?: string;
|
|
21
|
-
};
|
|
22
|
-
export type ResponseBodyInterceptor = (info: ResponseInfo<Item | Item[]>) => unknown;
|
|
23
|
-
export {};
|
package/routes/types.js
DELETED
package/routes/utils.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.removeNullFields = void 0;
|
|
4
|
-
var removeNullFields = function (obj) {
|
|
5
|
-
if (typeof obj !== 'object')
|
|
6
|
-
return obj;
|
|
7
|
-
return Object.fromEntries(Object.entries(obj).filter(function (_a) {
|
|
8
|
-
var value = _a[1];
|
|
9
|
-
return value !== null;
|
|
10
|
-
}));
|
|
11
|
-
};
|
|
12
|
-
exports.removeNullFields = removeNullFields;
|
|
13
|
-
//# sourceMappingURL=utils.js.map
|
package/routes/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/routes/utils.ts"],"names":[],"mappings":";;;AAAO,IAAM,gBAAgB,GAAG,UAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAA;IACvC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,EAAS;YAAN,KAAK,QAAA;QAAM,OAAA,KAAK,KAAK,IAAI;IAAd,CAAc,CAAC,CAAC,CAAA;AACtF,CAAC,CAAA;AAHY,QAAA,gBAAgB,oBAG5B"}
|
package/schema/compile.d.ts
DELETED
package/schema/compile.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.compileAndTransformSchemas = void 0;
|
|
18
|
-
var ajv_1 = __importDefault(require("ajv"));
|
|
19
|
-
var transformConfig_1 = require("./transformConfig");
|
|
20
|
-
var compileSchemas = function (schemas) {
|
|
21
|
-
// Use a single Ajv instance in the whole app
|
|
22
|
-
var ajv = new ajv_1.default();
|
|
23
|
-
// Turn the configured schemas into compiled schemas
|
|
24
|
-
var compiledSchemas = __assign({}, schemas);
|
|
25
|
-
Object.keys(schemas).forEach(function (resource) {
|
|
26
|
-
Object.keys(schemas[resource]).forEach(function (method) {
|
|
27
|
-
compiledSchemas[resource][method] = ajv.compile(schemas[resource][method]);
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
return compiledSchemas;
|
|
31
|
-
};
|
|
32
|
-
var compileAndTransformSchemas = function (schemas) {
|
|
33
|
-
var transformedSchemas = {};
|
|
34
|
-
if (schemas) {
|
|
35
|
-
var compiledSchemas = compileSchemas(schemas);
|
|
36
|
-
transformedSchemas = (0, transformConfig_1.transformSchemas)(compiledSchemas);
|
|
37
|
-
}
|
|
38
|
-
return transformedSchemas;
|
|
39
|
-
};
|
|
40
|
-
exports.compileAndTransformSchemas = compileAndTransformSchemas;
|
|
41
|
-
//# sourceMappingURL=compile.js.map
|
package/schema/compile.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/schema/compile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAqB;AAErB,qDAAoD;AAEpD,IAAM,cAAc,GAAG,UAAC,OAA0B;IAChD,6CAA6C;IAC7C,IAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAA;IAErB,oDAAoD;IACpD,IAAM,eAAe,gBAAyB,OAAO,CAAE,CAAA;IACvD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,QAAQ;QACpC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAC,MAAM;YAC5C,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,eAAe,CAAA;AACxB,CAAC,CAAA;AAEM,IAAM,0BAA0B,GAAG,UAAC,OAA0B;IACnE,IAAI,kBAAkB,GAAG,EAAE,CAAA;IAC3B,IAAI,OAAO,EAAE;QACX,IAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;QAC/C,kBAAkB,GAAG,IAAA,kCAAgB,EAAC,eAAe,CAAC,CAAA;KACvD;IAED,OAAO,kBAAkB,CAAA;AAC3B,CAAC,CAAA;AARY,QAAA,0BAA0B,8BAQtC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.transformSchemas = void 0;
|
|
4
|
-
var transformSchemas = function (schemas) {
|
|
5
|
-
var transformedObject = {};
|
|
6
|
-
for (var resource in schemas) {
|
|
7
|
-
for (var key in schemas[resource]) {
|
|
8
|
-
if (!transformedObject[key]) {
|
|
9
|
-
transformedObject[key] = {};
|
|
10
|
-
}
|
|
11
|
-
transformedObject[key][resource] = schemas[resource][key];
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return transformedObject;
|
|
15
|
-
};
|
|
16
|
-
exports.transformSchemas = transformSchemas;
|
|
17
|
-
//# sourceMappingURL=transformConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformConfig.js","sourceRoot":"","sources":["../../src/schema/transformConfig.ts"],"names":[],"mappings":";;;AAEO,IAAM,gBAAgB,GAAG,UAAC,OAA0B;IACzD,IAAM,iBAAiB,GAAG,EAAE,CAAA;IAE5B,KAAK,IAAM,QAAQ,IAAI,OAAO,EAAE;QAC9B,KAAK,IAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE;gBAC3B,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;aAC5B;YACD,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAA;SAC1D;KACF;IAED,OAAO,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAbY,QAAA,gBAAgB,oBAa5B"}
|
package/schema/types.js
DELETED
package/schema/validate.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validate = void 0;
|
|
4
|
-
var validate = function (body, validate) {
|
|
5
|
-
var _a, _b;
|
|
6
|
-
if (!validate)
|
|
7
|
-
return { isValid: true };
|
|
8
|
-
if (validate(body)) {
|
|
9
|
-
return { isValid: true };
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
return {
|
|
13
|
-
isValid: false,
|
|
14
|
-
errorMessage: (_b = (_a = validate.errors) === null || _a === void 0 ? void 0 : _a[0].message) !== null && _b !== void 0 ? _b : 'Unknown schema validation error',
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
exports.validate = validate;
|
|
19
|
-
//# sourceMappingURL=validate.js.map
|
package/schema/validate.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/schema/validate.ts"],"names":[],"mappings":";;;AAGO,IAAM,QAAQ,GAAG,UAAC,IAAa,EAAE,QAAoC;;IAC1E,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;IAEvC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KACzB;SAAM;QACL,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,MAAA,MAAA,QAAQ,CAAC,MAAM,0CAAG,CAAC,EAAE,OAAO,mCAAI,iCAAiC;SAChF,CAAA;KACF;AACH,CAAC,CAAA;AAXY,QAAA,QAAQ,YAWpB"}
|
package/urls/urlMiddleware.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { Response } from 'express';
|
|
2
|
-
import { ExtendedRequest } from '../routes/types';
|
|
3
|
-
declare function createResourceAndIdParser(apiPrefix: string): (req: ExtendedRequest, res: Response, next: () => void) => void;
|
|
4
|
-
declare function createValidateResourceMiddleware(validateResources: boolean, resources: string[]): (req: ExtendedRequest, res: Response, next: () => void) => void | Response<any, Record<string, any>>;
|
|
5
|
-
export { createResourceAndIdParser, createValidateResourceMiddleware };
|
package/urls/urlMiddleware.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.createValidateResourceMiddleware = exports.createResourceAndIdParser = void 0;
|
|
15
|
-
var urlParser_1 = require("./urlParser");
|
|
16
|
-
function createResourceAndIdParser(apiPrefix) {
|
|
17
|
-
return function getResourceAndId(req, res, next) {
|
|
18
|
-
var url = req.baseUrl.replace(apiPrefix, '');
|
|
19
|
-
var urlInfo = (0, urlParser_1.parseUrl)(url);
|
|
20
|
-
req.requestInfo = __assign(__assign({}, req.requestInfo), urlInfo);
|
|
21
|
-
return next();
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
exports.createResourceAndIdParser = createResourceAndIdParser;
|
|
25
|
-
function createValidateResourceMiddleware(validateResources, resources) {
|
|
26
|
-
return function validateResource(req, res, next) {
|
|
27
|
-
if (!validateResources)
|
|
28
|
-
return next();
|
|
29
|
-
var resource = req.requestInfo.resource;
|
|
30
|
-
if (!resource)
|
|
31
|
-
return next();
|
|
32
|
-
if (!resources.includes(resource.toLowerCase())) {
|
|
33
|
-
return res.status(404).json({
|
|
34
|
-
message: "'".concat(resource, "' is an unknown resource"),
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
return next();
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
exports.createValidateResourceMiddleware = createValidateResourceMiddleware;
|
|
41
|
-
//# sourceMappingURL=urlMiddleware.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"urlMiddleware.js","sourceRoot":"","sources":["../../src/urls/urlMiddleware.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,yCAAsC;AAGtC,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,SAAS,gBAAgB,CAAC,GAAoB,EAAE,GAAa,EAAE,IAAgB;QACpF,IAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;QAC9C,IAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAA;QAE7B,GAAG,CAAC,WAAW,yBAAQ,GAAG,CAAC,WAAW,GAAK,OAAO,CAAE,CAAA;QAEpD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAoBQ,8DAAyB;AAlBlC,SAAS,gCAAgC,CAAC,iBAA0B,EAAE,SAAmB;IACvF,OAAO,SAAS,gBAAgB,CAAC,GAAoB,EAAE,GAAa,EAAE,IAAgB;QACpF,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,EAAE,CAAA;QAE7B,IAAA,QAAQ,GAAK,GAAG,CAAC,WAAW,SAApB,CAAoB;QAEpC,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,EAAE,CAAA;QAE5B,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE;YAC/C,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,WAAI,QAAQ,6BAA0B;aAChD,CAAC,CAAA;SACH;QAED,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AAEmC,4EAAgC"}
|
package/urls/urlParser.d.ts
DELETED
package/urls/urlParser.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseUrl = void 0;
|
|
4
|
-
function parseUrl(url) {
|
|
5
|
-
if (!url || (url && !url.trim()))
|
|
6
|
-
return { resource: null, id: null };
|
|
7
|
-
var urlSegments = url.split('/').filter(function (i) { return i; });
|
|
8
|
-
var resource = urlSegments.length > 0 ? urlSegments[0] : null;
|
|
9
|
-
var id = urlSegments.length > 1 ? urlSegments[1] : null;
|
|
10
|
-
return { resource: resource, id: id };
|
|
11
|
-
}
|
|
12
|
-
exports.parseUrl = parseUrl;
|
|
13
|
-
//# sourceMappingURL=urlParser.js.map
|
package/urls/urlParser.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"urlParser.js","sourceRoot":"","sources":["../../src/urls/urlParser.ts"],"names":[],"mappings":";;;AAAA,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAErE,IAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,EAAD,CAAC,CAAC,CAAA;IAEnD,IAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/D,IAAM,EAAE,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEzD,OAAO,EAAE,QAAQ,UAAA,EAAE,EAAE,IAAA,EAAE,CAAA;AACzB,CAAC;AAEQ,4BAAQ"}
|