couchset 0.0.17 → 0.2.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/dist/config/index.d.ts +0 -1
- package/dist/config/index.js +1 -3
- package/dist/config/index.js.map +1 -1
- package/dist/connection.d.ts +1 -1
- package/dist/connection.js +6 -27
- package/dist/connection.js.map +1 -1
- package/dist/couchbase.d.ts +2 -0
- package/dist/couchbase.js +13 -0
- package/dist/couchbase.js.map +1 -0
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/model/index.d.ts +1 -8
- package/dist/model/index.js +2 -11
- package/dist/model/index.js.map +1 -1
- package/dist/pagination/pagination.js +1 -1
- package/dist/query/interface/query.types.d.ts +22 -22
- package/dist/query/query.cluster.d.ts +1 -1
- package/dist/query/query.cluster.js +1 -1
- package/dist/query/query.cluster.js.map +1 -1
- package/dist/search/customQuery.js +1 -1
- package/dist/shared/common.model.d.ts +0 -28
- package/dist/shared/common.model.js +5 -86
- package/dist/shared/common.model.js.map +1 -1
- package/dist/shared/index.d.ts +0 -1
- package/dist/shared/index.js +0 -1
- package/dist/shared/index.js.map +1 -1
- package/dist/utils/edge.d.ts +1 -0
- package/dist/utils/edge.js +16 -0
- package/dist/utils/edge.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/lodash.d.ts +1 -0
- package/dist/utils/lodash.js +20 -0
- package/dist/utils/lodash.js.map +1 -0
- package/dist/utils/log.js +1 -2
- package/dist/utils/log.js.map +1 -1
- package/dist/utils/text.utils.d.ts +0 -6
- package/dist/utils/text.utils.js +1 -12
- package/dist/utils/text.utils.js.map +1 -1
- package/dist/utils/utils.schema.d.ts +1 -1
- package/package.json +5 -13
- package/dist/automate/index.d.ts +0 -4
- package/dist/automate/index.js +0 -21
- package/dist/automate/index.js.map +0 -1
- package/dist/automate/middlewares/blankMiddleware.d.ts +0 -8
- package/dist/automate/middlewares/blankMiddleware.js +0 -16
- package/dist/automate/middlewares/blankMiddleware.js.map +0 -1
- package/dist/automate/middlewares/index.d.ts +0 -2
- package/dist/automate/middlewares/index.js +0 -19
- package/dist/automate/middlewares/index.js.map +0 -1
- package/dist/automate/middlewares/isAuth.d.ts +0 -8
- package/dist/automate/middlewares/isAuth.js +0 -29
- package/dist/automate/middlewares/isAuth.js.map +0 -1
- package/dist/automate/model/client.d.ts +0 -12
- package/dist/automate/model/client.js +0 -33
- package/dist/automate/model/client.js.map +0 -1
- package/dist/automate/model/index.d.ts +0 -47
- package/dist/automate/model/index.js +0 -341
- package/dist/automate/model/index.js.map +0 -1
- package/dist/automate/morpheus/index.d.ts +0 -14
- package/dist/automate/morpheus/index.js +0 -171
- package/dist/automate/morpheus/index.js.map +0 -1
- package/dist/automate/writer/index.d.ts +0 -10
- package/dist/automate/writer/index.js +0 -72
- package/dist/automate/writer/index.js.map +0 -1
- package/dist/shared/ContextType.d.ts +0 -27
- package/dist/shared/ContextType.js +0 -55
- package/dist/shared/ContextType.js.map +0 -1
|
@@ -1,341 +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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
14
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
15
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
16
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
17
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
18
|
-
};
|
|
19
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
20
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
21
|
-
};
|
|
22
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
23
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
24
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
25
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
26
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
27
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
28
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
32
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
33
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
34
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
35
|
-
function step(op) {
|
|
36
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
37
|
-
while (_) try {
|
|
38
|
-
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;
|
|
39
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
40
|
-
switch (op[0]) {
|
|
41
|
-
case 0: case 1: t = op; break;
|
|
42
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
43
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
44
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
45
|
-
default:
|
|
46
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
47
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
48
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
49
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
50
|
-
if (t[2]) _.ops.pop();
|
|
51
|
-
_.trys.pop(); continue;
|
|
52
|
-
}
|
|
53
|
-
op = body.call(thisArg, _);
|
|
54
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
55
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
59
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
60
|
-
if (!m) return o;
|
|
61
|
-
var i = m.call(o), r, ar = [], e;
|
|
62
|
-
try {
|
|
63
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
64
|
-
}
|
|
65
|
-
catch (error) { e = { error: error }; }
|
|
66
|
-
finally {
|
|
67
|
-
try {
|
|
68
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
69
|
-
}
|
|
70
|
-
finally { if (e) throw e.error; }
|
|
71
|
-
}
|
|
72
|
-
return ar;
|
|
73
|
-
};
|
|
74
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
75
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
76
|
-
};
|
|
77
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
78
|
-
exports.automateImplementation = void 0;
|
|
79
|
-
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
80
|
-
var camelCase_1 = __importDefault(require("lodash/camelCase"));
|
|
81
|
-
var pickBy_1 = __importDefault(require("lodash/pickBy"));
|
|
82
|
-
var graphql_type_json_1 = __importDefault(require("graphql-type-json"));
|
|
83
|
-
var lodash_1 = require("lodash");
|
|
84
|
-
var type_graphql_1 = require("type-graphql");
|
|
85
|
-
var utils_1 = require("../../utils");
|
|
86
|
-
var middlewares_1 = require("../middlewares");
|
|
87
|
-
var shared_1 = require("../../shared");
|
|
88
|
-
var client_1 = require("./client");
|
|
89
|
-
/**
|
|
90
|
-
*
|
|
91
|
-
* @param c
|
|
92
|
-
* @returns
|
|
93
|
-
*/
|
|
94
|
-
var automateImplementation = function (ClassModelType, options) {
|
|
95
|
-
var _a, _b, _c, _d;
|
|
96
|
-
// createUpdate
|
|
97
|
-
var createUpdateOptions = options === null || options === void 0 ? void 0 : options.createUpdate;
|
|
98
|
-
var createUpdateOptionsPublic = (_a = options === null || options === void 0 ? void 0 : options.createUpdate) === null || _a === void 0 ? void 0 : _a.public;
|
|
99
|
-
// deleteById
|
|
100
|
-
var deleteByIdOptions = options === null || options === void 0 ? void 0 : options.deleteById;
|
|
101
|
-
var deleteByIdOptionsPublic = (_b = options === null || options === void 0 ? void 0 : options.deleteById) === null || _b === void 0 ? void 0 : _b.public;
|
|
102
|
-
// getById
|
|
103
|
-
var getByIdOptions = options === null || options === void 0 ? void 0 : options.getById;
|
|
104
|
-
var getByIdOptionsPublic = (_c = options === null || options === void 0 ? void 0 : options.getById) === null || _c === void 0 ? void 0 : _c.public;
|
|
105
|
-
// pagination
|
|
106
|
-
var paginationOptions = options === null || options === void 0 ? void 0 : options.pagination;
|
|
107
|
-
var paginationOptionsPublic = (_d = options === null || options === void 0 ? void 0 : options.pagination) === null || _d === void 0 ? void 0 : _d.public;
|
|
108
|
-
var ClassModel = options.model;
|
|
109
|
-
var name = ClassModelType.name;
|
|
110
|
-
var _type = ClassModel.collectionName;
|
|
111
|
-
var nameCamel = (0, camelCase_1.default)(name);
|
|
112
|
-
// const nameSNAKE_CASE = toUpper(snakeCase(name));
|
|
113
|
-
var modelKeys = Object.getOwnPropertyNames(new ClassModelType());
|
|
114
|
-
var authMiddleware = options.authMiddleware || middlewares_1.isAuth;
|
|
115
|
-
var blankMiddleware = [];
|
|
116
|
-
var ClassResType = /** @class */ (function () {
|
|
117
|
-
function ClassResType() {
|
|
118
|
-
}
|
|
119
|
-
__decorate([
|
|
120
|
-
(0, type_graphql_1.Field)(function () { return Boolean; })
|
|
121
|
-
], ClassResType.prototype, "success", void 0);
|
|
122
|
-
__decorate([
|
|
123
|
-
(0, type_graphql_1.Field)(function () { return String; }, { nullable: true })
|
|
124
|
-
], ClassResType.prototype, "message", void 0);
|
|
125
|
-
__decorate([
|
|
126
|
-
(0, type_graphql_1.Field)(function (type) { return graphql_type_json_1.default; }, { nullable: true })
|
|
127
|
-
], ClassResType.prototype, "data", void 0);
|
|
128
|
-
ClassResType = __decorate([
|
|
129
|
-
(0, type_graphql_1.ObjectType)("".concat(nameCamel, "ResType"))
|
|
130
|
-
], ClassResType);
|
|
131
|
-
return ClassResType;
|
|
132
|
-
}());
|
|
133
|
-
var PaginationClass = /** @class */ (function () {
|
|
134
|
-
function PaginationClass() {
|
|
135
|
-
this.items = [ClassModelType];
|
|
136
|
-
this.hasNext = false;
|
|
137
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
138
|
-
this.params = {};
|
|
139
|
-
}
|
|
140
|
-
__decorate([
|
|
141
|
-
(0, type_graphql_1.Field)(function () { return [ClassModelType]; }, { nullable: true })
|
|
142
|
-
], PaginationClass.prototype, "items", void 0);
|
|
143
|
-
__decorate([
|
|
144
|
-
(0, type_graphql_1.Field)(function () { return Boolean; }, { nullable: true })
|
|
145
|
-
], PaginationClass.prototype, "hasNext", void 0);
|
|
146
|
-
__decorate([
|
|
147
|
-
(0, type_graphql_1.Field)(function (type) { return graphql_type_json_1.default; }, { nullable: true })
|
|
148
|
-
], PaginationClass.prototype, "params", void 0);
|
|
149
|
-
PaginationClass = __decorate([
|
|
150
|
-
(0, type_graphql_1.InputType)("".concat(nameCamel, "PaginationInput")),
|
|
151
|
-
(0, type_graphql_1.ObjectType)("".concat(nameCamel, "Pagination"))
|
|
152
|
-
], PaginationClass);
|
|
153
|
-
return PaginationClass;
|
|
154
|
-
}());
|
|
155
|
-
// return Pagination;
|
|
156
|
-
var ResolverClass = /** @class */ (function () {
|
|
157
|
-
function ResolverClass() {
|
|
158
|
-
}
|
|
159
|
-
ResolverClass.prototype[_e = "".concat(nameCamel, "Pagination")] = function (filter, sort, before, after, limitArg) {
|
|
160
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
161
|
-
var limit, copyParams, bucket, query, _a, errorFetching, _b, data, _c, _d, rows, _j, options_1, dataToSend, error_1;
|
|
162
|
-
return __generator(this, function (_k) {
|
|
163
|
-
switch (_k.label) {
|
|
164
|
-
case 0:
|
|
165
|
-
limit = limitArg || 10;
|
|
166
|
-
copyParams = (0, pickBy_1.default)({
|
|
167
|
-
filter: filter,
|
|
168
|
-
sort: sort,
|
|
169
|
-
before: before,
|
|
170
|
-
after: after,
|
|
171
|
-
limit: limit,
|
|
172
|
-
}, lodash_1.identity);
|
|
173
|
-
(0, utils_1.log)("".concat(nameCamel, "Pagination -->"), copyParams);
|
|
174
|
-
_k.label = 1;
|
|
175
|
-
case 1:
|
|
176
|
-
_k.trys.push([1, 5, , 6]);
|
|
177
|
-
if (!(paginationOptions && paginationOptions.method)) return [3 /*break*/, 3];
|
|
178
|
-
return [4 /*yield*/, paginationOptions.method(copyParams)];
|
|
179
|
-
case 2: return [2 /*return*/, _k.sent()];
|
|
180
|
-
case 3:
|
|
181
|
-
bucket = ClassModel.getBucketName();
|
|
182
|
-
query = "\n SELECT ".concat(modelKeys.join(','), "\n FROM `").concat(bucket, "` ").concat(nameCamel, "\n WHERE ").concat(nameCamel, "._type = \"").concat(_type, "\"\n LIMIT ").concat(limit, ";\n ");
|
|
183
|
-
return [4 /*yield*/, (0, utils_1.awaitTo)(ClassModel.customQuery({
|
|
184
|
-
limit: limit,
|
|
185
|
-
query: query,
|
|
186
|
-
params: copyParams,
|
|
187
|
-
}))];
|
|
188
|
-
case 4:
|
|
189
|
-
_a = __read.apply(void 0, [_k.sent(), 2]), errorFetching = _a[0], _b = _a[1], data = _b === void 0 ? [] : _b;
|
|
190
|
-
if (errorFetching) {
|
|
191
|
-
throw errorFetching;
|
|
192
|
-
}
|
|
193
|
-
_c = __read(data, 2), _d = _c[0], rows = _d === void 0 ? [] : _d, _j = _c[1], options_1 = _j === void 0 ? { hasNext: false, params: copyParams } : _j;
|
|
194
|
-
dataToSend = rows.map(function (d) { return ClassModel.parse(d); });
|
|
195
|
-
return [2 /*return*/, __assign({ items: dataToSend }, options_1)];
|
|
196
|
-
case 5:
|
|
197
|
-
error_1 = _k.sent();
|
|
198
|
-
(0, utils_1.log)("error paginating ".concat(nameCamel), error_1);
|
|
199
|
-
return [2 /*return*/, { items: [], hasNext: false, params: copyParams }];
|
|
200
|
-
case 6: return [2 /*return*/];
|
|
201
|
-
}
|
|
202
|
-
});
|
|
203
|
-
});
|
|
204
|
-
};
|
|
205
|
-
ResolverClass.prototype[_f = "".concat(nameCamel, "Get")] = function (id, owner) {
|
|
206
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
207
|
-
var foundDocument, error_2;
|
|
208
|
-
return __generator(this, function (_a) {
|
|
209
|
-
switch (_a.label) {
|
|
210
|
-
case 0:
|
|
211
|
-
_a.trys.push([0, 4, , 5]);
|
|
212
|
-
(0, utils_1.log)("".concat(nameCamel, "Get -->"), { id: id, owner: owner });
|
|
213
|
-
if (!(getByIdOptions && getByIdOptions.method)) return [3 /*break*/, 2];
|
|
214
|
-
return [4 /*yield*/, getByIdOptions.method({ id: id, owner: owner })];
|
|
215
|
-
case 1: return [2 /*return*/, _a.sent()];
|
|
216
|
-
case 2: return [4 /*yield*/, ClassModel.findById(id)];
|
|
217
|
-
case 3:
|
|
218
|
-
foundDocument = _a.sent();
|
|
219
|
-
if (!foundDocument) {
|
|
220
|
-
throw new Error("".concat(nameCamel, " not found"));
|
|
221
|
-
}
|
|
222
|
-
return [2 /*return*/, foundDocument];
|
|
223
|
-
case 4:
|
|
224
|
-
error_2 = _a.sent();
|
|
225
|
-
(0, utils_1.log)("error finding ".concat(nameCamel), error_2);
|
|
226
|
-
return [2 /*return*/, null];
|
|
227
|
-
case 5: return [2 /*return*/];
|
|
228
|
-
}
|
|
229
|
-
});
|
|
230
|
-
});
|
|
231
|
-
};
|
|
232
|
-
ResolverClass.prototype[_g = "".concat(nameCamel, "Delete")] = function (id, owner) {
|
|
233
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
234
|
-
var deleted, error_3;
|
|
235
|
-
return __generator(this, function (_a) {
|
|
236
|
-
switch (_a.label) {
|
|
237
|
-
case 0:
|
|
238
|
-
(0, utils_1.log)("".concat(nameCamel, "Delete -->"), { id: id, owner: owner });
|
|
239
|
-
_a.label = 1;
|
|
240
|
-
case 1:
|
|
241
|
-
_a.trys.push([1, 5, , 6]);
|
|
242
|
-
if (!(deleteByIdOptions && deleteByIdOptions.method)) return [3 /*break*/, 3];
|
|
243
|
-
return [4 /*yield*/, deleteByIdOptions.method({ id: id, owner: owner })];
|
|
244
|
-
case 2: return [2 /*return*/, _a.sent()];
|
|
245
|
-
case 3: return [4 /*yield*/, ClassModel.delete(id)];
|
|
246
|
-
case 4:
|
|
247
|
-
deleted = _a.sent();
|
|
248
|
-
if (!deleted) {
|
|
249
|
-
throw new Error("".concat(nameCamel, " not deleted"));
|
|
250
|
-
}
|
|
251
|
-
return [2 /*return*/, {
|
|
252
|
-
success: true,
|
|
253
|
-
}];
|
|
254
|
-
case 5:
|
|
255
|
-
error_3 = _a.sent();
|
|
256
|
-
(0, utils_1.log)("error deleting ".concat(nameCamel), error_3);
|
|
257
|
-
return [2 /*return*/, { success: false, message: error_3 && error_3.message }];
|
|
258
|
-
case 6: return [2 /*return*/];
|
|
259
|
-
}
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
};
|
|
263
|
-
ResolverClass.prototype[_h = "".concat(nameCamel, "Create")] = function (
|
|
264
|
-
// @ts-ignore
|
|
265
|
-
args) {
|
|
266
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
267
|
-
var createdOrUpdate, err_1;
|
|
268
|
-
return __generator(this, function (_a) {
|
|
269
|
-
switch (_a.label) {
|
|
270
|
-
case 0:
|
|
271
|
-
(0, utils_1.log)("".concat(nameCamel, "Create -->"), args);
|
|
272
|
-
_a.label = 1;
|
|
273
|
-
case 1:
|
|
274
|
-
_a.trys.push([1, 5, , 6]);
|
|
275
|
-
if (!(createUpdateOptions && createUpdateOptions.method)) return [3 /*break*/, 3];
|
|
276
|
-
return [4 /*yield*/, createUpdateOptions.method(args)];
|
|
277
|
-
case 2: return [2 /*return*/, _a.sent()];
|
|
278
|
-
case 3: return [4 /*yield*/, (0, shared_1.createUpdate)(__assign({ model: ClassModel, data: __assign({}, args) }, args))];
|
|
279
|
-
case 4:
|
|
280
|
-
createdOrUpdate = _a.sent();
|
|
281
|
-
if (createdOrUpdate) {
|
|
282
|
-
return [2 /*return*/, { success: true, data: createdOrUpdate }];
|
|
283
|
-
}
|
|
284
|
-
throw new Error("error creating ".concat(nameCamel, " method "));
|
|
285
|
-
case 5:
|
|
286
|
-
err_1 = _a.sent();
|
|
287
|
-
console.error(err_1 && err_1.message, err_1);
|
|
288
|
-
return [2 /*return*/, { success: false, message: err_1 && err_1.message }];
|
|
289
|
-
case 6: return [2 /*return*/];
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
};
|
|
294
|
-
var _e, _f, _g, _h;
|
|
295
|
-
__decorate([
|
|
296
|
-
(0, type_graphql_1.Query)(function () { return PaginationClass; }),
|
|
297
|
-
(0, type_graphql_1.UseMiddleware)(paginationOptionsPublic ? blankMiddleware : authMiddleware),
|
|
298
|
-
__param(0, (0, type_graphql_1.Arg)('filter', function () { return String; }, { nullable: true })),
|
|
299
|
-
__param(1, (0, type_graphql_1.Arg)('sort', function () { return String; }, { nullable: true })),
|
|
300
|
-
__param(2, (0, type_graphql_1.Arg)('before', function () { return Date; }, { nullable: true })),
|
|
301
|
-
__param(3, (0, type_graphql_1.Arg)('after', function () { return Date; }, { nullable: true })),
|
|
302
|
-
__param(4, (0, type_graphql_1.Arg)('limit', function () { return Number; }, { nullable: true }))
|
|
303
|
-
], ResolverClass.prototype, _e, null);
|
|
304
|
-
__decorate([
|
|
305
|
-
(0, type_graphql_1.Query)(function () { return ClassModelType; }),
|
|
306
|
-
(0, type_graphql_1.UseMiddleware)(getByIdOptionsPublic ? blankMiddleware : authMiddleware),
|
|
307
|
-
__param(0, (0, type_graphql_1.Arg)('id', function () { return String; }, { nullable: false })),
|
|
308
|
-
__param(1, (0, type_graphql_1.Arg)('owner', function () { return String; }, { nullable: true }))
|
|
309
|
-
], ResolverClass.prototype, _f, null);
|
|
310
|
-
__decorate([
|
|
311
|
-
(0, type_graphql_1.Mutation)(function () { return ClassResType; }),
|
|
312
|
-
(0, type_graphql_1.UseMiddleware)(deleteByIdOptionsPublic ? blankMiddleware : authMiddleware),
|
|
313
|
-
__param(0, (0, type_graphql_1.Arg)('id', function () { return String; }, { nullable: false })),
|
|
314
|
-
__param(1, (0, type_graphql_1.Arg)('owner', function () { return String; }, { nullable: true }))
|
|
315
|
-
], ResolverClass.prototype, _g, null);
|
|
316
|
-
__decorate([
|
|
317
|
-
(0, type_graphql_1.Mutation)(function () { return ClassResType; }),
|
|
318
|
-
(0, type_graphql_1.UseMiddleware)(createUpdateOptionsPublic ? blankMiddleware : authMiddleware),
|
|
319
|
-
__param(0, (0, type_graphql_1.Arg)('args', function () { return ClassModelType; }))
|
|
320
|
-
], ResolverClass.prototype, _h, null);
|
|
321
|
-
ResolverClass = __decorate([
|
|
322
|
-
(0, type_graphql_1.Resolver)()
|
|
323
|
-
], ResolverClass);
|
|
324
|
-
return ResolverClass;
|
|
325
|
-
}());
|
|
326
|
-
// GQL
|
|
327
|
-
// { FRAGMENT, GET, DELETE, CREATE, PAGE }
|
|
328
|
-
var client = (0, client_1.generateClient)({
|
|
329
|
-
name: name,
|
|
330
|
-
fields: modelKeys,
|
|
331
|
-
});
|
|
332
|
-
return {
|
|
333
|
-
resType: ClassResType,
|
|
334
|
-
pagination: PaginationClass,
|
|
335
|
-
resolver: ResolverClass,
|
|
336
|
-
modelKeys: modelKeys,
|
|
337
|
-
client: client,
|
|
338
|
-
};
|
|
339
|
-
};
|
|
340
|
-
exports.automateImplementation = automateImplementation;
|
|
341
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/automate/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAsD;AACtD,+DAAyC;AACzC,yDAAmC;AACnC,wEAA4C;AAC5C,iCAAgC;AAChC,6CAUsB;AAGtB,qCAAyC;AAEzC,8CAAsC;AACtC,uCAAmD;AAEnD,mCAAwC;AAmDxC;;;;GAIG;AACI,IAAM,sBAAsB,GAAG,UAClC,cAA6B,EAC7B,OAA8B;;IAE9B,eAAe;IACf,IAAM,mBAAmB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;IAClD,IAAM,yBAAyB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,0CAAE,MAAM,CAAC;IAEhE,aAAa;IACb,IAAM,iBAAiB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;IAC9C,IAAM,uBAAuB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,0CAAE,MAAM,CAAC;IAE5D,UAAU;IACV,IAAM,cAAc,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC;IACxC,IAAM,oBAAoB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,MAAM,CAAC;IAEtD,aAAa;IACb,IAAM,iBAAiB,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;IAC9C,IAAM,uBAAuB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,0CAAE,MAAM,CAAC;IAI5D,IAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;IACjC,IAAM,IAAI,GAAI,cAAsB,CAAC,IAAI,CAAC;IAC1C,IAAM,KAAK,GAAG,UAAU,CAAC,cAAc,CAAC;IACxC,IAAM,SAAS,GAAG,IAAA,mBAAS,EAAC,IAAI,CAAC,CAAC;IAClC,mDAAmD;IACnD,IAAM,SAAS,GAAa,MAAM,CAAC,mBAAmB,CAAC,IAAI,cAAc,EAAE,CAAC,CAAC;IAE7E,IAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,oBAAM,CAAC;IAExD,IAAM,eAAe,GAAG,EAAE,CAAC;IAG3B;QAAA;QAUA,CAAC;QARG;YADC,IAAA,oBAAK,EAAC,cAAM,OAAA,OAAO,EAAP,CAAO,CAAC;qDACJ;QAGjB;YADC,IAAA,oBAAK,EAAC,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;qDACrB;QAIjB;YADC,IAAA,oBAAK,EAAC,UAAC,IAAI,IAAK,OAAA,2BAAW,EAAX,CAAW,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;kDACpC;QATT,YAAY;YADjB,IAAA,yBAAU,EAAC,UAAG,SAAS,YAAS,CAAC;WAC5B,YAAY,CAUjB;QAAD,mBAAC;KAAA,AAVD,IAUC;IAID;QAAA;YAEI,UAAK,GAA4B,CAAC,cAAc,CAAC,CAAC;YAGlD,YAAO,GAAa,KAAK,CAAC;YAE1B,6DAA6D;YAE7D,WAAM,GAAS,EAAE,CAAC;QACtB,CAAC;QARG;YADC,IAAA,oBAAK,EAAC,cAAM,OAAA,CAAC,cAAc,CAAC,EAAhB,CAAgB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;sDACE;QAGlD;YADC,IAAA,oBAAK,EAAC,cAAM,OAAA,OAAO,EAAP,CAAO,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;wDACb;QAI1B;YADC,IAAA,oBAAK,EAAC,UAAC,IAAI,IAAK,OAAA,2BAAW,EAAX,CAAW,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;uDAC7B;QAThB,eAAe;YAFpB,IAAA,wBAAS,EAAC,UAAG,SAAS,oBAAiB,CAAC;YACxC,IAAA,yBAAU,EAAC,UAAG,SAAS,eAAY,CAAC;WAC/B,eAAe,CAUpB;QAAD,sBAAC;KAAA,AAVD,IAUC;IACD,qBAAqB;IAGrB;QAAA;QA0JA,CAAC;QAvJS,6BAAC,UAAG,SAAS,eAAY,CAAC,GAAhC,UACmD,MAAe,EACjB,IAAa,EACb,MAAa,EACd,KAAY,EACV,QAAiB;;;;;;4BAMzD,KAAK,GAAG,QAAQ,IAAI,EAAE,CAAC;4BAEvB,UAAU,GAAG,IAAA,gBAAM,EACrB;gCACI,MAAM,QAAA;gCACN,IAAI,MAAA;gCACJ,MAAM,QAAA;gCACN,KAAK,OAAA;gCACL,KAAK,OAAA;6BACR,EACD,iBAAQ,CACX,CAAC;4BAEF,IAAA,WAAG,EAAC,UAAG,SAAS,mBAAgB,EAAE,UAAU,CAAC,CAAC;;;;iCAItC,CAAA,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAA,EAA7C,wBAA6C;4BACtC,qBAAM,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAA;gCAAjD,sBAAO,SAA0C,EAAC;;4BAGhD,MAAM,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;4BAEpC,KAAK,GAAG,6BACX,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,+BACnB,MAAM,eAAM,SAAS,+BACtB,SAAS,wBAAa,KAAK,iCAC3B,KAAK,cAChB,CAAC;4BAE2C,qBAAM,IAAA,eAAO,EAC5C,UAAU,CAAC,WAAW,CAAM;oCACxB,KAAK,OAAA;oCACL,KAAK,OAAA;oCACL,MAAM,EAAE,UAAU;iCACrB,CAAC,CACL,EAAA;;4BANK,KAAA,sBAA6B,SAMlC,KAAA,EANM,aAAa,QAAA,EAAE,UAAS,EAAT,IAAI,mBAAG,EAAE,KAAA;4BAQ/B,IAAI,aAAa,EAAE;gCACf,MAAM,aAAa,CAAC;6BACvB;4BAEK,KAAA,OAA8D,IAAI,IAAA,EAAjE,UAAS,EAAT,IAAI,mBAAG,EAAE,KAAA,EAAE,UAA8C,EAA9C,4BAAU,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAC,KAAA,CAAS;4BAEnE,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAnB,CAAmB,CAAC,CAAC;4BAExD,iCAAQ,KAAK,EAAE,UAAU,IAAK,SAAO,GAAE;;;4BAEvC,IAAA,WAAG,EAAC,2BAAoB,SAAS,CAAE,EAAE,OAAK,CAAC,CAAC;4BAC5C,sBAAO,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAC,EAAC;;;;;SAE9D;QAIK,6BAAC,UAAG,SAAS,QAAK,CAAC,GAAzB,UACgD,EAAU,EACR,KAAc;;;;;;;4BAGxD,IAAA,WAAG,EAAC,UAAG,SAAS,YAAS,EAAE,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC,CAAC;iCAEpC,CAAA,cAAc,IAAI,cAAc,CAAC,MAAM,CAAA,EAAvC,wBAAuC;4BAChC,qBAAM,cAAc,CAAC,MAAM,CAAC,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC,EAAA;gCAA/C,sBAAO,SAAwC,EAAC;gCAI9B,qBAAM,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAA;;4BAA7C,aAAa,GAAG,SAA6B;4BACnD,IAAI,CAAC,aAAa,EAAE;gCAChB,MAAM,IAAI,KAAK,CAAC,UAAG,SAAS,eAAY,CAAC,CAAC;6BAC7C;4BAED,sBAAO,aAAa,EAAC;;;4BAErB,IAAA,WAAG,EAAC,wBAAiB,SAAS,CAAE,EAAE,OAAK,CAAC,CAAC;4BACzC,sBAAO,IAAI,EAAC;;;;;SAEnB;QAIK,6BAAC,UAAG,SAAS,WAAQ,CAAC,GAA5B,UACgD,EAAU,EACR,KAAc;;;;;;4BAE5D,IAAA,WAAG,EAAC,UAAG,SAAS,eAAY,EAAE,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC,CAAC;;;;iCAGnC,CAAA,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAA,EAA7C,wBAA6C;4BACtC,qBAAM,iBAAiB,CAAC,MAAM,CAAC,EAAC,EAAE,IAAA,EAAE,KAAK,OAAA,EAAC,CAAC,EAAA;gCAAlD,sBAAO,SAA2C,EAAC;gCAIvC,qBAAM,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAA;;4BAArC,OAAO,GAAG,SAA2B;4BAC3C,IAAI,CAAC,OAAO,EAAE;gCACV,MAAM,IAAI,KAAK,CAAC,UAAG,SAAS,iBAAc,CAAC,CAAC;6BAC/C;4BAED,sBAAO;oCACH,OAAO,EAAE,IAAI;iCAChB,EAAC;;;4BAEF,IAAA,WAAG,EAAC,yBAAkB,SAAS,CAAE,EAAE,OAAK,CAAC,CAAC;4BAC1C,sBAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAK,IAAI,OAAK,CAAC,OAAO,EAAC,EAAC;;;;;SAEhE;QAIK,6BAAC,UAAG,SAAS,WAAQ,CAAC,GAA5B;QACI,aAAa;QACsB,IAAoB;;;;;;4BAEvD,IAAA,WAAG,EAAC,UAAG,SAAS,eAAY,EAAE,IAAI,CAAC,CAAC;;;;iCAI5B,CAAA,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,CAAA,EAAjD,wBAAiD;4BAC1C,qBAAM,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAA;gCAA7C,sBAAO,SAAsC,EAAC;gCAI1B,qBAAM,IAAA,qBAAY,aACtC,KAAK,EAAE,UAAU,EACjB,IAAI,eACG,IAAI,KAER,IAAI,EACT,EAAA;;4BANI,eAAe,GAAG,SAMtB;4BAEF,IAAI,eAAe,EAAE;gCACjB,sBAAO,EAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAC,EAAC;6BACjD;4BAED,MAAM,IAAI,KAAK,CAAC,yBAAkB,SAAS,aAAU,CAAC,CAAC;;;4BAEvD,OAAO,CAAC,KAAK,CAAC,KAAG,IAAI,KAAG,CAAC,OAAO,EAAE,KAAG,CAAC,CAAC;4BACvC,sBAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAG,IAAI,KAAG,CAAC,OAAO,EAAC,EAAC;;;;;SAE5D;;QAtJD;YAFC,IAAA,oBAAK,EAAC,cAAM,OAAA,eAAe,EAAf,CAAe,CAAC;YAC5B,IAAA,4BAAa,EAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAErE,WAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC7C,WAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC3C,WAAA,IAAA,kBAAG,EAAC,QAAQ,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC3C,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;YAC1C,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;6CAyDhD;QAID;YAFC,IAAA,oBAAK,EAAC,cAAM,OAAA,cAAc,EAAd,CAAc,CAAC;YAC3B,IAAA,4BAAa,EAAC,oBAAoB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAElE,WAAA,IAAA,kBAAG,EAAC,IAAI,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAA;YAC1C,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;6CAoBhD;QAID;YAFC,IAAA,uBAAQ,EAAC,cAAM,OAAA,YAAY,EAAZ,CAAY,CAAC;YAC5B,IAAA,4BAAa,EAAC,uBAAuB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAErE,WAAA,IAAA,kBAAG,EAAC,IAAI,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAA;YAC1C,WAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,cAAM,OAAA,MAAM,EAAN,CAAM,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;6CAsBhD;QAID;YAFC,IAAA,uBAAQ,EAAC,cAAM,OAAA,YAAY,EAAZ,CAAY,CAAC;YAC5B,IAAA,4BAAa,EAAC,yBAAyB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAGvE,WAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,cAAM,OAAA,cAAc,EAAd,CAAc,CAAC,CAAA;6CA4BrC;QAzJC,aAAa;YADlB,IAAA,uBAAQ,GAAE;WACL,aAAa,CA0JlB;QAAD,oBAAC;KAAA,AA1JD,IA0JC;IAED,MAAM;IACN,0CAA0C;IAC1C,IAAM,MAAM,GAAG,IAAA,uBAAc,EAAC;QAC1B,IAAI,MAAA;QACJ,MAAM,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,OAAO;QACH,OAAO,EAAE,YAAkC;QAC3C,UAAU,EAAE,eAAe;QAC3B,QAAQ,EAAE,aAAa;QACvB,SAAS,WAAA;QACT,MAAM,QAAA;KACT,CAAC;AACN,CAAC,CAAC;AAxOW,QAAA,sBAAsB,0BAwOjC","sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport camelCase from 'lodash/camelCase';\nimport pickBy from 'lodash/pickBy';\nimport GraphQLJSON from 'graphql-type-json';\nimport {identity} from 'lodash';\nimport {\n Field,\n Mutation,\n ObjectType,\n UseMiddleware,\n Arg,\n ClassType,\n Resolver,\n Query,\n InputType,\n} from 'type-graphql';\nimport {DocumentNode} from 'graphql';\n\nimport {awaitTo, log} from '../../utils';\nimport {Model} from '../../model';\nimport {isAuth} from '../middlewares';\nimport {createUpdate, ResType} from '../../shared';\n\nimport {generateClient} from './client';\n\ninterface PaginationResults {\n items: any[];\n hasNext: boolean;\n params: any;\n}\n\nexport interface AutomaticModelOptions extends AutomaticMethodOptions {\n model: Model;\n}\n\nexport interface AutomaticMethodOptions {\n authMiddleware?: any; // authentication middleware\n\n // Query\n pagination?: {\n public?: boolean;\n method?: (params: any) => Promise<PaginationResults>;\n };\n\n getById?: {\n public?: boolean;\n matchOwner?: boolean;\n method?: <T>(params: any) => Promise<T & any>;\n };\n\n // Mutations\n deleteById?: {\n public?: boolean; // NEVER SET IN PROD\n method?: (args: any) => Promise<ResType>;\n matchOwner?: boolean;\n };\n\n createUpdate?: {\n public?: boolean; // NEVER SET IN PROD\n method?: <T>(args: T) => Promise<ResType>;\n };\n\n // TODO in the future\n // fragmentMapping\n}\n\nexport interface AutomaticOutput {\n resType: ResType;\n pagination: ClassType;\n resolver: ClassType;\n modelKeys: string[];\n client: Record<string, DocumentNode>;\n}\n\n/**\n *\n * @param c\n * @returns\n */\nexport const automateImplementation = <T>(\n ClassModelType: T & ClassType,\n options: AutomaticModelOptions\n): AutomaticOutput => {\n // createUpdate\n const createUpdateOptions = options?.createUpdate;\n const createUpdateOptionsPublic = options?.createUpdate?.public;\n\n // deleteById\n const deleteByIdOptions = options?.deleteById;\n const deleteByIdOptionsPublic = options?.deleteById?.public;\n\n // getById\n const getByIdOptions = options?.getById;\n const getByIdOptionsPublic = options?.getById?.public;\n\n // pagination\n const paginationOptions = options?.pagination;\n const paginationOptionsPublic = options?.pagination?.public;\n\n type ClassModelTYPE = typeof ClassModelType;\n\n const ClassModel = options.model;\n const name = (ClassModelType as any).name;\n const _type = ClassModel.collectionName;\n const nameCamel = camelCase(name);\n // const nameSNAKE_CASE = toUpper(snakeCase(name));\n const modelKeys: string[] = Object.getOwnPropertyNames(new ClassModelType());\n\n const authMiddleware = options.authMiddleware || isAuth;\n\n const blankMiddleware = [];\n\n @ObjectType(`${nameCamel}ResType`)\n class ClassResType {\n @Field(() => Boolean)\n success: boolean;\n\n @Field(() => String, {nullable: true})\n message?: string;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n @Field((type) => GraphQLJSON, {nullable: true})\n data?: any;\n }\n\n @InputType(`${nameCamel}PaginationInput`)\n @ObjectType(`${nameCamel}Pagination`)\n class PaginationClass {\n @Field(() => [ClassModelType], {nullable: true})\n items: [typeof ClassModelType] = [ClassModelType];\n\n @Field(() => Boolean, {nullable: true})\n hasNext?: boolean = false;\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n @Field((type) => GraphQLJSON, {nullable: true})\n params?: any = {};\n }\n // return Pagination;\n\n @Resolver()\n class ResolverClass {\n @Query(() => PaginationClass)\n @UseMiddleware(paginationOptionsPublic ? blankMiddleware : authMiddleware)\n async [`${nameCamel}Pagination`](\n @Arg('filter', () => String, {nullable: true}) filter?: string,\n @Arg('sort', () => String, {nullable: true}) sort?: string,\n @Arg('before', () => Date, {nullable: true}) before?: Date,\n @Arg('after', () => Date, {nullable: true}) after?: Date,\n @Arg('limit', () => Number, {nullable: true}) limitArg?: number\n ): Promise<{\n items: ClassModelTYPE[];\n hasNext: boolean;\n params: any;\n }> {\n const limit = limitArg || 10;\n\n const copyParams = pickBy(\n {\n filter,\n sort,\n before,\n after,\n limit,\n },\n identity\n );\n\n log(`${nameCamel}Pagination -->`, copyParams);\n\n try {\n // Apply it from the methods\n if (paginationOptions && paginationOptions.method) {\n return await paginationOptions.method(copyParams);\n }\n\n const bucket = ClassModel.getBucketName();\n\n const query = `\n SELECT ${modelKeys.join(',')}\n FROM \\`${bucket}\\` ${nameCamel}\n WHERE ${nameCamel}._type = \"${_type}\"\n LIMIT ${limit};\n `;\n\n const [errorFetching, data = []] = await awaitTo(\n ClassModel.customQuery<any>({\n limit,\n query,\n params: copyParams,\n })\n );\n\n if (errorFetching) {\n throw errorFetching;\n }\n\n const [rows = [], options = {hasNext: false, params: copyParams}] = data;\n\n const dataToSend = rows.map((d) => ClassModel.parse(d));\n\n return {items: dataToSend, ...options};\n } catch (error) {\n log(`error paginating ${nameCamel}`, error);\n return {items: [], hasNext: false, params: copyParams};\n }\n }\n\n @Query(() => ClassModelType)\n @UseMiddleware(getByIdOptionsPublic ? blankMiddleware : authMiddleware)\n async [`${nameCamel}Get`](\n @Arg('id', () => String, {nullable: false}) id: string,\n @Arg('owner', () => String, {nullable: true}) owner?: string\n ): Promise<typeof ClassModelType> {\n try {\n log(`${nameCamel}Get -->`, {id, owner});\n // Apply it from the methods\n if (getByIdOptions && getByIdOptions.method) {\n return await getByIdOptions.method({id, owner});\n }\n\n // TODO check if we own this payment method\n const foundDocument = await ClassModel.findById(id);\n if (!foundDocument) {\n throw new Error(`${nameCamel} not found`);\n }\n\n return foundDocument;\n } catch (error) {\n log(`error finding ${nameCamel}`, error);\n return null;\n }\n }\n\n @Mutation(() => ClassResType)\n @UseMiddleware(deleteByIdOptionsPublic ? blankMiddleware : authMiddleware)\n async [`${nameCamel}Delete`](\n @Arg('id', () => String, {nullable: false}) id: string,\n @Arg('owner', () => String, {nullable: true}) owner?: string\n ): Promise<ResType> {\n log(`${nameCamel}Delete -->`, {id, owner});\n try {\n // Apply it from the methods\n if (deleteByIdOptions && deleteByIdOptions.method) {\n return await deleteByIdOptions.method({id, owner});\n }\n\n // TODO check if we own this payment method\n const deleted = await ClassModel.delete(id);\n if (!deleted) {\n throw new Error(`${nameCamel} not deleted`);\n }\n\n return {\n success: true,\n };\n } catch (error) {\n log(`error deleting ${nameCamel}`, error);\n return {success: false, message: error && error.message};\n }\n }\n\n @Mutation(() => ClassResType)\n @UseMiddleware(createUpdateOptionsPublic ? blankMiddleware : authMiddleware)\n async [`${nameCamel}Create`](\n // @ts-ignore\n @Arg('args', () => ClassModelType) args: ClassModelType\n ): Promise<ResType> {\n log(`${nameCamel}Create -->`, args);\n\n try {\n // Apply it from the methods\n if (createUpdateOptions && createUpdateOptions.method) {\n return await createUpdateOptions.method(args);\n }\n\n // If updating\n const createdOrUpdate = await createUpdate({\n model: ClassModel,\n data: {\n ...args,\n },\n ...args, // id and owner if it exists\n });\n\n if (createdOrUpdate) {\n return {success: true, data: createdOrUpdate};\n }\n\n throw new Error(`error creating ${nameCamel} method `);\n } catch (err) {\n console.error(err && err.message, err);\n return {success: false, message: err && err.message};\n }\n }\n }\n\n // GQL\n // { FRAGMENT, GET, DELETE, CREATE, PAGE }\n const client = generateClient({\n name,\n fields: modelKeys,\n });\n\n return {\n resType: ClassResType as unknown as ResType,\n pagination: PaginationClass,\n resolver: ResolverClass,\n modelKeys,\n client,\n };\n};\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { DocumentNode } from 'graphql';
|
|
2
|
-
interface ClientModels {
|
|
3
|
-
name: string;
|
|
4
|
-
client: Record<string, DocumentNode>;
|
|
5
|
-
}
|
|
6
|
-
interface IWriteClient {
|
|
7
|
-
path: string;
|
|
8
|
-
clients: ClientModels[];
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Morpheus in actions
|
|
12
|
-
*/
|
|
13
|
-
export declare const writeAllClientSchemas: ({ clients, path }: IWriteClient) => Promise<void>;
|
|
14
|
-
export {};
|
|
@@ -1,171 +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 (_) 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 __rest = (this && this.__rest) || function (s, e) {
|
|
39
|
-
var t = {};
|
|
40
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
41
|
-
t[p] = s[p];
|
|
42
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
43
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
44
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
45
|
-
t[p[i]] = s[p[i]];
|
|
46
|
-
}
|
|
47
|
-
return t;
|
|
48
|
-
};
|
|
49
|
-
var __values = (this && this.__values) || function(o) {
|
|
50
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
51
|
-
if (m) return m.call(o);
|
|
52
|
-
if (o && typeof o.length === "number") return {
|
|
53
|
-
next: function () {
|
|
54
|
-
if (o && i >= o.length) o = void 0;
|
|
55
|
-
return { value: o && o[i++], done: !o };
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
59
|
-
};
|
|
60
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
61
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
62
|
-
};
|
|
63
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
|
-
exports.writeAllClientSchemas = void 0;
|
|
65
|
-
/**
|
|
66
|
-
* Define all models that should be morphed
|
|
67
|
-
*/
|
|
68
|
-
var ts_morph_1 = require("ts-morph");
|
|
69
|
-
var isEmpty_1 = __importDefault(require("lodash/isEmpty"));
|
|
70
|
-
var utils_1 = require("../../utils");
|
|
71
|
-
var writer_1 = require("../writer");
|
|
72
|
-
var config_1 = require("../../config");
|
|
73
|
-
/**
|
|
74
|
-
* Morpheus in actions
|
|
75
|
-
*/
|
|
76
|
-
var writeAllClientSchemas = function (_a) {
|
|
77
|
-
var clients = _a.clients, path = _a.path;
|
|
78
|
-
return __awaiter(void 0, void 0, void 0, function () {
|
|
79
|
-
var writeFilesTasks, allFileExports;
|
|
80
|
-
return __generator(this, function (_b) {
|
|
81
|
-
switch (_b.label) {
|
|
82
|
-
case 0:
|
|
83
|
-
if (!config_1.isDev) {
|
|
84
|
-
return [2 /*return*/];
|
|
85
|
-
}
|
|
86
|
-
writeFilesTasks = clients.map(function (clt) {
|
|
87
|
-
var e_1, _a;
|
|
88
|
-
var modelName = clt.name;
|
|
89
|
-
var nameSNAKE_CASE = (0, utils_1.toSnakeUpper)(modelName);
|
|
90
|
-
// write fragments and all queries
|
|
91
|
-
var _b = clt.client, FRAGMENT = _b.FRAGMENT, GET = _b.GET, PAGE = _b.PAGE, DELETE = _b.DELETE, CREATE = _b.CREATE, otherClient = __rest(_b, ["FRAGMENT", "GET", "PAGE", "DELETE", "CREATE"]);
|
|
92
|
-
var constStatements = [
|
|
93
|
-
{
|
|
94
|
-
name: "".concat(nameSNAKE_CASE, "_FRAGMENT"),
|
|
95
|
-
value: FRAGMENT,
|
|
96
|
-
leadingTrivia: "/** ".concat(nameSNAKE_CASE, " Fragment **/"),
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
name: "".concat(nameSNAKE_CASE, "_CREATE"),
|
|
100
|
-
value: CREATE,
|
|
101
|
-
leadingTrivia: "/** ".concat(nameSNAKE_CASE, " Create Mutation **/"),
|
|
102
|
-
},
|
|
103
|
-
{ name: "".concat(nameSNAKE_CASE, "_DELETE"), value: DELETE },
|
|
104
|
-
{ name: "".concat(nameSNAKE_CASE, "_GET"), value: GET },
|
|
105
|
-
{ name: "".concat(nameSNAKE_CASE, "_PAGE"), value: PAGE },
|
|
106
|
-
];
|
|
107
|
-
try {
|
|
108
|
-
// Add other defined queries
|
|
109
|
-
for (var _c = __values(Object.keys(otherClient)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
110
|
-
var keyQuery = _d.value;
|
|
111
|
-
if (!(0, isEmpty_1.default)(keyQuery)) {
|
|
112
|
-
constStatements.push({
|
|
113
|
-
name: keyQuery,
|
|
114
|
-
value: otherClient["".concat(keyQuery)],
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
120
|
-
finally {
|
|
121
|
-
try {
|
|
122
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
123
|
-
}
|
|
124
|
-
finally { if (e_1) throw e_1.error; }
|
|
125
|
-
}
|
|
126
|
-
return {
|
|
127
|
-
filename: nameSNAKE_CASE,
|
|
128
|
-
task: (0, writer_1.writeTsFile)({
|
|
129
|
-
pathToClient: path,
|
|
130
|
-
filename: nameSNAKE_CASE,
|
|
131
|
-
variables: constStatements.map(function (con) { return ({
|
|
132
|
-
name: con.name,
|
|
133
|
-
initializer: JSON.stringify(con.value),
|
|
134
|
-
leadingTrivia: function (writer) {
|
|
135
|
-
writer.writeLine('\n');
|
|
136
|
-
if (con === null || con === void 0 ? void 0 : con.leadingTrivia) {
|
|
137
|
-
writer.writeLine(con.leadingTrivia);
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
trailingTrivia: function (writer) { return writer.writeLine('\n'); },
|
|
141
|
-
}); }),
|
|
142
|
-
}),
|
|
143
|
-
};
|
|
144
|
-
});
|
|
145
|
-
// write all files
|
|
146
|
-
return [4 /*yield*/, Promise.all(writeFilesTasks.map(function (i) { return i.task; }))];
|
|
147
|
-
case 1:
|
|
148
|
-
// write all files
|
|
149
|
-
_b.sent();
|
|
150
|
-
allFileExports = writeFilesTasks
|
|
151
|
-
.map(function (i) { return i.filename; })
|
|
152
|
-
.map(function (c) { return ({
|
|
153
|
-
kind: ts_morph_1.StructureKind.ExportDeclaration,
|
|
154
|
-
// namespaceExport: "*",
|
|
155
|
-
moduleSpecifier: "./".concat(c),
|
|
156
|
-
}); });
|
|
157
|
-
// write final index file
|
|
158
|
-
return [4 /*yield*/, (0, writer_1.writeTsFile)({
|
|
159
|
-
filename: 'index',
|
|
160
|
-
exports: allFileExports,
|
|
161
|
-
})];
|
|
162
|
-
case 2:
|
|
163
|
-
// write final index file
|
|
164
|
-
_b.sent();
|
|
165
|
-
return [2 /*return*/];
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
};
|
|
170
|
-
exports.writeAllClientSchemas = writeAllClientSchemas;
|
|
171
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/automate/morpheus/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Define all models that should be morphed\n */\nimport {ExportDeclarationStructure, StructureKind} from 'ts-morph';\nimport isEmpty from 'lodash/isEmpty';\nimport {DocumentNode} from 'graphql';\n\nimport {toSnakeUpper} from '../../utils';\nimport {writeTsFile} from '../writer';\nimport {isDev} from '../../config';\n\ninterface ClientModels {\n name: string;\n client: Record<string, DocumentNode>;\n}\n\ninterface IWriteClient {\n path: string;\n clients: ClientModels[];\n}\n\n/**\n * Morpheus in actions\n */\nexport const writeAllClientSchemas = async ({clients, path}: IWriteClient): Promise<void> => {\n if (!isDev) {\n return;\n }\n // write each file\n const writeFilesTasks = clients.map((clt) => {\n const modelName = clt.name;\n const nameSNAKE_CASE = toSnakeUpper(modelName);\n\n // write fragments and all queries\n const {FRAGMENT, GET, PAGE, DELETE, CREATE, ...otherClient} = clt.client;\n\n const constStatements = [\n {\n name: `${nameSNAKE_CASE}_FRAGMENT`,\n value: FRAGMENT,\n leadingTrivia: `/** ${nameSNAKE_CASE} Fragment **/`,\n },\n {\n name: `${nameSNAKE_CASE}_CREATE`,\n value: CREATE,\n leadingTrivia: `/** ${nameSNAKE_CASE} Create Mutation **/`,\n },\n {name: `${nameSNAKE_CASE}_DELETE`, value: DELETE},\n {name: `${nameSNAKE_CASE}_GET`, value: GET},\n {name: `${nameSNAKE_CASE}_PAGE`, value: PAGE},\n ];\n\n // Add other defined queries\n for (const keyQuery of Object.keys(otherClient)) {\n if (!isEmpty(keyQuery)) {\n constStatements.push({\n name: keyQuery,\n value: (otherClient as any)[`${keyQuery}`],\n });\n }\n }\n\n return {\n filename: nameSNAKE_CASE,\n task: writeTsFile({\n pathToClient: path,\n filename: nameSNAKE_CASE,\n variables: constStatements.map((con) => ({\n name: con.name,\n initializer: JSON.stringify(con.value),\n leadingTrivia: (writer) => {\n writer.writeLine('\\n');\n\n if (con?.leadingTrivia) {\n writer.writeLine(con.leadingTrivia);\n }\n },\n trailingTrivia: (writer) => writer.writeLine('\\n'),\n })),\n }),\n };\n });\n\n // write all files\n await Promise.all(writeFilesTasks.map((i) => i.task));\n\n // write all exports\n const allFileExports: ExportDeclarationStructure[] = writeFilesTasks\n .map((i) => i.filename)\n .map((c) => ({\n kind: StructureKind.ExportDeclaration,\n // namespaceExport: \"*\",\n moduleSpecifier: `./${c}`,\n }));\n\n // write final index file\n await writeTsFile({\n filename: 'index',\n exports: allFileExports,\n });\n};\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { StatementedNodeStructure, VariableDeclarationStructure, OptionalKind, InterfaceDeclarationStructure, ExportDeclarationStructure } from 'ts-morph';
|
|
2
|
-
interface WriteFileProps extends StatementedNodeStructure {
|
|
3
|
-
filename: string;
|
|
4
|
-
variables?: OptionalKind<VariableDeclarationStructure>[];
|
|
5
|
-
interfaces?: OptionalKind<InterfaceDeclarationStructure>[];
|
|
6
|
-
exports?: OptionalKind<ExportDeclarationStructure>[];
|
|
7
|
-
pathToClient?: string;
|
|
8
|
-
}
|
|
9
|
-
export declare const writeTsFile: (props: WriteFileProps) => Promise<any>;
|
|
10
|
-
export {};
|