temba 0.7.10 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +321 -0
- package/dist/config/index.js +66 -61
- package/dist/config/index.js.map +1 -0
- package/dist/delay/middleware.js +14 -14
- package/dist/delay/middleware.js.map +1 -0
- package/dist/errors/index.js +11 -11
- package/dist/errors/index.js.map +1 -0
- package/dist/errors/middleware.js +9 -12
- package/dist/errors/middleware.js.map +1 -0
- package/dist/errors/types.js +13 -0
- package/dist/errors/types.js.map +1 -0
- package/dist/logging/index.js +37 -36
- package/dist/logging/index.js.map +1 -0
- package/dist/queries/in-memory.js +48 -79
- package/dist/queries/in-memory.js.map +1 -0
- package/dist/queries/index.js +15 -19
- package/dist/queries/index.js.map +1 -0
- package/dist/queries/mongo.js +73 -277
- package/dist/queries/mongo.js.map +1 -0
- package/dist/routes/delete.js +37 -80
- package/dist/routes/delete.js.map +1 -0
- package/dist/routes/get.js +42 -83
- package/dist/routes/get.js.map +1 -0
- package/dist/routes/index.js +51 -89
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/post.js +42 -59
- package/dist/routes/post.js.map +1 -0
- package/dist/routes/put.js +38 -85
- package/dist/routes/put.js.map +1 -0
- package/dist/routes/validator.js +18 -0
- package/dist/routes/validator.js.map +1 -0
- package/dist/server.js +72 -75
- package/dist/server.js.map +1 -0
- package/dist/urls/middleware.js +26 -38
- package/dist/urls/middleware.js.map +1 -0
- package/dist/urls/urlParser.js +11 -20
- package/dist/urls/urlParser.js.map +1 -0
- package/package.json +21 -11
- package/readme.md +0 -214
package/dist/routes/delete.js
CHANGED
|
@@ -1,82 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createDeleteRoutes = void 0;
|
|
14
13
|
function createDeleteRoutes(queries) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
if (!item) {
|
|
42
|
-
_context.next = 9;
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
_context.next = 9;
|
|
47
|
-
return queries.deleteById(resourceName, id);
|
|
48
|
-
|
|
49
|
-
case 9:
|
|
50
|
-
_context.next = 13;
|
|
51
|
-
break;
|
|
52
|
-
|
|
53
|
-
case 11:
|
|
54
|
-
_context.next = 13;
|
|
55
|
-
return queries.deleteAll(resourceName);
|
|
56
|
-
|
|
57
|
-
case 13:
|
|
58
|
-
_context.next = 18;
|
|
59
|
-
break;
|
|
60
|
-
|
|
61
|
-
case 15:
|
|
62
|
-
_context.prev = 15;
|
|
63
|
-
_context.t0 = _context["catch"](0);
|
|
64
|
-
return _context.abrupt("return", next(_context.t0));
|
|
65
|
-
|
|
66
|
-
case 18:
|
|
67
|
-
return _context.abrupt("return", res.status(204).send());
|
|
68
|
-
|
|
69
|
-
case 19:
|
|
70
|
-
case "end":
|
|
71
|
-
return _context.stop();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}, _callee, null, [[0, 15]]);
|
|
75
|
-
}));
|
|
76
|
-
return _handleDelete.apply(this, arguments);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
return {
|
|
80
|
-
handleDelete: handleDelete
|
|
81
|
-
};
|
|
82
|
-
}
|
|
14
|
+
function handleDelete(req, res, next) {
|
|
15
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
try {
|
|
17
|
+
const { resourceName, id } = req.requestInfo;
|
|
18
|
+
if (id) {
|
|
19
|
+
const item = yield queries.getById(resourceName, id);
|
|
20
|
+
if (item) {
|
|
21
|
+
yield queries.deleteById(resourceName, id);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
yield queries.deleteAll(resourceName);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
return next(error);
|
|
30
|
+
}
|
|
31
|
+
return res.status(204).send();
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
handleDelete,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
exports.createDeleteRoutes = createDeleteRoutes;
|
|
39
|
+
//# sourceMappingURL=delete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/routes/delete.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAS,kBAAkB,CAAC,OAAO;IACjC,SAAe,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;;YACxC,IAAI;gBACF,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;gBAE5C,IAAI,EAAE,EAAE;oBACN,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;oBACpD,IAAI,IAAI,EAAE;wBACR,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;qBAC3C;iBACF;qBAAM;oBACL,MAAM,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;iBACtC;aACF;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;aACnB;YAED,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/B,CAAC;KAAA;IAED,OAAO;QACL,YAAY;KACb,CAAA;AACH,CAAC;AAEQ,gDAAkB"}
|
package/dist/routes/get.js
CHANGED
|
@@ -1,85 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createGetRoutes = void 0;
|
|
14
13
|
function createGetRoutes(queries, cacheControl) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
res.status(404);
|
|
47
|
-
res.set('Cache-control', cacheControl);
|
|
48
|
-
return _context.abrupt("return", res.send());
|
|
49
|
-
|
|
50
|
-
case 10:
|
|
51
|
-
res.status(200);
|
|
52
|
-
res.set('Cache-control', cacheControl);
|
|
53
|
-
res.json(item);
|
|
54
|
-
return _context.abrupt("return", res.send());
|
|
55
|
-
|
|
56
|
-
case 14:
|
|
57
|
-
_context.next = 16;
|
|
58
|
-
return queries.getAll(resourceName);
|
|
59
|
-
|
|
60
|
-
case 16:
|
|
61
|
-
items = _context.sent;
|
|
62
|
-
res.status(200);
|
|
63
|
-
res.set('Cache-control', cacheControl);
|
|
64
|
-
res.json(items);
|
|
65
|
-
return _context.abrupt("return", res.send());
|
|
66
|
-
|
|
67
|
-
case 23:
|
|
68
|
-
_context.prev = 23;
|
|
69
|
-
_context.t0 = _context["catch"](0);
|
|
70
|
-
return _context.abrupt("return", next(_context.t0));
|
|
71
|
-
|
|
72
|
-
case 26:
|
|
73
|
-
case "end":
|
|
74
|
-
return _context.stop();
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}, _callee, null, [[0, 23]]);
|
|
78
|
-
}));
|
|
79
|
-
return _handleGetResource.apply(this, arguments);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
return {
|
|
83
|
-
handleGetResource: handleGetResource
|
|
84
|
-
};
|
|
85
|
-
}
|
|
14
|
+
function handleGetResource(req, res, next) {
|
|
15
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
16
|
+
try {
|
|
17
|
+
const { resourceName, id } = req.requestInfo;
|
|
18
|
+
res.set('Cache-control', cacheControl);
|
|
19
|
+
if (id) {
|
|
20
|
+
const item = yield queries.getById(resourceName, id);
|
|
21
|
+
if (!item) {
|
|
22
|
+
res.status(404);
|
|
23
|
+
return res.send();
|
|
24
|
+
}
|
|
25
|
+
res.status(200);
|
|
26
|
+
res.json(item);
|
|
27
|
+
return res.send();
|
|
28
|
+
}
|
|
29
|
+
const items = yield queries.getAll(resourceName);
|
|
30
|
+
res.status(200);
|
|
31
|
+
res.json(items);
|
|
32
|
+
return res.send();
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return next(error);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
handleGetResource,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
exports.createGetRoutes = createGetRoutes;
|
|
44
|
+
//# sourceMappingURL=get.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/routes/get.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,SAAS,eAAe,CAAC,OAAO,EAAE,YAAY;IAC5C,SAAe,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;;YAC7C,IAAI;gBACF,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;gBAE5C,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,YAAY,CAAC,CAAA;gBAEtC,IAAI,EAAE,EAAE;oBACN,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;oBAEpD,IAAI,CAAC,IAAI,EAAE;wBACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;wBACf,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;qBAClB;oBAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;oBACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;oBACd,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;iBAClB;gBAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;gBAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;gBACf,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;aAClB;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;aACnB;QACH,CAAC;KAAA;IAED,OAAO;QACL,iBAAiB;KAClB,CAAA;AACH,CAAC;AAEQ,0CAAe"}
|
package/dist/routes/index.js
CHANGED
|
@@ -1,94 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.handleNotFound = exports.handleMethodNotAllowed = exports.rootRouter = exports.createResourceRouter = void 0;
|
|
16
|
+
const get_1 = require("./get");
|
|
17
|
+
const post_1 = require("./post");
|
|
18
|
+
const put_1 = require("./put");
|
|
19
|
+
const delete_1 = require("./delete");
|
|
20
|
+
const middleware_1 = require("../urls/middleware");
|
|
21
|
+
const express_1 = __importDefault(require("express"));
|
|
22
|
+
function createResourceRouter(queries, { validateResources, resourceNames, apiPrefix, cacheControl, requestBodyValidator, }) {
|
|
23
|
+
const { handleGetResource } = (0, get_1.createGetRoutes)(queries, cacheControl);
|
|
24
|
+
const { handlePost } = (0, post_1.createPostRoutes)(queries, requestBodyValidator);
|
|
25
|
+
const { handlePut } = (0, put_1.createPutRoutes)(queries, requestBodyValidator);
|
|
26
|
+
const { handleDelete } = (0, delete_1.createDeleteRoutes)(queries);
|
|
27
|
+
const validateResource = (0, middleware_1.createValidateResourceMiddleware)(validateResources, resourceNames);
|
|
28
|
+
const getResourceAndId = (0, middleware_1.createResourceAndIdParser)(apiPrefix);
|
|
29
|
+
var resourceRouter = express_1.default.Router();
|
|
30
|
+
resourceRouter
|
|
31
|
+
.get('*', getResourceAndId, validateResource, handleGetResource)
|
|
32
|
+
.post('*', getResourceAndId, validateResource, handlePost)
|
|
33
|
+
.put('*', getResourceAndId, validateResource, handlePut)
|
|
34
|
+
.delete('*', getResourceAndId, validateResource, handleDelete);
|
|
35
|
+
return resourceRouter;
|
|
36
|
+
}
|
|
8
37
|
exports.createResourceRouter = createResourceRouter;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
exports.rootRouter = void 0;
|
|
12
|
-
|
|
13
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
-
|
|
15
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
-
|
|
17
|
-
var _get = require("./get");
|
|
18
|
-
|
|
19
|
-
var _post = require("./post");
|
|
20
|
-
|
|
21
|
-
var _put = require("./put");
|
|
22
|
-
|
|
23
|
-
var _delete = require("./delete");
|
|
24
|
-
|
|
25
|
-
var _middleware = require("../urls/middleware");
|
|
26
|
-
|
|
27
|
-
var _express = _interopRequireDefault(require("express"));
|
|
28
|
-
|
|
29
|
-
function createResourceRouter(queries, _ref) {
|
|
30
|
-
var validateResources = _ref.validateResources,
|
|
31
|
-
resourceNames = _ref.resourceNames,
|
|
32
|
-
apiPrefix = _ref.apiPrefix,
|
|
33
|
-
cacheControl = _ref.cacheControl;
|
|
34
|
-
|
|
35
|
-
var _createGetRoutes = (0, _get.createGetRoutes)(queries, cacheControl),
|
|
36
|
-
handleGetResource = _createGetRoutes.handleGetResource;
|
|
37
|
-
|
|
38
|
-
var _createPostRoutes = (0, _post.createPostRoutes)(queries),
|
|
39
|
-
handlePost = _createPostRoutes.handlePost;
|
|
40
|
-
|
|
41
|
-
var _createPutRoutes = (0, _put.createPutRoutes)(queries),
|
|
42
|
-
handlePut = _createPutRoutes.handlePut;
|
|
43
|
-
|
|
44
|
-
var _createDeleteRoutes = (0, _delete.createDeleteRoutes)(queries),
|
|
45
|
-
handleDelete = _createDeleteRoutes.handleDelete;
|
|
46
|
-
|
|
47
|
-
var validateResource = (0, _middleware.createValidateResourceMiddleware)(validateResources, resourceNames);
|
|
48
|
-
var getResourceAndId = (0, _middleware.createResourceAndIdParser)(apiPrefix);
|
|
49
|
-
|
|
50
|
-
var resourceRouter = _express["default"].Router();
|
|
51
|
-
|
|
52
|
-
resourceRouter.get('*', getResourceAndId, validateResource, handleGetResource).post('*', getResourceAndId, validateResource, handlePost).put('*', getResourceAndId, validateResource, handlePut)["delete"]('*', getResourceAndId, validateResource, handleDelete);
|
|
53
|
-
return resourceRouter;
|
|
54
|
-
} // A GET to the root URL shows a default message.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var rootRouter = _express["default"].Router();
|
|
58
|
-
|
|
38
|
+
// A GET to the root URL shows a default message.
|
|
39
|
+
const rootRouter = express_1.default.Router();
|
|
59
40
|
exports.rootRouter = rootRouter;
|
|
60
|
-
rootRouter.get('/',
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return _context.abrupt("return", res.send('It works! ツ'));
|
|
67
|
-
|
|
68
|
-
case 1:
|
|
69
|
-
case "end":
|
|
70
|
-
return _context.stop();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}, _callee);
|
|
74
|
-
}));
|
|
75
|
-
|
|
76
|
-
return function (_x, _x2) {
|
|
77
|
-
return _ref2.apply(this, arguments);
|
|
78
|
-
};
|
|
79
|
-
}()); // All other requests to the root URL are not allowed.
|
|
80
|
-
|
|
81
|
-
rootRouter.all('/', handleMethodNotAllowed); // Route for handling not allowed methods.
|
|
82
|
-
|
|
41
|
+
rootRouter.get('/', (_, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
return res.send('It works! ツ');
|
|
43
|
+
}));
|
|
44
|
+
// All other requests to the root URL are not allowed.
|
|
45
|
+
rootRouter.all('/', handleMethodNotAllowed);
|
|
46
|
+
// Route for handling not allowed methods.
|
|
83
47
|
function handleMethodNotAllowed(_, res) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
48
|
+
res.status(405).json({ message: 'Method Not Allowed' });
|
|
49
|
+
}
|
|
50
|
+
exports.handleMethodNotAllowed = handleMethodNotAllowed;
|
|
51
|
+
// Route for handling not found.
|
|
90
52
|
function handleNotFound(_, res) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
53
|
+
res.status(404).json({ message: 'Not Found' });
|
|
54
|
+
}
|
|
55
|
+
exports.handleNotFound = handleNotFound;
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+BAAuC;AACvC,iCAAyC;AACzC,+BAAuC;AACvC,qCAA6C;AAC7C,mDAG2B;AAE3B,sDAA6B;AAE7B,SAAS,oBAAoB,CAC3B,OAAO,EACP,EACE,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,oBAAoB,GACrB;IAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAA,qBAAe,EAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IACpE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,uBAAgB,EAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACtE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAA,qBAAe,EAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;IACpE,MAAM,EAAE,YAAY,EAAE,GAAG,IAAA,2BAAkB,EAAC,OAAO,CAAC,CAAA;IAEpD,MAAM,gBAAgB,GAAG,IAAA,6CAAgC,EACvD,iBAAiB,EACjB,aAAa,CACd,CAAA;IACD,MAAM,gBAAgB,GAAG,IAAA,sCAAyB,EAAC,SAAS,CAAC,CAAA;IAE7D,IAAI,cAAc,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;IAErC,cAAc;SACX,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,CAAC;SAC/D,IAAI,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,CAAC;SACzD,GAAG,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,CAAC;SACvD,MAAM,CAAC,GAAG,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAA;IAEhE,OAAO,cAAc,CAAA;AACvB,CAAC;AAsBC,oDAAoB;AApBtB,iDAAiD;AACjD,MAAM,UAAU,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAA;AAoBjC,gCAAU;AAnBZ,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAO,CAAC,EAAE,GAAG,EAAE,EAAE;IACnC,OAAO,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;AAChC,CAAC,CAAA,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;AAUC,wDAAsB;AARxB,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;AAMC,wCAAc"}
|
package/dist/routes/post.js
CHANGED
|
@@ -1,61 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
function
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
resourceName = req.requestInfo.resourceName;
|
|
30
|
-
_context.next = 4;
|
|
31
|
-
return queries.create(resourceName, req.body);
|
|
32
|
-
|
|
33
|
-
case 4:
|
|
34
|
-
newItem = _context.sent;
|
|
35
|
-
return _context.abrupt("return", res.set({
|
|
36
|
-
Location: (0, _url.format)({
|
|
37
|
-
protocol: req.protocol,
|
|
38
|
-
host: req.get('host'),
|
|
39
|
-
pathname: "".concat(resourceName, "/").concat(newItem.id)
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createPostRoutes = void 0;
|
|
13
|
+
const url_1 = require("url");
|
|
14
|
+
const validator_1 = require("./validator");
|
|
15
|
+
function createPostRoutes(queries, requestBodyValidator) {
|
|
16
|
+
function handlePost(req, res, next) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
try {
|
|
19
|
+
const { resourceName } = req.requestInfo;
|
|
20
|
+
const requestBody = (0, validator_1.validateRequestBody)(requestBodyValidator.post, resourceName, req.body);
|
|
21
|
+
const newItem = yield queries.create(resourceName, requestBody);
|
|
22
|
+
return res
|
|
23
|
+
.set({
|
|
24
|
+
Location: (0, url_1.format)({
|
|
25
|
+
protocol: req.protocol,
|
|
26
|
+
host: req.get('host'),
|
|
27
|
+
pathname: `${resourceName}/${newItem.id}`,
|
|
28
|
+
}),
|
|
40
29
|
})
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return {
|
|
59
|
-
handlePost: handlePost
|
|
60
|
-
};
|
|
61
|
-
}
|
|
30
|
+
.status(201)
|
|
31
|
+
.json(newItem)
|
|
32
|
+
.send();
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return next(error);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
handlePost,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
exports.createPostRoutes = createPostRoutes;
|
|
44
|
+
//# sourceMappingURL=post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.js","sourceRoot":"","sources":["../../src/routes/post.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAA4B;AAC5B,2CAAiD;AAEjD,SAAS,gBAAgB,CAAC,OAAO,EAAE,oBAAoB;IACrD,SAAe,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;;YACtC,IAAI;gBACF,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;gBAExC,MAAM,WAAW,GAAG,IAAA,+BAAmB,EACrC,oBAAoB,CAAC,IAAI,EACzB,YAAY,EACZ,GAAG,CAAC,IAAI,CACT,CAAA;gBAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;gBAE/D,OAAO,GAAG;qBACP,GAAG,CAAC;oBACH,QAAQ,EAAE,IAAA,YAAM,EAAC;wBACf,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC;wBACrB,QAAQ,EAAE,GAAG,YAAY,IAAI,OAAO,CAAC,EAAE,EAAE;qBAC1C,CAAC;iBACH,CAAC;qBACD,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CAAC,OAAO,CAAC;qBACb,IAAI,EAAE,CAAA;aACV;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;aACnB;QACH,CAAC;KAAA;IAED,OAAO;QACL,UAAU;KACX,CAAA;AACH,CAAC;AAEQ,4CAAgB"}
|
package/dist/routes/put.js
CHANGED
|
@@ -1,87 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.createPutRoutes = void 0;
|
|
13
|
+
const errors_1 = require("../errors");
|
|
14
|
+
const validator_1 = require("./validator");
|
|
15
|
+
function createPutRoutes(queries, requestBodyValidator) {
|
|
16
|
+
function handlePut(req, res, next) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
try {
|
|
19
|
+
const { resourceName, id } = req.requestInfo;
|
|
20
|
+
const requestBody = (0, validator_1.validateRequestBody)(requestBodyValidator.put, resourceName, req.body);
|
|
21
|
+
let item = null;
|
|
22
|
+
if (id)
|
|
23
|
+
item = yield queries.getById(resourceName, id);
|
|
24
|
+
if (!item)
|
|
25
|
+
return next((0, errors_1.new404NotFoundError)(`ID '${id}' not found`));
|
|
26
|
+
item = Object.assign(Object.assign({}, requestBody), { id });
|
|
27
|
+
const updatedItem = yield queries.update(resourceName, item);
|
|
28
|
+
return res.status(200).json(updatedItem).send();
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return next(error);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
handlePut,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
8
39
|
exports.createPutRoutes = createPutRoutes;
|
|
9
|
-
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
-
|
|
16
|
-
var _errors = require("../errors");
|
|
17
|
-
|
|
18
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
19
|
-
|
|
20
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
21
|
-
|
|
22
|
-
function createPutRoutes(queries) {
|
|
23
|
-
function handlePut(_x, _x2, _x3) {
|
|
24
|
-
return _handlePut.apply(this, arguments);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function _handlePut() {
|
|
28
|
-
_handlePut = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(req, res, next) {
|
|
29
|
-
var _req$requestInfo, resourceName, id, item, updatedItem;
|
|
30
|
-
|
|
31
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
32
|
-
while (1) {
|
|
33
|
-
switch (_context.prev = _context.next) {
|
|
34
|
-
case 0:
|
|
35
|
-
_context.prev = 0;
|
|
36
|
-
_req$requestInfo = req.requestInfo, resourceName = _req$requestInfo.resourceName, id = _req$requestInfo.id;
|
|
37
|
-
item = null;
|
|
38
|
-
|
|
39
|
-
if (!id) {
|
|
40
|
-
_context.next = 7;
|
|
41
|
-
break;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
_context.next = 6;
|
|
45
|
-
return queries.getById(resourceName, id);
|
|
46
|
-
|
|
47
|
-
case 6:
|
|
48
|
-
item = _context.sent;
|
|
49
|
-
|
|
50
|
-
case 7:
|
|
51
|
-
if (item) {
|
|
52
|
-
_context.next = 9;
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return _context.abrupt("return", next((0, _errors.new404NotFoundError)("ID '".concat(id, "' not found"))));
|
|
57
|
-
|
|
58
|
-
case 9:
|
|
59
|
-
item = _objectSpread(_objectSpread({}, req.body), {}, {
|
|
60
|
-
id: id
|
|
61
|
-
});
|
|
62
|
-
_context.next = 12;
|
|
63
|
-
return queries.update(resourceName, item);
|
|
64
|
-
|
|
65
|
-
case 12:
|
|
66
|
-
updatedItem = _context.sent;
|
|
67
|
-
return _context.abrupt("return", res.status(200).json(updatedItem).send());
|
|
68
|
-
|
|
69
|
-
case 16:
|
|
70
|
-
_context.prev = 16;
|
|
71
|
-
_context.t0 = _context["catch"](0);
|
|
72
|
-
return _context.abrupt("return", next(_context.t0));
|
|
73
|
-
|
|
74
|
-
case 19:
|
|
75
|
-
case "end":
|
|
76
|
-
return _context.stop();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}, _callee, null, [[0, 16]]);
|
|
80
|
-
}));
|
|
81
|
-
return _handlePut.apply(this, arguments);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return {
|
|
85
|
-
handlePut: handlePut
|
|
86
|
-
};
|
|
87
|
-
}
|
|
40
|
+
//# sourceMappingURL=put.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"put.js","sourceRoot":"","sources":["../../src/routes/put.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA+C;AAC/C,2CAAiD;AAEjD,SAAS,eAAe,CAAC,OAAO,EAAE,oBAAoB;IACpD,SAAe,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI;;YACrC,IAAI;gBACF,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,CAAA;gBAE5C,MAAM,WAAW,GAAG,IAAA,+BAAmB,EACrC,oBAAoB,CAAC,GAAG,EACxB,YAAY,EACZ,GAAG,CAAC,IAAI,CACT,CAAA;gBAED,IAAI,IAAI,GAAG,IAAI,CAAA;gBACf,IAAI,EAAE;oBAAE,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;gBAEtD,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC,IAAA,4BAAmB,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAA;gBAEnE,IAAI,mCAAQ,WAAW,KAAE,EAAE,GAAE,CAAA;gBAE7B,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;gBAE5D,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,CAAA;aAChD;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;aACnB;QACH,CAAC;KAAA;IAED,OAAO;QACL,SAAS;KACV,CAAA;AACH,CAAC;AAEQ,0CAAe"}
|