@visulima/crud 3.0.0-alpha.7 → 3.0.0-alpha.9
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/CHANGELOG.md +41 -0
- package/LICENSE.md +21 -0
- package/dist/adapter/prisma/index.d.cts +39 -0
- package/dist/adapter/prisma/index.d.mts +39 -0
- package/dist/adapter/prisma/index.d.ts +39 -0
- package/dist/adapter/prisma/types.d.cts +31 -0
- package/dist/adapter/prisma/types.d.mts +31 -0
- package/dist/adapter/prisma/types.d.ts +31 -0
- package/dist/adapter/prisma/utils/models-to-route-names.d.cts +5 -0
- package/dist/adapter/prisma/utils/models-to-route-names.d.mts +5 -0
- package/dist/adapter/prisma/utils/models-to-route-names.d.ts +5 -0
- package/dist/adapter/prisma/utils/parse-cursor.d.cts +3 -0
- package/dist/adapter/prisma/utils/parse-cursor.d.mts +3 -0
- package/dist/adapter/prisma/utils/parse-cursor.d.ts +3 -0
- package/dist/adapter/prisma/utils/parse-order-by.d.cts +4 -0
- package/dist/adapter/prisma/utils/parse-order-by.d.mts +4 -0
- package/dist/adapter/prisma/utils/parse-order-by.d.ts +4 -0
- package/dist/adapter/prisma/utils/parse-recursive.d.cts +4 -0
- package/dist/adapter/prisma/utils/parse-recursive.d.mts +4 -0
- package/dist/adapter/prisma/utils/parse-recursive.d.ts +4 -0
- package/dist/adapter/prisma/utils/parse-where.d.cts +4 -0
- package/dist/adapter/prisma/utils/parse-where.d.mts +4 -0
- package/dist/adapter/prisma/utils/parse-where.d.ts +4 -0
- package/dist/base-crud-handler.d.cts +9 -0
- package/dist/base-crud-handler.d.mts +9 -0
- package/dist/base-crud-handler.d.ts +9 -0
- package/dist/handler/create.d.cts +11 -0
- package/dist/handler/create.d.mts +11 -0
- package/dist/handler/create.d.ts +11 -0
- package/dist/handler/delete.d.cts +7 -0
- package/dist/handler/delete.d.mts +7 -0
- package/dist/handler/delete.d.ts +7 -0
- package/dist/handler/list.d.cts +9 -0
- package/dist/handler/list.d.mts +9 -0
- package/dist/handler/list.d.ts +9 -0
- package/dist/handler/read.d.cts +7 -0
- package/dist/handler/read.d.mts +7 -0
- package/dist/handler/read.d.ts +7 -0
- package/dist/handler/update.d.cts +11 -0
- package/dist/handler/update.d.mts +11 -0
- package/dist/handler/update.d.ts +11 -0
- package/dist/index.cjs +13 -0
- package/dist/index.d.cts +6 -0
- package/dist/index.d.mts +6 -127
- package/dist/index.d.ts +6 -127
- package/dist/index.mjs +3 -1085
- package/dist/next/api/edge/index.d.cts +3 -0
- package/dist/next/api/edge/index.d.mts +3 -0
- package/dist/next/api/edge/index.d.ts +3 -0
- package/dist/next/api/node/index.d.cts +4 -0
- package/dist/next/api/node/index.d.mts +4 -0
- package/dist/next/api/node/index.d.ts +4 -0
- package/dist/next/index.cjs +11 -0
- package/dist/next/index.d.cts +2 -0
- package/dist/next/index.d.mts +2 -8
- package/dist/next/index.d.ts +2 -8
- package/dist/next/index.mjs +2 -4863
- package/dist/packem_shared/PrismaAdapter-BTCwgMow.cjs +324 -0
- package/dist/packem_shared/PrismaAdapter-dVBZvBOv.mjs +318 -0
- package/dist/packem_shared/RouteType-Bk3uAK0x.cjs +14 -0
- package/dist/packem_shared/RouteType-CB2xrWdf.mjs +10 -0
- package/dist/packem_shared/base-crud-handler-BRbm1Ki9.cjs +572 -0
- package/dist/packem_shared/base-crud-handler-HgHqhIuP.mjs +587 -0
- package/dist/packem_shared/edgeHandler-3vMMElLT.mjs +16 -0
- package/dist/packem_shared/edgeHandler-CqtcF9J3.cjs +18 -0
- package/dist/packem_shared/get-accessible-routes-C6NF9Iry.cjs +16 -0
- package/dist/packem_shared/get-accessible-routes-sV5SDdFn.mjs +14 -0
- package/dist/packem_shared/models-to-route-names-CdwsK0V1.mjs +9 -0
- package/dist/packem_shared/models-to-route-names-Dv94PzhE.cjs +11 -0
- package/dist/packem_shared/modelsToOpenApi-Bq98YsFg.mjs +706 -0
- package/dist/{index.js → packem_shared/modelsToOpenApi-WQ8Ol6q7.cjs} +65 -452
- package/dist/packem_shared/nodeHandler-2kUmzwin.cjs +16 -0
- package/dist/packem_shared/nodeHandler-BnlkVX2A.mjs +14 -0
- package/dist/query-parser.d.cts +3 -0
- package/dist/query-parser.d.mts +3 -0
- package/dist/query-parser.d.ts +3 -0
- package/dist/swagger/adapter/prisma/index.d.cts +22 -0
- package/dist/swagger/adapter/prisma/index.d.mts +22 -0
- package/dist/swagger/adapter/prisma/index.d.ts +22 -0
- package/dist/swagger/json-schema-parser.d.cts +18 -0
- package/dist/swagger/json-schema-parser.d.mts +18 -0
- package/dist/swagger/json-schema-parser.d.ts +18 -0
- package/dist/swagger/parameters.d.cts +5 -0
- package/dist/swagger/parameters.d.mts +5 -0
- package/dist/swagger/parameters.d.ts +5 -0
- package/dist/swagger/types.d.cts +39 -0
- package/dist/swagger/types.d.mts +39 -0
- package/dist/swagger/types.d.ts +39 -0
- package/dist/swagger/utils/format-example-ref.d.cts +2 -0
- package/dist/swagger/utils/format-example-ref.d.mts +2 -0
- package/dist/swagger/utils/format-example-ref.d.ts +2 -0
- package/dist/swagger/utils/format-schema-ref.d.cts +2 -0
- package/dist/swagger/utils/format-schema-ref.d.mts +2 -0
- package/dist/swagger/utils/format-schema-ref.d.ts +2 -0
- package/dist/swagger/utils/get-models-accessible-routes.d.cts +4 -0
- package/dist/swagger/utils/get-models-accessible-routes.d.mts +4 -0
- package/dist/swagger/utils/get-models-accessible-routes.d.ts +4 -0
- package/dist/swagger/utils/get-swagger-paths.d.cts +12 -0
- package/dist/swagger/utils/get-swagger-paths.d.mts +12 -0
- package/dist/swagger/utils/get-swagger-paths.d.ts +12 -0
- package/dist/swagger/utils/get-swagger-tags.d.cts +4 -0
- package/dist/swagger/utils/get-swagger-tags.d.mts +4 -0
- package/dist/swagger/utils/get-swagger-tags.d.ts +4 -0
- package/dist/types.d.cts +106 -0
- package/dist/types.d.mts +106 -0
- package/dist/types.d.ts +106 -0
- package/dist/utils/format-resource-id.d.cts +2 -0
- package/dist/utils/format-resource-id.d.mts +2 -0
- package/dist/utils/format-resource-id.d.ts +2 -0
- package/dist/utils/get-accessible-routes.d.cts +3 -0
- package/dist/utils/get-accessible-routes.d.mts +3 -0
- package/dist/utils/get-accessible-routes.d.ts +3 -0
- package/dist/utils/get-resource-name-from-url.d.cts +5 -0
- package/dist/utils/get-resource-name-from-url.d.mts +5 -0
- package/dist/utils/get-resource-name-from-url.d.ts +5 -0
- package/dist/utils/get-route-type.d.cts +7 -0
- package/dist/utils/get-route-type.d.mts +7 -0
- package/dist/utils/get-route-type.d.ts +7 -0
- package/dist/utils/is-primitive.d.cts +2 -0
- package/dist/utils/is-primitive.d.mts +2 -0
- package/dist/utils/is-primitive.d.ts +2 -0
- package/dist/utils/validate-adapter-methods.d.cts +3 -0
- package/dist/utils/validate-adapter-methods.d.mts +3 -0
- package/dist/utils/validate-adapter-methods.d.ts +3 -0
- package/package.json +34 -17
- package/dist/chunk-GTXTWDUH.js +0 -77
- package/dist/chunk-GTXTWDUH.js.map +0 -1
- package/dist/chunk-VFQBXTKL.mjs +0 -73
- package/dist/chunk-VFQBXTKL.mjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/next/index.js +0 -4870
- package/dist/next/index.js.map +0 -1
- package/dist/next/index.mjs.map +0 -1
- package/dist/types-C5c2M01-.d.mts +0 -138
- package/dist/types-C5c2M01-.d.ts +0 -138
|
@@ -1,376 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
const modelsToRouteNames = require('./models-to-route-names-Dv94PzhE.cjs');
|
|
4
|
+
const pagination = require('@visulima/pagination');
|
|
5
|
+
const prismaDmmfTransformer = require('@visulima/prisma-dmmf-transformer');
|
|
6
|
+
const getAccessibleRoutes = require('./get-accessible-routes-C6NF9Iry.cjs');
|
|
7
|
+
const RouteType = require('./RouteType-Bk3uAK0x.cjs');
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
const formatSchemaReference = (schemaName) => `#/components/schemas/${schemaName}`;
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// src/index.ts
|
|
13
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
14
|
-
|
|
15
|
-
// src/adapter/prisma/index.ts
|
|
16
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
17
|
-
|
|
18
|
-
// src/adapter/prisma/utils/models-to-route-names.ts
|
|
19
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
20
|
-
var modelsToRouteNames = (mappingsMap, models) => {
|
|
21
|
-
const routesMap = {};
|
|
22
|
-
models.forEach((model) => {
|
|
23
|
-
routesMap[model] = mappingsMap[model].plural;
|
|
24
|
-
});
|
|
25
|
-
return routesMap;
|
|
26
|
-
};
|
|
27
|
-
var models_to_route_names_default = modelsToRouteNames;
|
|
28
|
-
|
|
29
|
-
// src/adapter/prisma/utils/parse-cursor.ts
|
|
30
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
31
|
-
|
|
32
|
-
// src/utils/is-primitive.ts
|
|
33
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
34
|
-
var primitiveTypes = /* @__PURE__ */ new Set(["boolean", "number", "string"]);
|
|
35
|
-
var isPrimitive = (value) => primitiveTypes.has(typeof value);
|
|
36
|
-
var is_primitive_default = isPrimitive;
|
|
37
|
-
|
|
38
|
-
// src/adapter/prisma/utils/parse-cursor.ts
|
|
39
|
-
var parsePrismaCursor = (cursor) => {
|
|
40
|
-
const parsed = {};
|
|
41
|
-
Object.keys(cursor).forEach((key) => {
|
|
42
|
-
const value = cursor[key];
|
|
43
|
-
if (is_primitive_default(value)) {
|
|
44
|
-
parsed[key] = value;
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
if (Object.keys(parsed).length !== 1) {
|
|
48
|
-
throw new Error("cursor needs to be an object with exactly 1 property with a primitive value");
|
|
49
|
-
}
|
|
50
|
-
return parsed;
|
|
51
|
-
};
|
|
52
|
-
var parse_cursor_default = parsePrismaCursor;
|
|
53
|
-
|
|
54
|
-
// src/adapter/prisma/utils/parse-order-by.ts
|
|
55
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
56
|
-
var operatorsAssociation = {
|
|
57
|
-
$asc: "asc",
|
|
58
|
-
$desc: "desc"
|
|
59
|
-
};
|
|
60
|
-
var parsePrismaOrderBy = (orderBy) => {
|
|
61
|
-
const parsed = {};
|
|
62
|
-
Object.keys(orderBy).forEach((key) => {
|
|
63
|
-
const value = orderBy[key];
|
|
64
|
-
parsed[key] = operatorsAssociation[value];
|
|
65
|
-
});
|
|
66
|
-
return parsed;
|
|
67
|
-
};
|
|
68
|
-
var parse_order_by_default = parsePrismaOrderBy;
|
|
69
|
-
|
|
70
|
-
// src/adapter/prisma/utils/parse-recursive.ts
|
|
71
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
72
|
-
var parsePrismaRecursiveField = (select, fieldName) => {
|
|
73
|
-
const parsed = {};
|
|
74
|
-
Object.keys(select).forEach((field) => {
|
|
75
|
-
parsed[field] = select[field] === true ? true : {
|
|
76
|
-
[fieldName]: parsePrismaRecursiveField(select[field], fieldName)
|
|
77
|
-
};
|
|
78
|
-
});
|
|
79
|
-
return parsed;
|
|
80
|
-
};
|
|
81
|
-
var parse_recursive_default = parsePrismaRecursiveField;
|
|
82
|
-
|
|
83
|
-
// src/adapter/prisma/utils/parse-where.ts
|
|
84
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
85
|
-
var isObject = (a) => a instanceof Object;
|
|
86
|
-
var operatorsAssociation2 = {
|
|
87
|
-
$cont: "contains",
|
|
88
|
-
$ends: "endsWith",
|
|
89
|
-
$eq: "equals",
|
|
90
|
-
$gt: "gt",
|
|
91
|
-
$gte: "gte",
|
|
92
|
-
$in: "in",
|
|
93
|
-
$lt: "lt",
|
|
94
|
-
$lte: "lte",
|
|
95
|
-
$neq: "not",
|
|
96
|
-
$notin: "notIn",
|
|
97
|
-
$starts: "startsWith"
|
|
98
|
-
};
|
|
99
|
-
var isDateString = (value) => /^\d{4}-[01]\d-[0-3]\d(?:T[0-2](?:\d:[0-5]){2}\d(?:\.\d+)?(?:Z|[+-][0-2]\d(?::?[0-5]\d)?)?)?$/g.test(value);
|
|
100
|
-
var getSearchValue = (originalValue) => {
|
|
101
|
-
if (isDateString(originalValue)) {
|
|
102
|
-
return new Date(originalValue);
|
|
103
|
-
}
|
|
104
|
-
if (typeof originalValue === "string" && originalValue === "$isnull") {
|
|
105
|
-
return null;
|
|
106
|
-
}
|
|
107
|
-
return originalValue;
|
|
108
|
-
};
|
|
109
|
-
var isRelation = (key, manyRelations) => {
|
|
110
|
-
const splitKey = key.split(".");
|
|
111
|
-
splitKey.splice(-1, 1);
|
|
112
|
-
return manyRelations.includes(splitKey.join("."));
|
|
113
|
-
};
|
|
114
|
-
var parseSimpleField = (value) => {
|
|
115
|
-
const operator = Object.keys(value)[0];
|
|
116
|
-
const prismaOperator = operatorsAssociation2[operator];
|
|
117
|
-
if (prismaOperator) {
|
|
118
|
-
return {
|
|
119
|
-
[prismaOperator]: value[operator]
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
return void 0;
|
|
123
|
-
};
|
|
124
|
-
var parseRelation = (value, key, parsed, manyRelations) => {
|
|
125
|
-
const fields = key.split(".").reverse();
|
|
126
|
-
let formatFields = {};
|
|
127
|
-
fields.forEach((field, index) => {
|
|
128
|
-
if (index === 0) {
|
|
129
|
-
basicParse(value, field, formatFields, manyRelations);
|
|
130
|
-
} else {
|
|
131
|
-
formatFields = {
|
|
132
|
-
[field]: {
|
|
133
|
-
some: formatFields
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
const initialFieldKey = fields.reverse()[0];
|
|
139
|
-
const oldParsed = parsed[initialFieldKey];
|
|
140
|
-
parsed[initialFieldKey] = {
|
|
141
|
-
some: {
|
|
142
|
-
...oldParsed?.some,
|
|
143
|
-
...formatFields[initialFieldKey]?.some
|
|
144
|
-
}
|
|
145
|
-
};
|
|
146
|
-
};
|
|
147
|
-
var parseObjectCombination = (object, manyRelations) => {
|
|
148
|
-
const parsed = {};
|
|
149
|
-
Object.keys(object).forEach((key) => {
|
|
150
|
-
const value = object[key];
|
|
151
|
-
if (isRelation(key, manyRelations)) {
|
|
152
|
-
parseRelation(value, key, parsed, manyRelations);
|
|
153
|
-
} else if (is_primitive_default(value)) {
|
|
154
|
-
parsed[key] = value;
|
|
155
|
-
} else if (isObject(value)) {
|
|
156
|
-
const fieldResult = parseSimpleField(value);
|
|
157
|
-
if (fieldResult) {
|
|
158
|
-
parsed[key] = fieldResult;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
});
|
|
162
|
-
return parsed;
|
|
163
|
-
};
|
|
164
|
-
var basicParse = (value, key, parsed, manyRelations) => {
|
|
165
|
-
if (is_primitive_default(value)) {
|
|
166
|
-
parsed[key] = getSearchValue(value);
|
|
167
|
-
} else {
|
|
168
|
-
switch (key) {
|
|
169
|
-
case "$and": {
|
|
170
|
-
if (isObject(value)) {
|
|
171
|
-
parsed.AND = parseObjectCombination(value, manyRelations);
|
|
172
|
-
}
|
|
173
|
-
break;
|
|
174
|
-
}
|
|
175
|
-
case "$not": {
|
|
176
|
-
if (isObject(value)) {
|
|
177
|
-
parsed.NOT = parseObjectCombination(value, manyRelations);
|
|
178
|
-
}
|
|
179
|
-
break;
|
|
180
|
-
}
|
|
181
|
-
case "$or": {
|
|
182
|
-
if (isObject(value)) {
|
|
183
|
-
parsed.OR = parseObjectCombination(value, manyRelations);
|
|
184
|
-
}
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
default: {
|
|
188
|
-
parsed[key] = parseSimpleField(value);
|
|
189
|
-
break;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
};
|
|
194
|
-
var parsePrismaWhere = (where, manyRelations) => {
|
|
195
|
-
const parsed = {};
|
|
196
|
-
Object.keys(where).forEach((key) => {
|
|
197
|
-
const value = where[key];
|
|
198
|
-
if (isRelation(key, manyRelations)) {
|
|
199
|
-
parseRelation(value, key, parsed, manyRelations);
|
|
200
|
-
} else {
|
|
201
|
-
basicParse(value, key, parsed, manyRelations);
|
|
202
|
-
}
|
|
203
|
-
});
|
|
204
|
-
return parsed;
|
|
205
|
-
};
|
|
206
|
-
var parse_where_default = parsePrismaWhere;
|
|
207
|
-
|
|
208
|
-
// src/adapter/prisma/index.ts
|
|
209
|
-
var PrismaAdapter = class {
|
|
210
|
-
models;
|
|
211
|
-
ctorModels;
|
|
212
|
-
dmmf;
|
|
213
|
-
manyRelations;
|
|
214
|
-
primaryKey;
|
|
215
|
-
prismaClient;
|
|
216
|
-
constructor({ manyRelations = {}, models, primaryKey = "id", prismaClient }) {
|
|
217
|
-
this.prismaClient = prismaClient;
|
|
218
|
-
this.primaryKey = primaryKey;
|
|
219
|
-
this.manyRelations = manyRelations;
|
|
220
|
-
this.ctorModels = models;
|
|
221
|
-
}
|
|
222
|
-
async connect() {
|
|
223
|
-
this.prismaClient.$connect();
|
|
224
|
-
}
|
|
225
|
-
async create(resourceName, data, query) {
|
|
226
|
-
return await this.getPrismaDelegate(resourceName).create({
|
|
227
|
-
data,
|
|
228
|
-
include: query.include,
|
|
229
|
-
select: query.select
|
|
230
|
-
});
|
|
231
|
-
}
|
|
232
|
-
async delete(resourceName, resourceId, query) {
|
|
233
|
-
return await this.getPrismaDelegate(resourceName).delete({
|
|
234
|
-
include: query.include,
|
|
235
|
-
select: query.select,
|
|
236
|
-
where: {
|
|
237
|
-
[this.primaryKey]: resourceId
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
async disconnect() {
|
|
242
|
-
await this.prismaClient.$disconnect();
|
|
243
|
-
}
|
|
244
|
-
async getAll(resourceName, query) {
|
|
245
|
-
return await this.getPrismaDelegate(resourceName).findMany({
|
|
246
|
-
cursor: query.cursor,
|
|
247
|
-
distinct: query.distinct,
|
|
248
|
-
include: query.include,
|
|
249
|
-
orderBy: query.orderBy,
|
|
250
|
-
select: query.select,
|
|
251
|
-
skip: query.skip,
|
|
252
|
-
take: query.take,
|
|
253
|
-
where: query.where
|
|
254
|
-
});
|
|
255
|
-
}
|
|
256
|
-
getModels() {
|
|
257
|
-
return this.models ?? [];
|
|
258
|
-
}
|
|
259
|
-
async getOne(resourceName, resourceId, query) {
|
|
260
|
-
const delegate = this.getPrismaDelegate(resourceName);
|
|
261
|
-
const findFunction = delegate.findUnique ?? delegate.findOne;
|
|
262
|
-
return await findFunction({
|
|
263
|
-
include: query.include,
|
|
264
|
-
select: query.select,
|
|
265
|
-
where: {
|
|
266
|
-
[this.primaryKey]: resourceId
|
|
267
|
-
}
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
async getPaginationData(resourceName, query) {
|
|
271
|
-
const total = await this.getPrismaDelegate(resourceName).count({
|
|
272
|
-
distinct: query.distinct,
|
|
273
|
-
where: query.where
|
|
274
|
-
});
|
|
275
|
-
return {
|
|
276
|
-
page: Math.ceil((query.skip ?? 0) / (query.take ?? 0)) + 1,
|
|
277
|
-
pageCount: Math.ceil(total / (query.take ?? 0)),
|
|
278
|
-
total
|
|
279
|
-
};
|
|
280
|
-
}
|
|
281
|
-
// eslint-disable-next-line class-methods-use-this
|
|
282
|
-
handleError(error) {
|
|
283
|
-
console.error(error);
|
|
284
|
-
if (error instanceof Error && error.stack) {
|
|
285
|
-
console.error(error.stack);
|
|
286
|
-
}
|
|
287
|
-
throw error.constructor.name === "PrismaClientKnownRequestError" || error.constructor.name === "PrismaClientValidationError" ? createHttpError__default.default(400, "invalid request, check your server logs for more info") : createHttpError__default.default(500, "an unknown error occured, check your server logs for more info");
|
|
288
|
-
}
|
|
289
|
-
async init() {
|
|
290
|
-
const models = this.ctorModels;
|
|
291
|
-
const prismaDmmfModels = await this.getPrismaClientModels();
|
|
292
|
-
if (models !== void 0) {
|
|
293
|
-
models.forEach((model) => {
|
|
294
|
-
if (!Object.keys(prismaDmmfModels).includes(model)) {
|
|
295
|
-
throw new Error(`Model name ${model} is invalid.`);
|
|
296
|
-
}
|
|
297
|
-
});
|
|
298
|
-
}
|
|
299
|
-
this.models = models ?? Object.keys(prismaDmmfModels);
|
|
300
|
-
}
|
|
301
|
-
async mapModelsToRouteNames() {
|
|
302
|
-
return models_to_route_names_default(await this.getPrismaClientModels(), this.getModels());
|
|
303
|
-
}
|
|
304
|
-
parseQuery(resourceName, query) {
|
|
305
|
-
const parsed = {};
|
|
306
|
-
if (query.select) {
|
|
307
|
-
parsed.select = parse_recursive_default(query.select, "select");
|
|
308
|
-
}
|
|
309
|
-
if (query.include) {
|
|
310
|
-
parsed.include = parse_recursive_default(query.include, "include");
|
|
311
|
-
}
|
|
312
|
-
if (query.originalQuery?.where) {
|
|
313
|
-
parsed.where = parse_where_default(JSON.parse(query.originalQuery.where), this.manyRelations[resourceName] ?? []);
|
|
314
|
-
}
|
|
315
|
-
if (query.orderBy) {
|
|
316
|
-
parsed.orderBy = parse_order_by_default(query.orderBy);
|
|
317
|
-
}
|
|
318
|
-
if (query.limit !== void 0) {
|
|
319
|
-
parsed.take = query.limit;
|
|
320
|
-
}
|
|
321
|
-
if (query.skip !== void 0) {
|
|
322
|
-
parsed.skip = query.skip;
|
|
323
|
-
}
|
|
324
|
-
if (query.originalQuery?.cursor) {
|
|
325
|
-
parsed.cursor = parse_cursor_default(JSON.parse(query.originalQuery.cursor));
|
|
326
|
-
}
|
|
327
|
-
if (query.distinct) {
|
|
328
|
-
parsed.distinct = query.distinct;
|
|
329
|
-
}
|
|
330
|
-
return parsed;
|
|
331
|
-
}
|
|
332
|
-
async update(resourceName, resourceId, data, query) {
|
|
333
|
-
return await this.getPrismaDelegate(resourceName).update({
|
|
334
|
-
data,
|
|
335
|
-
include: query.include,
|
|
336
|
-
select: query.select,
|
|
337
|
-
where: {
|
|
338
|
-
[this.primaryKey]: resourceId
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
|
-
get client() {
|
|
343
|
-
return this.prismaClient;
|
|
344
|
-
}
|
|
345
|
-
getPrismaClientModels = async () => {
|
|
346
|
-
if (this.prismaClient._dmmf !== void 0) {
|
|
347
|
-
this.dmmf = this.prismaClient._dmmf;
|
|
348
|
-
return this.dmmf?.mappingsMap;
|
|
349
|
-
}
|
|
350
|
-
if (this.prismaClient._getDmmf !== void 0) {
|
|
351
|
-
this.dmmf = await this.prismaClient._getDmmf();
|
|
352
|
-
return this.dmmf.mappingsMap;
|
|
353
|
-
}
|
|
354
|
-
throw new Error("Couldn't get prisma client models");
|
|
355
|
-
};
|
|
356
|
-
getPrismaDelegate(resourceName) {
|
|
357
|
-
return this.prismaClient[`${resourceName.charAt(0).toLowerCase()}${resourceName.slice(1)}`];
|
|
358
|
-
}
|
|
359
|
-
};
|
|
360
|
-
|
|
361
|
-
// src/swagger/adapter/prisma/index.ts
|
|
362
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
363
|
-
|
|
364
|
-
// src/swagger/json-schema-parser.ts
|
|
365
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
366
|
-
|
|
367
|
-
// src/swagger/utils/format-schema-ref.ts
|
|
368
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
369
|
-
var formatSchemaReference = (schemaName) => `#/components/schemas/${schemaName}`;
|
|
370
|
-
var format_schema_ref_default = formatSchemaReference;
|
|
371
|
-
|
|
372
|
-
// src/swagger/json-schema-parser.ts
|
|
373
|
-
var getJSONSchemaScalar = (fieldType) => {
|
|
11
|
+
const getJSONSchemaScalar = (fieldType) => {
|
|
374
12
|
switch (fieldType) {
|
|
375
13
|
case "BigInt":
|
|
376
14
|
case "Int": {
|
|
@@ -399,21 +37,22 @@ var getJSONSchemaScalar = (fieldType) => {
|
|
|
399
37
|
}
|
|
400
38
|
}
|
|
401
39
|
};
|
|
402
|
-
|
|
403
|
-
|
|
40
|
+
const PAGINATION_SCHEMA_NAME = "PaginationData";
|
|
41
|
+
const methodsNames = [
|
|
404
42
|
{ methodStart: "createOne", schemaNameStart: "Create" },
|
|
405
43
|
{ methodStart: "updateOne", schemaNameStart: "Update" }
|
|
406
44
|
];
|
|
407
|
-
|
|
45
|
+
class PrismaJsonSchemaParser {
|
|
408
46
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
409
47
|
constructor(dmmf) {
|
|
410
48
|
this.dmmf = dmmf;
|
|
411
49
|
}
|
|
50
|
+
dmmf;
|
|
412
51
|
schemaInputTypes = /* @__PURE__ */ new Map();
|
|
413
52
|
// eslint-disable-next-line class-methods-use-this,@typescript-eslint/explicit-module-boundary-types
|
|
414
53
|
formatInputTypeData(inputType) {
|
|
415
54
|
if (inputType.kind === "object") {
|
|
416
|
-
const reference =
|
|
55
|
+
const reference = formatSchemaReference(inputType.type.name);
|
|
417
56
|
if (inputType.isList) {
|
|
418
57
|
return {
|
|
419
58
|
items: {
|
|
@@ -520,7 +159,7 @@ var PrismaJsonSchemaParser = class {
|
|
|
520
159
|
properties: {
|
|
521
160
|
data: {
|
|
522
161
|
items: {
|
|
523
|
-
$ref:
|
|
162
|
+
$ref: formatSchemaReference(modelName)
|
|
524
163
|
},
|
|
525
164
|
type: "array",
|
|
526
165
|
xml: {
|
|
@@ -529,7 +168,7 @@ var PrismaJsonSchemaParser = class {
|
|
|
529
168
|
}
|
|
530
169
|
},
|
|
531
170
|
meta: {
|
|
532
|
-
$ref:
|
|
171
|
+
$ref: formatSchemaReference(PAGINATION_SCHEMA_NAME)
|
|
533
172
|
}
|
|
534
173
|
},
|
|
535
174
|
type: "object",
|
|
@@ -674,38 +313,29 @@ var PrismaJsonSchemaParser = class {
|
|
|
674
313
|
});
|
|
675
314
|
});
|
|
676
315
|
}
|
|
677
|
-
return { $ref:
|
|
316
|
+
return { $ref: formatSchemaReference(fieldType.type.name) };
|
|
678
317
|
}
|
|
679
318
|
return { type: getJSONSchemaScalar(fieldType.type) };
|
|
680
319
|
}
|
|
681
|
-
}
|
|
682
|
-
var json_schema_parser_default = PrismaJsonSchemaParser;
|
|
320
|
+
}
|
|
683
321
|
|
|
684
|
-
|
|
685
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
686
|
-
var getModelsAccessibleRoutes = (modelNames, models, defaultExposeStrategy = "all") => (
|
|
322
|
+
const getModelsAccessibleRoutes = (modelNames, models, defaultExposeStrategy = "all") => (
|
|
687
323
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
688
324
|
modelNames.reduce((accumulator, modelName) => {
|
|
689
325
|
if (models?.[modelName]) {
|
|
690
326
|
return {
|
|
691
327
|
...accumulator,
|
|
692
|
-
[modelName]:
|
|
328
|
+
[modelName]: getAccessibleRoutes.getAccessibleRoutes(models[modelName].only, models[modelName].exclude, defaultExposeStrategy)
|
|
693
329
|
};
|
|
694
330
|
}
|
|
695
331
|
return {
|
|
696
332
|
...accumulator,
|
|
697
|
-
[modelName]:
|
|
333
|
+
[modelName]: getAccessibleRoutes.getAccessibleRoutes(void 0, void 0, defaultExposeStrategy)
|
|
698
334
|
};
|
|
699
335
|
}, {})
|
|
700
336
|
);
|
|
701
|
-
var get_models_accessible_routes_default = getModelsAccessibleRoutes;
|
|
702
|
-
|
|
703
|
-
// src/swagger/utils/get-swagger-paths.ts
|
|
704
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
705
337
|
|
|
706
|
-
|
|
707
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
708
|
-
var queryParameters = {
|
|
338
|
+
const queryParameters = {
|
|
709
339
|
distinct: {
|
|
710
340
|
description: "Fields to distinctively retrieve",
|
|
711
341
|
name: "distinct",
|
|
@@ -766,8 +396,8 @@ var queryParameters = {
|
|
|
766
396
|
}
|
|
767
397
|
}
|
|
768
398
|
};
|
|
769
|
-
|
|
770
|
-
|
|
399
|
+
const commonQueryParameters = [queryParameters.select, queryParameters.include];
|
|
400
|
+
const listQueryParameters = [
|
|
771
401
|
...commonQueryParameters,
|
|
772
402
|
queryParameters.limit,
|
|
773
403
|
queryParameters.skip,
|
|
@@ -776,39 +406,35 @@ var listQueryParameters = [
|
|
|
776
406
|
queryParameters.page,
|
|
777
407
|
queryParameters.distinct
|
|
778
408
|
];
|
|
779
|
-
|
|
780
|
-
if (routeType ===
|
|
409
|
+
const getQueryParameters = (routeType, additionalQueryParameters = []) => {
|
|
410
|
+
if (routeType === RouteType.RouteType.READ_ALL) {
|
|
781
411
|
return [...listQueryParameters, ...additionalQueryParameters].filter(Boolean);
|
|
782
412
|
}
|
|
783
413
|
return [...commonQueryParameters, ...additionalQueryParameters].filter(Boolean);
|
|
784
414
|
};
|
|
785
415
|
|
|
786
|
-
|
|
787
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
788
|
-
var formatExampleReference = (schemaName) => `#/components/examples/${schemaName}`;
|
|
789
|
-
var format_example_ref_default = formatExampleReference;
|
|
416
|
+
const formatExampleReference = (schemaName) => `#/components/examples/${schemaName}`;
|
|
790
417
|
|
|
791
|
-
|
|
792
|
-
var generateContentForSchema = (schemaName, isArray) => {
|
|
418
|
+
const generateContentForSchema = (schemaName, isArray) => {
|
|
793
419
|
if (isArray) {
|
|
794
420
|
return {
|
|
795
421
|
items: {
|
|
796
|
-
$ref:
|
|
422
|
+
$ref: formatSchemaReference(schemaName)
|
|
797
423
|
},
|
|
798
424
|
type: "array"
|
|
799
425
|
};
|
|
800
426
|
}
|
|
801
427
|
return {
|
|
802
|
-
$ref:
|
|
428
|
+
$ref: formatSchemaReference(schemaName)
|
|
803
429
|
};
|
|
804
430
|
};
|
|
805
|
-
|
|
806
|
-
if (routeType ===
|
|
431
|
+
const generateSwaggerResponse = (routeType, modelName) => {
|
|
432
|
+
if (routeType === RouteType.RouteType.CREATE) {
|
|
807
433
|
return {
|
|
808
434
|
content: {
|
|
809
435
|
content: {
|
|
810
436
|
"application/json": {
|
|
811
|
-
example:
|
|
437
|
+
example: formatExampleReference(modelName),
|
|
812
438
|
schema: generateContentForSchema(modelName)
|
|
813
439
|
}
|
|
814
440
|
},
|
|
@@ -817,12 +443,12 @@ var generateSwaggerResponse = (routeType, modelName) => {
|
|
|
817
443
|
statusCode: 201
|
|
818
444
|
};
|
|
819
445
|
}
|
|
820
|
-
if (routeType ===
|
|
446
|
+
if (routeType === RouteType.RouteType.DELETE) {
|
|
821
447
|
return {
|
|
822
448
|
content: {
|
|
823
449
|
content: {
|
|
824
450
|
"application/json": {
|
|
825
|
-
example:
|
|
451
|
+
example: formatExampleReference(modelName),
|
|
826
452
|
schema: generateContentForSchema(modelName)
|
|
827
453
|
}
|
|
828
454
|
},
|
|
@@ -831,17 +457,17 @@ var generateSwaggerResponse = (routeType, modelName) => {
|
|
|
831
457
|
statusCode: 200
|
|
832
458
|
};
|
|
833
459
|
}
|
|
834
|
-
if (routeType ===
|
|
460
|
+
if (routeType === RouteType.RouteType.READ_ALL) {
|
|
835
461
|
return {
|
|
836
462
|
content: {
|
|
837
463
|
content: {
|
|
838
464
|
"application/json": {
|
|
839
465
|
examples: {
|
|
840
466
|
Default: {
|
|
841
|
-
$ref:
|
|
467
|
+
$ref: formatExampleReference(`${modelName}s`)
|
|
842
468
|
},
|
|
843
469
|
Pagination: {
|
|
844
|
-
$ref:
|
|
470
|
+
$ref: formatExampleReference(`${modelName}Page`)
|
|
845
471
|
}
|
|
846
472
|
},
|
|
847
473
|
schema: {
|
|
@@ -854,12 +480,12 @@ var generateSwaggerResponse = (routeType, modelName) => {
|
|
|
854
480
|
statusCode: 200
|
|
855
481
|
};
|
|
856
482
|
}
|
|
857
|
-
if (routeType ===
|
|
483
|
+
if (routeType === RouteType.RouteType.READ_ONE) {
|
|
858
484
|
return {
|
|
859
485
|
content: {
|
|
860
486
|
content: {
|
|
861
487
|
"application/json": {
|
|
862
|
-
example:
|
|
488
|
+
example: formatExampleReference(modelName),
|
|
863
489
|
schema: generateContentForSchema(modelName)
|
|
864
490
|
}
|
|
865
491
|
},
|
|
@@ -868,12 +494,12 @@ var generateSwaggerResponse = (routeType, modelName) => {
|
|
|
868
494
|
statusCode: 200
|
|
869
495
|
};
|
|
870
496
|
}
|
|
871
|
-
if (routeType ===
|
|
497
|
+
if (routeType === RouteType.RouteType.UPDATE) {
|
|
872
498
|
return {
|
|
873
499
|
content: {
|
|
874
500
|
content: {
|
|
875
501
|
"application/json": {
|
|
876
|
-
example:
|
|
502
|
+
example: formatExampleReference(modelName),
|
|
877
503
|
schema: generateContentForSchema(modelName)
|
|
878
504
|
}
|
|
879
505
|
},
|
|
@@ -884,30 +510,30 @@ var generateSwaggerResponse = (routeType, modelName) => {
|
|
|
884
510
|
}
|
|
885
511
|
return void 0;
|
|
886
512
|
};
|
|
887
|
-
|
|
513
|
+
const generateRequestBody = (schemaStartName, modelName) => {
|
|
888
514
|
return {
|
|
889
515
|
content: {
|
|
890
516
|
"application/json": {
|
|
891
517
|
schema: {
|
|
892
|
-
$ref:
|
|
518
|
+
$ref: formatSchemaReference(`${schemaStartName}${modelName}`)
|
|
893
519
|
}
|
|
894
520
|
}
|
|
895
521
|
}
|
|
896
522
|
};
|
|
897
523
|
};
|
|
898
|
-
|
|
524
|
+
const getRouteTypeMethod = (routeType) => {
|
|
899
525
|
switch (routeType) {
|
|
900
|
-
case
|
|
526
|
+
case RouteType.RouteType.CREATE: {
|
|
901
527
|
return "post";
|
|
902
528
|
}
|
|
903
|
-
case
|
|
529
|
+
case RouteType.RouteType.DELETE: {
|
|
904
530
|
return "delete";
|
|
905
531
|
}
|
|
906
|
-
case
|
|
907
|
-
case
|
|
532
|
+
case RouteType.RouteType.READ_ALL:
|
|
533
|
+
case RouteType.RouteType.READ_ONE: {
|
|
908
534
|
return "get";
|
|
909
535
|
}
|
|
910
|
-
case
|
|
536
|
+
case RouteType.RouteType.UPDATE: {
|
|
911
537
|
return "put";
|
|
912
538
|
}
|
|
913
539
|
default: {
|
|
@@ -915,7 +541,7 @@ var getRouteTypeMethod = (routeType) => {
|
|
|
915
541
|
}
|
|
916
542
|
}
|
|
917
543
|
};
|
|
918
|
-
|
|
544
|
+
const generateSwaggerPathObject = ({
|
|
919
545
|
hasId,
|
|
920
546
|
modelName,
|
|
921
547
|
modelsConfig,
|
|
@@ -953,24 +579,24 @@ var generateSwaggerPathObject = ({
|
|
|
953
579
|
}
|
|
954
580
|
});
|
|
955
581
|
}
|
|
956
|
-
if (routeType ===
|
|
582
|
+
if (routeType === RouteType.RouteType.UPDATE) {
|
|
957
583
|
methods[method].requestBody = generateRequestBody("Update", returnType);
|
|
958
|
-
} else if (routeType ===
|
|
584
|
+
} else if (routeType === RouteType.RouteType.CREATE) {
|
|
959
585
|
methods[method].requestBody = generateRequestBody("Create", returnType);
|
|
960
586
|
}
|
|
961
587
|
}
|
|
962
588
|
});
|
|
963
589
|
return methods;
|
|
964
590
|
};
|
|
965
|
-
|
|
591
|
+
const getSwaggerPaths = ({ models, modelsConfig, routes, routesMap }) => (
|
|
966
592
|
// eslint-disable-next-line unicorn/no-array-reduce
|
|
967
593
|
Object.keys(routes).reduce((accumulator, value) => {
|
|
968
594
|
const routeTypes = routes[value];
|
|
969
595
|
const resourceName = models?.[value]?.name ? models[value].name : routesMap?.[value] ?? value;
|
|
970
596
|
const tag = modelsConfig?.[value]?.tag.name ?? value;
|
|
971
|
-
if (routeTypes.includes(
|
|
597
|
+
if (routeTypes.includes(RouteType.RouteType.CREATE) || routeTypes.includes(RouteType.RouteType.READ_ALL)) {
|
|
972
598
|
const path = `/${resourceName}`;
|
|
973
|
-
const routeTypesToUse = [
|
|
599
|
+
const routeTypesToUse = [RouteType.RouteType.READ_ALL, RouteType.RouteType.CREATE].filter((routeType) => routeTypes.includes(routeType));
|
|
974
600
|
accumulator[path] = generateSwaggerPathObject({
|
|
975
601
|
modelName: value,
|
|
976
602
|
modelsConfig,
|
|
@@ -978,9 +604,9 @@ var getSwaggerPaths = ({ models, modelsConfig, routes, routesMap }) => (
|
|
|
978
604
|
tag
|
|
979
605
|
});
|
|
980
606
|
}
|
|
981
|
-
if (routeTypes.includes(
|
|
607
|
+
if (routeTypes.includes(RouteType.RouteType.READ_ONE) || routeTypes.includes(RouteType.RouteType.UPDATE) || routeTypes.includes(RouteType.RouteType.DELETE)) {
|
|
982
608
|
const path = `/${resourceName}/{id}`;
|
|
983
|
-
const routeTypesToUse = [
|
|
609
|
+
const routeTypesToUse = [RouteType.RouteType.READ_ONE, RouteType.RouteType.UPDATE, RouteType.RouteType.DELETE].filter((routeType) => routeTypes.includes(routeType));
|
|
984
610
|
accumulator[path] = generateSwaggerPathObject({
|
|
985
611
|
hasId: true,
|
|
986
612
|
modelName: value,
|
|
@@ -992,11 +618,8 @@ var getSwaggerPaths = ({ models, modelsConfig, routes, routesMap }) => (
|
|
|
992
618
|
return accumulator;
|
|
993
619
|
}, {})
|
|
994
620
|
);
|
|
995
|
-
var get_swagger_paths_default = getSwaggerPaths;
|
|
996
621
|
|
|
997
|
-
|
|
998
|
-
chunkGTXTWDUH_js.init_cjs_shims();
|
|
999
|
-
var getSwaggerTags = (modelNames, modelsConfig) => modelNames.map((modelName) => {
|
|
622
|
+
const getSwaggerTags = (modelNames, modelsConfig) => modelNames.map((modelName) => {
|
|
1000
623
|
if (modelsConfig?.[modelName]?.tag) {
|
|
1001
624
|
return modelsConfig[modelName].tag;
|
|
1002
625
|
}
|
|
@@ -1004,10 +627,8 @@ var getSwaggerTags = (modelNames, modelsConfig) => modelNames.map((modelName) =>
|
|
|
1004
627
|
name: modelName
|
|
1005
628
|
};
|
|
1006
629
|
});
|
|
1007
|
-
var get_swagger_tags_default = getSwaggerTags;
|
|
1008
630
|
|
|
1009
|
-
|
|
1010
|
-
var overwritePathsExampleWithModel = (swaggerPaths, examples) => {
|
|
631
|
+
const overwritePathsExampleWithModel = (swaggerPaths, examples) => {
|
|
1011
632
|
Object.values(swaggerPaths).forEach((pathSpec) => {
|
|
1012
633
|
Object.values(pathSpec).forEach((methodSpec) => {
|
|
1013
634
|
if (typeof methodSpec.responses === "object") {
|
|
@@ -1030,7 +651,7 @@ var overwritePathsExampleWithModel = (swaggerPaths, examples) => {
|
|
|
1030
651
|
});
|
|
1031
652
|
return swaggerPaths;
|
|
1032
653
|
};
|
|
1033
|
-
|
|
654
|
+
const modelsToOpenApi = async ({
|
|
1034
655
|
crud = { models: {} },
|
|
1035
656
|
defaultExposeStrategy = "all",
|
|
1036
657
|
models: ctorModels,
|
|
@@ -1049,7 +670,7 @@ var modelsToOpenApi = async ({
|
|
|
1049
670
|
if (dmmf === void 0) {
|
|
1050
671
|
throw new TypeError("Couldn't get prisma client models");
|
|
1051
672
|
}
|
|
1052
|
-
const parser = new
|
|
673
|
+
const parser = new PrismaJsonSchemaParser(dmmf);
|
|
1053
674
|
const definitions = parser.parseModels();
|
|
1054
675
|
const dModels = Object.keys(definitions);
|
|
1055
676
|
const schema = JSON.stringify({
|
|
@@ -1066,13 +687,13 @@ var modelsToOpenApi = async ({
|
|
|
1066
687
|
});
|
|
1067
688
|
}
|
|
1068
689
|
const models = ctorModels ?? Object.keys(prismaDmmfModels);
|
|
1069
|
-
const swaggerRoutes =
|
|
1070
|
-
const swaggerTags =
|
|
1071
|
-
const swaggerPaths =
|
|
690
|
+
const swaggerRoutes = getModelsAccessibleRoutes(models, crud.models, defaultExposeStrategy);
|
|
691
|
+
const swaggerTags = getSwaggerTags(models, swagger.models);
|
|
692
|
+
const swaggerPaths = getSwaggerPaths({
|
|
1072
693
|
models: crud.models,
|
|
1073
694
|
modelsConfig: swagger.models,
|
|
1074
695
|
routes: swaggerRoutes,
|
|
1075
|
-
routesMap:
|
|
696
|
+
routesMap: modelsToRouteNames.modelsToRouteNames(prismaDmmfModels, models)
|
|
1076
697
|
});
|
|
1077
698
|
const schemas = JSON.parse(schema.replaceAll("#/definitions", "#/components/schemas"));
|
|
1078
699
|
const examples = parser.getExampleModelsSchemas(dModels, schemas);
|
|
@@ -1083,13 +704,5 @@ var modelsToOpenApi = async ({
|
|
|
1083
704
|
tags: swaggerTags
|
|
1084
705
|
};
|
|
1085
706
|
};
|
|
1086
|
-
var prisma_default = modelsToOpenApi;
|
|
1087
707
|
|
|
1088
|
-
|
|
1089
|
-
enumerable: true,
|
|
1090
|
-
get: function () { return chunkGTXTWDUH_js.RouteType; }
|
|
1091
|
-
});
|
|
1092
|
-
exports.PrismaAdapter = PrismaAdapter;
|
|
1093
|
-
exports.modelsToOpenApi = prisma_default;
|
|
1094
|
-
//# sourceMappingURL=index.js.map
|
|
1095
|
-
//# sourceMappingURL=index.js.map
|
|
708
|
+
module.exports = modelsToOpenApi;
|