temba 0.16.0 → 0.18.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 +77 -45
- package/config/index.d.ts +13 -8
- package/config/index.js +41 -18
- package/config/index.js.map +1 -1
- package/delay/delayMiddleware.js +1 -1
- package/delay/delayMiddleware.js.map +1 -1
- package/index.js +26 -22
- package/index.js.map +1 -1
- package/package.json +16 -14
- package/queries/in-memory.d.ts +9 -8
- package/queries/in-memory.js +64 -42
- package/queries/in-memory.js.map +1 -1
- package/queries/mongo.d.ts +8 -8
- package/queries/mongo.js +177 -65
- package/queries/mongo.js.map +1 -1
- package/queries/queries.d.ts +7 -16
- package/queries/queries.js +3 -3
- package/queries/queries.js.map +1 -1
- package/queries/types.d.ts +14 -0
- package/queries/types.js +3 -0
- package/queries/types.js.map +1 -0
- package/routes/delete.d.ts +5 -2
- package/routes/delete.js +55 -17
- package/routes/delete.js.map +1 -1
- package/routes/get.d.ts +5 -2
- package/routes/get.js +92 -48
- package/routes/get.js.map +1 -1
- package/routes/interceptRequestBody.d.ts +3 -0
- package/routes/interceptRequestBody.js +19 -0
- package/routes/interceptRequestBody.js.map +1 -0
- package/routes/patch.d.ts +6 -2
- package/routes/patch.js +82 -27
- package/routes/patch.js.map +1 -1
- package/routes/post.d.ts +6 -2
- package/routes/post.js +67 -27
- package/routes/post.js.map +1 -1
- package/routes/put.d.ts +6 -2
- package/routes/put.js +82 -27
- package/routes/put.js.map +1 -1
- package/routes/routes.d.ts +3 -1
- package/routes/routes.js +51 -22
- package/routes/routes.js.map +1 -1
- package/routes/types.d.ts +12 -6
- package/routes/utils.d.ts +1 -3
- package/routes/utils.js +7 -2
- package/routes/utils.js.map +1 -1
- package/schema/compile.d.ts +2 -0
- package/schema/compile.js +41 -0
- package/schema/compile.js.map +1 -0
- package/schema/transformConfig.d.ts +2 -0
- package/schema/transformConfig.js +17 -0
- package/schema/transformConfig.js.map +1 -0
- package/schema/types.d.ts +35 -0
- package/schema/types.js +3 -0
- package/schema/types.js.map +1 -0
- package/schema/validate.d.ts +3 -0
- package/schema/validate.js +19 -0
- package/schema/validate.js.map +1 -0
- package/urls/urlMiddleware.d.ts +4 -2
- package/urls/urlMiddleware.js +21 -10
- package/urls/urlMiddleware.js.map +1 -1
- package/urls/urlParser.d.ts +3 -3
- package/urls/urlParser.js +5 -5
- package/urls/urlParser.js.map +1 -1
- package/routes/interceptors.d.ts +0 -3
- package/routes/interceptors.js +0 -22
- package/routes/interceptors.js.map +0 -1
package/queries/in-memory.js
CHANGED
|
@@ -1,66 +1,88 @@
|
|
|
1
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
2
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
23
|
+
var data = {};
|
|
4
24
|
function connectToDatabase() {
|
|
5
|
-
|
|
25
|
+
return new Promise(function (resolve) {
|
|
26
|
+
resolve();
|
|
27
|
+
});
|
|
6
28
|
}
|
|
7
|
-
function getAll(
|
|
8
|
-
createResourceArrayIfNecessary(
|
|
9
|
-
return new Promise((resolve)
|
|
10
|
-
resolve(data[
|
|
29
|
+
function getAll(resource) {
|
|
30
|
+
createResourceArrayIfNecessary(resource);
|
|
31
|
+
return new Promise(function (resolve) {
|
|
32
|
+
resolve(data[resource]);
|
|
11
33
|
});
|
|
12
34
|
}
|
|
13
|
-
function getById(
|
|
14
|
-
createResourceArrayIfNecessary(
|
|
15
|
-
return new Promise((resolve)
|
|
16
|
-
resolve(data[
|
|
35
|
+
function getById(resource, id) {
|
|
36
|
+
createResourceArrayIfNecessary(resource);
|
|
37
|
+
return new Promise(function (resolve) {
|
|
38
|
+
resolve(data[resource].find(function (item) { return item.id === id; }));
|
|
17
39
|
});
|
|
18
40
|
}
|
|
19
|
-
function create(
|
|
20
|
-
createResourceArrayIfNecessary(
|
|
21
|
-
|
|
22
|
-
data[
|
|
23
|
-
return new Promise((resolve)
|
|
41
|
+
function create(resource, item) {
|
|
42
|
+
createResourceArrayIfNecessary(resource);
|
|
43
|
+
var newItem = __assign(__assign({}, item), { id: String(new Date().getTime()) });
|
|
44
|
+
data[resource] = __spreadArray(__spreadArray([], data[resource], true), [newItem], false);
|
|
45
|
+
return new Promise(function (resolve) {
|
|
24
46
|
resolve(newItem);
|
|
25
47
|
});
|
|
26
48
|
}
|
|
27
|
-
function update(
|
|
28
|
-
createResourceArrayIfNecessary(
|
|
29
|
-
|
|
30
|
-
data[
|
|
31
|
-
return new Promise((resolve)
|
|
49
|
+
function update(resource, item) {
|
|
50
|
+
createResourceArrayIfNecessary(resource);
|
|
51
|
+
var updatedItem = __assign({}, item);
|
|
52
|
+
data[resource] = __spreadArray(__spreadArray([], data[resource].filter(function (r) { return r.id !== item.id; }), true), [updatedItem], false);
|
|
53
|
+
return new Promise(function (resolve) {
|
|
32
54
|
resolve(updatedItem);
|
|
33
55
|
});
|
|
34
56
|
}
|
|
35
|
-
function replace(
|
|
36
|
-
return update(
|
|
57
|
+
function replace(resource, item) {
|
|
58
|
+
return update(resource, item);
|
|
37
59
|
}
|
|
38
|
-
function deleteById(
|
|
39
|
-
createResourceArrayIfNecessary(
|
|
40
|
-
data[
|
|
41
|
-
return new Promise((resolve)
|
|
60
|
+
function deleteById(resource, id) {
|
|
61
|
+
createResourceArrayIfNecessary(resource);
|
|
62
|
+
data[resource] = data[resource].filter(function (item) { return item.id !== id; });
|
|
63
|
+
return new Promise(function (resolve) {
|
|
42
64
|
resolve();
|
|
43
65
|
});
|
|
44
66
|
}
|
|
45
|
-
function deleteAll(
|
|
46
|
-
createResourceArrayIfNecessary(
|
|
47
|
-
data[
|
|
48
|
-
return new Promise((resolve)
|
|
49
|
-
resolve(
|
|
67
|
+
function deleteAll(resource) {
|
|
68
|
+
createResourceArrayIfNecessary(resource);
|
|
69
|
+
data[resource] = [];
|
|
70
|
+
return new Promise(function (resolve) {
|
|
71
|
+
resolve();
|
|
50
72
|
});
|
|
51
73
|
}
|
|
52
|
-
function createResourceArrayIfNecessary(
|
|
53
|
-
if (!
|
|
54
|
-
data[
|
|
74
|
+
function createResourceArrayIfNecessary(resource) {
|
|
75
|
+
if (!Object.hasOwn(data, resource))
|
|
76
|
+
data[resource] = [];
|
|
55
77
|
}
|
|
56
78
|
exports.default = {
|
|
57
|
-
connectToDatabase,
|
|
58
|
-
getAll,
|
|
59
|
-
getById,
|
|
60
|
-
create,
|
|
61
|
-
update,
|
|
62
|
-
replace,
|
|
63
|
-
deleteById,
|
|
64
|
-
deleteAll,
|
|
79
|
+
connectToDatabase: connectToDatabase,
|
|
80
|
+
getAll: getAll,
|
|
81
|
+
getById: getById,
|
|
82
|
+
create: create,
|
|
83
|
+
update: update,
|
|
84
|
+
replace: replace,
|
|
85
|
+
deleteById: deleteById,
|
|
86
|
+
deleteAll: deleteAll,
|
|
65
87
|
};
|
|
66
88
|
//# sourceMappingURL=in-memory.js.map
|
package/queries/in-memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory.js","sourceRoot":"","sources":["../../src/queries/in-memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"in-memory.js","sourceRoot":"","sources":["../../src/queries/in-memory.ts"],"names":[],"mappings":"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"}
|
package/queries/mongo.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default function createMongoQueries(connectionString:
|
|
1
|
+
export default function createMongoQueries(connectionString: string): {
|
|
2
2
|
connectToDatabase: typeof connectToDatabase;
|
|
3
3
|
getAll: typeof getAll;
|
|
4
4
|
getById: typeof getById;
|
|
@@ -9,11 +9,11 @@ export default function createMongoQueries(connectionString: any): {
|
|
|
9
9
|
deleteAll: typeof deleteAll;
|
|
10
10
|
};
|
|
11
11
|
declare function connectToDatabase(): Promise<void>;
|
|
12
|
-
declare function getAll(
|
|
13
|
-
declare function getById(
|
|
14
|
-
declare function create(
|
|
15
|
-
declare function update(
|
|
16
|
-
declare function replace(
|
|
17
|
-
declare function deleteById(
|
|
18
|
-
declare function deleteAll(
|
|
12
|
+
declare function getAll(resource: any): Promise<any>;
|
|
13
|
+
declare function getById(resource: any, id: any): Promise<any>;
|
|
14
|
+
declare function create(resource: any, item: any): Promise<any>;
|
|
15
|
+
declare function update(resource: any, item: any): Promise<any>;
|
|
16
|
+
declare function replace(resource: any, item: any): Promise<any>;
|
|
17
|
+
declare function deleteById(resource: any, id: any): Promise<void>;
|
|
18
|
+
declare function deleteAll(resource: any): Promise<void>;
|
|
19
19
|
export {};
|
package/queries/mongo.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
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
|
+
};
|
|
2
13
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
14
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
15
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,98 +19,199 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
19
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
20
|
});
|
|
10
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
|
+
};
|
|
11
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
50
|
+
var mongo_1 = require("@rakered/mongo");
|
|
51
|
+
var uri;
|
|
52
|
+
var db;
|
|
15
53
|
function createMongoQueries(connectionString) {
|
|
16
54
|
uri = connectionString;
|
|
17
55
|
return {
|
|
18
|
-
connectToDatabase,
|
|
19
|
-
getAll,
|
|
20
|
-
getById,
|
|
21
|
-
create,
|
|
22
|
-
update,
|
|
23
|
-
replace,
|
|
24
|
-
deleteById,
|
|
25
|
-
deleteAll,
|
|
56
|
+
connectToDatabase: connectToDatabase,
|
|
57
|
+
getAll: getAll,
|
|
58
|
+
getById: getById,
|
|
59
|
+
create: create,
|
|
60
|
+
update: update,
|
|
61
|
+
replace: replace,
|
|
62
|
+
deleteById: deleteById,
|
|
63
|
+
deleteAll: deleteAll,
|
|
26
64
|
};
|
|
27
65
|
}
|
|
28
66
|
exports.default = createMongoQueries;
|
|
29
67
|
function connectToDatabase() {
|
|
30
|
-
return __awaiter(this, void 0, void 0, function
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
68
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
+
var error_1;
|
|
70
|
+
return __generator(this, function (_a) {
|
|
71
|
+
switch (_a.label) {
|
|
72
|
+
case 0:
|
|
73
|
+
if (!!db) return [3 /*break*/, 4];
|
|
74
|
+
console.log('Connecting to MongoDB...');
|
|
75
|
+
_a.label = 1;
|
|
76
|
+
case 1:
|
|
77
|
+
_a.trys.push([1, 3, , 4]);
|
|
78
|
+
return [4 /*yield*/, (0, mongo_1.connect)(uri)];
|
|
79
|
+
case 2:
|
|
80
|
+
db = _a.sent();
|
|
81
|
+
console.log('Connected to MongoDB!');
|
|
82
|
+
return [3 /*break*/, 4];
|
|
83
|
+
case 3:
|
|
84
|
+
error_1 = _a.sent();
|
|
85
|
+
console.log('Error connecting to MongoDB:');
|
|
86
|
+
console.error(error_1);
|
|
87
|
+
return [3 /*break*/, 4];
|
|
88
|
+
case 4: return [2 /*return*/];
|
|
40
89
|
}
|
|
41
|
-
}
|
|
90
|
+
});
|
|
42
91
|
});
|
|
43
92
|
}
|
|
44
|
-
function getAll(
|
|
45
|
-
return __awaiter(this, void 0, void 0, function
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
93
|
+
function getAll(resource) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
95
|
+
var items;
|
|
96
|
+
return __generator(this, function (_a) {
|
|
97
|
+
switch (_a.label) {
|
|
98
|
+
case 0: return [4 /*yield*/, connectToDatabase()];
|
|
99
|
+
case 1:
|
|
100
|
+
_a.sent();
|
|
101
|
+
return [4 /*yield*/, db[resource].find({})];
|
|
102
|
+
case 2:
|
|
103
|
+
items = _a.sent();
|
|
104
|
+
if (!items)
|
|
105
|
+
return [2 /*return*/, []];
|
|
106
|
+
return [2 /*return*/, items.map(function (item) { return removeUnderscoreFromId(item); })];
|
|
107
|
+
}
|
|
108
|
+
});
|
|
51
109
|
});
|
|
52
110
|
}
|
|
53
|
-
function getById(
|
|
54
|
-
return __awaiter(this, void 0, void 0, function
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
111
|
+
function getById(resource, id) {
|
|
112
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
113
|
+
var item;
|
|
114
|
+
return __generator(this, function (_a) {
|
|
115
|
+
switch (_a.label) {
|
|
116
|
+
case 0: return [4 /*yield*/, connectToDatabase()];
|
|
117
|
+
case 1:
|
|
118
|
+
_a.sent();
|
|
119
|
+
return [4 /*yield*/, db[resource].findOne({ _id: id })];
|
|
120
|
+
case 2:
|
|
121
|
+
item = _a.sent();
|
|
122
|
+
if (!item)
|
|
123
|
+
return [2 /*return*/, null];
|
|
124
|
+
return [2 /*return*/, removeUnderscoreFromId(item)];
|
|
125
|
+
}
|
|
126
|
+
});
|
|
60
127
|
});
|
|
61
128
|
}
|
|
62
|
-
function create(
|
|
63
|
-
return __awaiter(this, void 0, void 0, function
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
129
|
+
function create(resource, item) {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
131
|
+
var createdItem;
|
|
132
|
+
return __generator(this, function (_a) {
|
|
133
|
+
switch (_a.label) {
|
|
134
|
+
case 0: return [4 /*yield*/, connectToDatabase()];
|
|
135
|
+
case 1:
|
|
136
|
+
_a.sent();
|
|
137
|
+
return [4 /*yield*/, db[resource].insertOne(item)];
|
|
138
|
+
case 2:
|
|
139
|
+
createdItem = _a.sent();
|
|
140
|
+
return [2 /*return*/, removeUnderscoreFromId(createdItem.ops[0])];
|
|
141
|
+
}
|
|
142
|
+
});
|
|
67
143
|
});
|
|
68
144
|
}
|
|
69
|
-
function update(
|
|
70
|
-
return __awaiter(this, void 0, void 0, function
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
145
|
+
function update(resource, item) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
147
|
+
var id, updatedItem;
|
|
148
|
+
return __generator(this, function (_a) {
|
|
149
|
+
switch (_a.label) {
|
|
150
|
+
case 0: return [4 /*yield*/, connectToDatabase()];
|
|
151
|
+
case 1:
|
|
152
|
+
_a.sent();
|
|
153
|
+
id = item.id;
|
|
154
|
+
delete item.id;
|
|
155
|
+
return [4 /*yield*/, db[resource].findOneAndUpdate({ _id: id }, { $set: item }, { returnOriginal: false })];
|
|
156
|
+
case 2:
|
|
157
|
+
updatedItem = _a.sent();
|
|
158
|
+
return [2 /*return*/, removeUnderscoreFromId(updatedItem.value)];
|
|
159
|
+
}
|
|
160
|
+
});
|
|
76
161
|
});
|
|
77
162
|
}
|
|
78
|
-
function replace(
|
|
79
|
-
return __awaiter(this, void 0, void 0, function
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
163
|
+
function replace(resource, item) {
|
|
164
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
165
|
+
var id, replacedItem;
|
|
166
|
+
return __generator(this, function (_a) {
|
|
167
|
+
switch (_a.label) {
|
|
168
|
+
case 0: return [4 /*yield*/, connectToDatabase()];
|
|
169
|
+
case 1:
|
|
170
|
+
_a.sent();
|
|
171
|
+
id = item.id;
|
|
172
|
+
delete item.id;
|
|
173
|
+
return [4 /*yield*/, db[resource].findOneAndReplace({ _id: id }, item, {
|
|
174
|
+
returnOriginal: false,
|
|
175
|
+
})];
|
|
176
|
+
case 2:
|
|
177
|
+
replacedItem = _a.sent();
|
|
178
|
+
return [2 /*return*/, removeUnderscoreFromId(replacedItem.value)];
|
|
179
|
+
}
|
|
85
180
|
});
|
|
86
|
-
return removeUnderscoreFromId(replacedItem.value);
|
|
87
181
|
});
|
|
88
182
|
}
|
|
89
|
-
function deleteById(
|
|
90
|
-
return __awaiter(this, void 0, void 0, function
|
|
91
|
-
|
|
92
|
-
|
|
183
|
+
function deleteById(resource, id) {
|
|
184
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
185
|
+
return __generator(this, function (_a) {
|
|
186
|
+
switch (_a.label) {
|
|
187
|
+
case 0: return [4 /*yield*/, connectToDatabase()];
|
|
188
|
+
case 1:
|
|
189
|
+
_a.sent();
|
|
190
|
+
return [4 /*yield*/, db[resource].deleteOne({ _id: id })];
|
|
191
|
+
case 2:
|
|
192
|
+
_a.sent();
|
|
193
|
+
return [2 /*return*/];
|
|
194
|
+
}
|
|
195
|
+
});
|
|
93
196
|
});
|
|
94
197
|
}
|
|
95
|
-
function deleteAll(
|
|
96
|
-
return __awaiter(this, void 0, void 0, function
|
|
97
|
-
|
|
98
|
-
|
|
198
|
+
function deleteAll(resource) {
|
|
199
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
200
|
+
return __generator(this, function (_a) {
|
|
201
|
+
switch (_a.label) {
|
|
202
|
+
case 0: return [4 /*yield*/, connectToDatabase()];
|
|
203
|
+
case 1:
|
|
204
|
+
_a.sent();
|
|
205
|
+
return [4 /*yield*/, db[resource].deleteMany({})];
|
|
206
|
+
case 2:
|
|
207
|
+
_a.sent();
|
|
208
|
+
return [2 /*return*/];
|
|
209
|
+
}
|
|
210
|
+
});
|
|
99
211
|
});
|
|
100
212
|
}
|
|
101
213
|
function removeUnderscoreFromId(item) {
|
|
102
|
-
|
|
214
|
+
var updatedItem = __assign(__assign({}, item), { id: item._id });
|
|
103
215
|
delete updatedItem._id;
|
|
104
216
|
return updatedItem;
|
|
105
217
|
}
|
package/queries/mongo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/queries/mongo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mongo.js","sourceRoot":"","sources":["../../src/queries/mongo.ts"],"names":[],"mappings":"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"}
|
package/queries/queries.d.ts
CHANGED
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
declare function createQueries(connectionString: any): {
|
|
2
2
|
connectToDatabase: () => Promise<void>;
|
|
3
|
-
getAll: (
|
|
4
|
-
getById: (
|
|
5
|
-
create: (
|
|
6
|
-
update: (
|
|
7
|
-
replace: (
|
|
8
|
-
deleteById: (
|
|
9
|
-
deleteAll: (
|
|
10
|
-
} | {
|
|
11
|
-
connectToDatabase: () => void;
|
|
12
|
-
getAll: (resourceName: any) => Promise<unknown>;
|
|
13
|
-
getById: (resourceName: any, id: any) => Promise<unknown>;
|
|
14
|
-
create: (resourceName: any, item: any) => Promise<unknown>;
|
|
15
|
-
update: (resourceName: any, item: any) => Promise<unknown>;
|
|
16
|
-
replace: (resourceName: any, item: any) => Promise<unknown>;
|
|
17
|
-
deleteById: (resourceName: any, id: any) => Promise<void>;
|
|
18
|
-
deleteAll: (resourceName: any) => Promise<unknown>;
|
|
3
|
+
getAll: (resource: any) => Promise<any>;
|
|
4
|
+
getById: (resource: any, id: any) => Promise<any>;
|
|
5
|
+
create: (resource: any, item: any) => Promise<any>;
|
|
6
|
+
update: (resource: any, item: any) => Promise<any>;
|
|
7
|
+
replace: (resource: any, item: any) => Promise<any>;
|
|
8
|
+
deleteById: (resource: any, id: any) => Promise<void>;
|
|
9
|
+
deleteAll: (resource: any) => Promise<void>;
|
|
19
10
|
};
|
|
20
11
|
export { createQueries };
|
package/queries/queries.js
CHANGED
|
@@ -4,13 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.createQueries = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
var in_memory_1 = __importDefault(require("./in-memory"));
|
|
8
|
+
var mongo_1 = __importDefault(require("./mongo"));
|
|
9
9
|
function createQueries(connectionString) {
|
|
10
10
|
if (!connectionString) {
|
|
11
11
|
return in_memory_1.default;
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
var mongoQueries = (0, mongo_1.default)(connectionString);
|
|
14
14
|
return mongoQueries;
|
|
15
15
|
}
|
|
16
16
|
exports.createQueries = createQueries;
|
package/queries/queries.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/queries/queries.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/queries/queries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAyC;AACzC,kDAAwC;AAExC,SAAS,aAAa,CAAC,gBAAgB;IACrC,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO,mBAAe,CAAA;KACvB;IAED,IAAM,YAAY,GAAG,IAAA,eAAkB,EAAC,gBAAgB,CAAC,CAAA;IACzD,OAAO,YAAY,CAAA;AACrB,CAAC;AAEQ,sCAAa"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type Item = {
|
|
2
|
+
id: string;
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
};
|
|
5
|
+
export type Queries = {
|
|
6
|
+
connectToDatabase: () => Promise<void>;
|
|
7
|
+
getAll: (resource: string) => Promise<Item[]>;
|
|
8
|
+
getById: (resource: string, id: string) => Promise<Item>;
|
|
9
|
+
create: (resource: string, item: unknown) => Promise<Item>;
|
|
10
|
+
update: (resource: string, item: unknown) => Promise<Item>;
|
|
11
|
+
replace: (resource: string, item: unknown) => Promise<Item>;
|
|
12
|
+
deleteById: (resource: string, id: string) => Promise<void>;
|
|
13
|
+
deleteAll: (resource: string) => Promise<void>;
|
|
14
|
+
};
|
package/queries/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/queries/types.ts"],"names":[],"mappings":""}
|
package/routes/delete.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { Response } from 'express';
|
|
2
|
+
import { Queries } from '../queries/types';
|
|
3
|
+
import { ExtendedRequest } from './types';
|
|
4
|
+
declare function createDeleteRoutes(queries: Queries): {
|
|
5
|
+
handleDelete: (req: ExtendedRequest, res: Response) => Promise<Response<any, Record<string, any>>>;
|
|
3
6
|
};
|
|
4
7
|
export { createDeleteRoutes };
|