sonamu 0.5.0 → 0.5.1
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/api/context.d.ts +4 -1
- package/dist/api/context.d.ts.map +1 -1
- package/dist/api/decorators.d.ts.map +1 -1
- package/dist/api/decorators.js +1 -1
- package/dist/api/decorators.js.map +1 -1
- package/dist/api/sonamu.d.ts +7 -6
- package/dist/api/sonamu.d.ts.map +1 -1
- package/dist/api/sonamu.js +1 -1
- package/dist/api/sonamu.js.map +1 -1
- package/dist/bin/build-config.d.ts +4 -0
- package/dist/bin/build-config.d.ts.map +1 -1
- package/dist/bin/build-config.js +1 -1
- package/dist/bin/build-config.js.map +1 -1
- package/dist/bin/cli-wrapper.js +1 -1
- package/dist/bin/cli-wrapper.js.map +1 -1
- package/dist/bin/cli.js +1 -1
- package/dist/bin/cli.js.map +1 -1
- package/dist/database/base-model.d.ts +8 -1
- package/dist/database/base-model.d.ts.map +1 -1
- package/dist/database/base-model.js +1 -1
- package/dist/database/base-model.js.map +1 -1
- package/dist/database/db.js +1 -1
- package/dist/database/db.js.map +1 -1
- package/dist/file-storage/driver.d.ts +3 -0
- package/dist/file-storage/driver.d.ts.map +1 -1
- package/dist/file-storage/driver.js +1 -1
- package/dist/file-storage/driver.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/stream/index.d.ts +2 -0
- package/dist/stream/index.d.ts.map +1 -0
- package/dist/stream/index.js +2 -0
- package/dist/stream/index.js.map +1 -0
- package/dist/stream/sse.d.ts +13 -0
- package/dist/stream/sse.d.ts.map +1 -0
- package/dist/stream/sse.js +2 -0
- package/dist/stream/sse.js.map +1 -0
- package/dist/types/types.d.ts +5 -3
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/types.js.map +1 -1
- package/package.json +6 -4
- package/src/api/context.ts +10 -5
- package/src/api/decorators.ts +1 -3
- package/src/api/sonamu.ts +60 -26
- package/src/bin/build-config.ts +5 -0
- package/src/bin/cli-wrapper.ts +20 -6
- package/src/bin/cli.ts +16 -21
- package/src/database/base-model.ts +29 -3
- package/src/database/db.ts +1 -1
- package/src/file-storage/driver.ts +10 -0
- package/src/index.ts +1 -0
- package/src/stream/index.ts +1 -0
- package/src/stream/sse.ts +49 -0
- package/src/types/types.ts +10 -4
- package/tsconfig.json +4 -0
- package/dist/api/sonamu.types.d.ts +0 -30
- package/dist/api/sonamu.types.d.ts.map +0 -1
- package/dist/api/sonamu.types.js +0 -2
- package/dist/api/sonamu.types.js.map +0 -1
- package/dist/base-model-CEB0H0aO.d.mts +0 -43
- package/dist/base-model-CrqDMYhI.d.ts +0 -43
- package/dist/bin/cli-wrapper.d.mts +0 -1
- package/dist/bin/cli-wrapper.mjs +0 -43
- package/dist/bin/cli-wrapper.mjs.map +0 -1
- package/dist/bin/cli.d.mts +0 -2
- package/dist/bin/cli.mjs +0 -907
- package/dist/bin/cli.mjs.map +0 -1
- package/dist/chunk-2WAC2GER.js +0 -7625
- package/dist/chunk-2WAC2GER.js.map +0 -1
- package/dist/chunk-C3IPIF6O.mjs +0 -1581
- package/dist/chunk-C3IPIF6O.mjs.map +0 -1
- package/dist/chunk-EXHKSVTE.js +0 -280
- package/dist/chunk-EXHKSVTE.js.map +0 -1
- package/dist/chunk-FCERKIIF.mjs +0 -7623
- package/dist/chunk-FCERKIIF.mjs.map +0 -1
- package/dist/chunk-HGIBJYOU.mjs +0 -231
- package/dist/chunk-HGIBJYOU.mjs.map +0 -1
- package/dist/chunk-JKSOJRQA.mjs +0 -280
- package/dist/chunk-JKSOJRQA.mjs.map +0 -1
- package/dist/chunk-OTKKFP3Y.js +0 -1581
- package/dist/chunk-OTKKFP3Y.js.map +0 -1
- package/dist/chunk-PTFDTOJU.mjs +0 -19
- package/dist/chunk-PTFDTOJU.mjs.map +0 -1
- package/dist/chunk-UZ2IY5VE.js +0 -231
- package/dist/chunk-UZ2IY5VE.js.map +0 -1
- package/dist/database/drivers/knex/base-model.d.mts +0 -16
- package/dist/database/drivers/knex/base-model.d.ts +0 -16
- package/dist/database/drivers/knex/base-model.js +0 -55
- package/dist/database/drivers/knex/base-model.js.map +0 -1
- package/dist/database/drivers/knex/base-model.mjs +0 -56
- package/dist/database/drivers/knex/base-model.mjs.map +0 -1
- package/dist/database/drivers/kysely/base-model.d.mts +0 -22
- package/dist/database/drivers/kysely/base-model.d.ts +0 -22
- package/dist/database/drivers/kysely/base-model.js +0 -64
- package/dist/database/drivers/kysely/base-model.js.map +0 -1
- package/dist/database/drivers/kysely/base-model.mjs +0 -65
- package/dist/database/drivers/kysely/base-model.mjs.map +0 -1
- package/dist/database/types.d.ts +0 -39
- package/dist/database/types.d.ts.map +0 -1
- package/dist/database/types.js +0 -2
- package/dist/database/types.js.map +0 -1
- package/dist/index.d.mts +0 -813
- package/dist/index.mjs +0 -435
- package/dist/index.mjs.map +0 -1
- package/dist/model-aFgomcdc.d.mts +0 -1112
- package/dist/model-aFgomcdc.d.ts +0 -1112
- package/dist/smd/smd-manager.d.ts +0 -28
- package/dist/smd/smd-manager.d.ts.map +0 -1
- package/dist/smd/smd-manager.js +0 -2
- package/dist/smd/smd-manager.js.map +0 -1
- package/dist/smd/smd.d.ts +0 -40
- package/dist/smd/smd.d.ts.map +0 -1
- package/dist/smd/smd.js +0 -2
- package/dist/smd/smd.js.map +0 -1
package/dist/index.mjs
DELETED
|
@@ -1,435 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
FixtureManager,
|
|
3
|
-
FixtureManagerClass,
|
|
4
|
-
Migrator
|
|
5
|
-
} from "./chunk-C3IPIF6O.mjs";
|
|
6
|
-
import {
|
|
7
|
-
UpsertBuilder,
|
|
8
|
-
isRefField
|
|
9
|
-
} from "./chunk-JKSOJRQA.mjs";
|
|
10
|
-
import {
|
|
11
|
-
AlreadyProcessedException,
|
|
12
|
-
ApiParamType,
|
|
13
|
-
BadRequestException,
|
|
14
|
-
DB,
|
|
15
|
-
DBKnexClass,
|
|
16
|
-
DBKyselyClass,
|
|
17
|
-
DuplicateRowException,
|
|
18
|
-
Entity,
|
|
19
|
-
EntityManager,
|
|
20
|
-
GenerateOptions,
|
|
21
|
-
InternalServerErrorException,
|
|
22
|
-
NotFoundException,
|
|
23
|
-
PathAndCode,
|
|
24
|
-
RenderingNode,
|
|
25
|
-
SQLDateTimeString,
|
|
26
|
-
ServiceUnavailableException,
|
|
27
|
-
SoException,
|
|
28
|
-
Sonamu,
|
|
29
|
-
SonamuQueryMode,
|
|
30
|
-
Syncer,
|
|
31
|
-
TargetNotFoundException,
|
|
32
|
-
TemplateKey,
|
|
33
|
-
TemplateOptions,
|
|
34
|
-
UnauthorizedException,
|
|
35
|
-
api,
|
|
36
|
-
apiParamToTsCode,
|
|
37
|
-
apiParamToTsCodeAsObject,
|
|
38
|
-
apiParamTypeToTsType,
|
|
39
|
-
asArray,
|
|
40
|
-
findApiRootPath,
|
|
41
|
-
findAppRootPath,
|
|
42
|
-
getTextTypeLength,
|
|
43
|
-
getZodObjectFromApi,
|
|
44
|
-
getZodObjectFromApiParams,
|
|
45
|
-
getZodTypeFromApiParamType,
|
|
46
|
-
globAsync,
|
|
47
|
-
hydrate,
|
|
48
|
-
importMultiple,
|
|
49
|
-
isBelongsToOneRelationProp,
|
|
50
|
-
isBigIntegerProp,
|
|
51
|
-
isBooleanProp,
|
|
52
|
-
isCustomJoinClause,
|
|
53
|
-
isDaemonServer,
|
|
54
|
-
isDateProp,
|
|
55
|
-
isDateTimeProp,
|
|
56
|
-
isDecimalProp,
|
|
57
|
-
isDevelopment,
|
|
58
|
-
isDoubleProp,
|
|
59
|
-
isEnumProp,
|
|
60
|
-
isFloatProp,
|
|
61
|
-
isHasManyRelationProp,
|
|
62
|
-
isInDocker,
|
|
63
|
-
isIntegerProp,
|
|
64
|
-
isJsonProp,
|
|
65
|
-
isKnexError,
|
|
66
|
-
isKyselyError,
|
|
67
|
-
isLocal,
|
|
68
|
-
isManyToManyRelationProp,
|
|
69
|
-
isOneToOneRelationProp,
|
|
70
|
-
isProduction,
|
|
71
|
-
isRelationProp,
|
|
72
|
-
isRemote,
|
|
73
|
-
isSoException,
|
|
74
|
-
isStaging,
|
|
75
|
-
isStringProp,
|
|
76
|
-
isTest,
|
|
77
|
-
isTextProp,
|
|
78
|
-
isTimeProp,
|
|
79
|
-
isTimestampProp,
|
|
80
|
-
isUuidProp,
|
|
81
|
-
isVirtualProp,
|
|
82
|
-
nonNullable,
|
|
83
|
-
objToMap,
|
|
84
|
-
propNodeToZodTypeDef,
|
|
85
|
-
propToZodTypeDef,
|
|
86
|
-
registeredApis,
|
|
87
|
-
serializeZodType,
|
|
88
|
-
stream,
|
|
89
|
-
unwrapPromiseOnce,
|
|
90
|
-
zArrayable,
|
|
91
|
-
zodTypeToTsTypeDef,
|
|
92
|
-
zodTypeToZodCode
|
|
93
|
-
} from "./chunk-FCERKIIF.mjs";
|
|
94
|
-
import "./chunk-PTFDTOJU.mjs";
|
|
95
|
-
|
|
96
|
-
// src/api/base-frame.ts
|
|
97
|
-
var BaseFrameClass = class {
|
|
98
|
-
getDB(which) {
|
|
99
|
-
return DB.getDB(which);
|
|
100
|
-
}
|
|
101
|
-
getUpsertBuilder() {
|
|
102
|
-
return new UpsertBuilder();
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
|
-
|
|
106
|
-
// src/exceptions/error-handler.ts
|
|
107
|
-
function setupErrorHandler(server) {
|
|
108
|
-
server.setErrorHandler((error, request, reply) => {
|
|
109
|
-
error.statusCode ??= 400;
|
|
110
|
-
if (isSoException(error) && error.payload && Array.isArray(error.payload)) {
|
|
111
|
-
const issues = error.payload;
|
|
112
|
-
const [issue] = issues;
|
|
113
|
-
const message = `${issue.message} (${issue.path.join("/")})`;
|
|
114
|
-
request.log.error(`${error.statusCode} ${message}`);
|
|
115
|
-
reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({
|
|
116
|
-
name: error.name,
|
|
117
|
-
code: error.code,
|
|
118
|
-
message,
|
|
119
|
-
validationErrors: error.validation,
|
|
120
|
-
issues
|
|
121
|
-
});
|
|
122
|
-
} else {
|
|
123
|
-
request.log.error(`${error.statusCode} ${error.message}`);
|
|
124
|
-
reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({
|
|
125
|
-
name: error.name,
|
|
126
|
-
code: error.code,
|
|
127
|
-
message: error.message,
|
|
128
|
-
validationErrors: error.validation
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// src/entity/entity-utils.ts
|
|
135
|
-
import inflection from "inflection";
|
|
136
|
-
var p = {
|
|
137
|
-
integer,
|
|
138
|
-
bigInteger,
|
|
139
|
-
text,
|
|
140
|
-
string,
|
|
141
|
-
float,
|
|
142
|
-
double,
|
|
143
|
-
decimal,
|
|
144
|
-
boolean,
|
|
145
|
-
date,
|
|
146
|
-
dateTime,
|
|
147
|
-
time,
|
|
148
|
-
timestamp,
|
|
149
|
-
json,
|
|
150
|
-
uuid,
|
|
151
|
-
enums,
|
|
152
|
-
virtual,
|
|
153
|
-
relationOneToOne,
|
|
154
|
-
relationBelongsToOne,
|
|
155
|
-
relationHasMany,
|
|
156
|
-
relationManyToMany
|
|
157
|
-
};
|
|
158
|
-
function integer(name, option) {
|
|
159
|
-
return {
|
|
160
|
-
name,
|
|
161
|
-
type: "integer",
|
|
162
|
-
...option
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
function bigInteger(name, option) {
|
|
166
|
-
return {
|
|
167
|
-
name,
|
|
168
|
-
type: "bigInteger",
|
|
169
|
-
...option
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
function text(name, option) {
|
|
173
|
-
return {
|
|
174
|
-
name,
|
|
175
|
-
type: "text",
|
|
176
|
-
...option
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
function string(name, option) {
|
|
180
|
-
return {
|
|
181
|
-
name,
|
|
182
|
-
type: "string",
|
|
183
|
-
...option
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
function float(name, option) {
|
|
187
|
-
return {
|
|
188
|
-
name,
|
|
189
|
-
type: "float",
|
|
190
|
-
precision: 8,
|
|
191
|
-
scale: 2,
|
|
192
|
-
...option
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
function double(name, option) {
|
|
196
|
-
return {
|
|
197
|
-
name,
|
|
198
|
-
type: "double",
|
|
199
|
-
precision: 8,
|
|
200
|
-
scale: 2,
|
|
201
|
-
...option
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
function decimal(name, option) {
|
|
205
|
-
return {
|
|
206
|
-
name,
|
|
207
|
-
type: "decimal",
|
|
208
|
-
precision: 8,
|
|
209
|
-
scale: 2,
|
|
210
|
-
...option
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
function boolean(name, option) {
|
|
214
|
-
return {
|
|
215
|
-
name,
|
|
216
|
-
type: "boolean",
|
|
217
|
-
...option
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
function date(name, option) {
|
|
221
|
-
if (option?.now === true) {
|
|
222
|
-
delete option.now;
|
|
223
|
-
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
224
|
-
}
|
|
225
|
-
return {
|
|
226
|
-
name,
|
|
227
|
-
type: "date",
|
|
228
|
-
...option
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
function dateTime(name, option) {
|
|
232
|
-
if (option?.now === true) {
|
|
233
|
-
delete option.now;
|
|
234
|
-
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
235
|
-
}
|
|
236
|
-
return {
|
|
237
|
-
name,
|
|
238
|
-
type: "datetime",
|
|
239
|
-
...option
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
function time(name, option) {
|
|
243
|
-
if (option?.now === true) {
|
|
244
|
-
delete option.now;
|
|
245
|
-
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
246
|
-
}
|
|
247
|
-
return {
|
|
248
|
-
name,
|
|
249
|
-
type: "time",
|
|
250
|
-
...option
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
function timestamp(name, option) {
|
|
254
|
-
if (option?.now === true) {
|
|
255
|
-
delete option.now;
|
|
256
|
-
option.dbDefault = "CURRENT_TIMESTAMP";
|
|
257
|
-
}
|
|
258
|
-
return {
|
|
259
|
-
name,
|
|
260
|
-
type: "timestamp",
|
|
261
|
-
...option
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
function json(name, option) {
|
|
265
|
-
return {
|
|
266
|
-
name,
|
|
267
|
-
type: "json",
|
|
268
|
-
...option
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
function uuid(name, option) {
|
|
272
|
-
return {
|
|
273
|
-
name,
|
|
274
|
-
type: "uuid",
|
|
275
|
-
...option
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
function enums(name, option) {
|
|
279
|
-
return {
|
|
280
|
-
name,
|
|
281
|
-
type: "enum",
|
|
282
|
-
id: option.id ?? `$Model${inflection.camelize(name)}`,
|
|
283
|
-
...option
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
function virtual(name, option) {
|
|
287
|
-
return {
|
|
288
|
-
name,
|
|
289
|
-
type: "virtual",
|
|
290
|
-
...option
|
|
291
|
-
};
|
|
292
|
-
}
|
|
293
|
-
function relationOneToOne(name, option) {
|
|
294
|
-
return {
|
|
295
|
-
name,
|
|
296
|
-
type: "relation",
|
|
297
|
-
relationType: "OneToOne",
|
|
298
|
-
...option
|
|
299
|
-
};
|
|
300
|
-
}
|
|
301
|
-
function relationBelongsToOne(name, option) {
|
|
302
|
-
option.useConstraint = option.useConstraint ?? true;
|
|
303
|
-
return {
|
|
304
|
-
name,
|
|
305
|
-
type: "relation",
|
|
306
|
-
relationType: "BelongsToOne",
|
|
307
|
-
...option
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
function relationHasMany(name, option) {
|
|
311
|
-
return {
|
|
312
|
-
name,
|
|
313
|
-
type: "relation",
|
|
314
|
-
relationType: "HasMany",
|
|
315
|
-
...option
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
|
-
function relationManyToMany(name, option) {
|
|
319
|
-
return {
|
|
320
|
-
name,
|
|
321
|
-
type: "relation",
|
|
322
|
-
relationType: "ManyToMany",
|
|
323
|
-
...option
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
var i = {
|
|
327
|
-
index,
|
|
328
|
-
unique
|
|
329
|
-
};
|
|
330
|
-
function index(columns) {
|
|
331
|
-
return {
|
|
332
|
-
type: "index",
|
|
333
|
-
columns: asArray(columns)
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
function unique(columns) {
|
|
337
|
-
return {
|
|
338
|
-
type: "unique",
|
|
339
|
-
columns: asArray(columns)
|
|
340
|
-
};
|
|
341
|
-
}
|
|
342
|
-
export {
|
|
343
|
-
AlreadyProcessedException,
|
|
344
|
-
ApiParamType,
|
|
345
|
-
BadRequestException,
|
|
346
|
-
BaseFrameClass,
|
|
347
|
-
DB,
|
|
348
|
-
DBKnexClass,
|
|
349
|
-
DBKyselyClass,
|
|
350
|
-
DuplicateRowException,
|
|
351
|
-
Entity,
|
|
352
|
-
EntityManager,
|
|
353
|
-
FixtureManager,
|
|
354
|
-
FixtureManagerClass,
|
|
355
|
-
GenerateOptions,
|
|
356
|
-
InternalServerErrorException,
|
|
357
|
-
Migrator,
|
|
358
|
-
NotFoundException,
|
|
359
|
-
PathAndCode,
|
|
360
|
-
RenderingNode,
|
|
361
|
-
SQLDateTimeString,
|
|
362
|
-
ServiceUnavailableException,
|
|
363
|
-
SoException,
|
|
364
|
-
Sonamu,
|
|
365
|
-
SonamuQueryMode,
|
|
366
|
-
Syncer,
|
|
367
|
-
TargetNotFoundException,
|
|
368
|
-
TemplateKey,
|
|
369
|
-
TemplateOptions,
|
|
370
|
-
UnauthorizedException,
|
|
371
|
-
UpsertBuilder,
|
|
372
|
-
api,
|
|
373
|
-
apiParamToTsCode,
|
|
374
|
-
apiParamToTsCodeAsObject,
|
|
375
|
-
apiParamTypeToTsType,
|
|
376
|
-
asArray,
|
|
377
|
-
findApiRootPath,
|
|
378
|
-
findAppRootPath,
|
|
379
|
-
getTextTypeLength,
|
|
380
|
-
getZodObjectFromApi,
|
|
381
|
-
getZodObjectFromApiParams,
|
|
382
|
-
getZodTypeFromApiParamType,
|
|
383
|
-
globAsync,
|
|
384
|
-
hydrate,
|
|
385
|
-
i,
|
|
386
|
-
importMultiple,
|
|
387
|
-
isBelongsToOneRelationProp,
|
|
388
|
-
isBigIntegerProp,
|
|
389
|
-
isBooleanProp,
|
|
390
|
-
isCustomJoinClause,
|
|
391
|
-
isDaemonServer,
|
|
392
|
-
isDateProp,
|
|
393
|
-
isDateTimeProp,
|
|
394
|
-
isDecimalProp,
|
|
395
|
-
isDevelopment,
|
|
396
|
-
isDoubleProp,
|
|
397
|
-
isEnumProp,
|
|
398
|
-
isFloatProp,
|
|
399
|
-
isHasManyRelationProp,
|
|
400
|
-
isInDocker,
|
|
401
|
-
isIntegerProp,
|
|
402
|
-
isJsonProp,
|
|
403
|
-
isKnexError,
|
|
404
|
-
isKyselyError,
|
|
405
|
-
isLocal,
|
|
406
|
-
isManyToManyRelationProp,
|
|
407
|
-
isOneToOneRelationProp,
|
|
408
|
-
isProduction,
|
|
409
|
-
isRefField,
|
|
410
|
-
isRelationProp,
|
|
411
|
-
isRemote,
|
|
412
|
-
isSoException,
|
|
413
|
-
isStaging,
|
|
414
|
-
isStringProp,
|
|
415
|
-
isTest,
|
|
416
|
-
isTextProp,
|
|
417
|
-
isTimeProp,
|
|
418
|
-
isTimestampProp,
|
|
419
|
-
isUuidProp,
|
|
420
|
-
isVirtualProp,
|
|
421
|
-
nonNullable,
|
|
422
|
-
objToMap,
|
|
423
|
-
p,
|
|
424
|
-
propNodeToZodTypeDef,
|
|
425
|
-
propToZodTypeDef,
|
|
426
|
-
registeredApis,
|
|
427
|
-
serializeZodType,
|
|
428
|
-
setupErrorHandler,
|
|
429
|
-
stream,
|
|
430
|
-
unwrapPromiseOnce,
|
|
431
|
-
zArrayable,
|
|
432
|
-
zodTypeToTsTypeDef,
|
|
433
|
-
zodTypeToZodCode
|
|
434
|
-
};
|
|
435
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/base-frame.ts","../src/exceptions/error-handler.ts","../src/entity/entity-utils.ts"],"sourcesContent":["import { Knex } from \"knex\";\nimport { DB } from \"../database/db\";\nimport { DBPreset } from \"../database/types\";\nimport { UpsertBuilder } from \"../database/upsert-builder\";\n\nexport abstract class BaseFrameClass {\n getDB(which: DBPreset): Knex {\n return DB.getDB(which) as Knex;\n }\n\n getUpsertBuilder() {\n return new UpsertBuilder<\"knex\">();\n }\n}\n","import { FastifyInstance } from \"fastify\";\nimport { ZodIssue } from \"zod\";\nimport { isSoException } from \"./so-exceptions\";\n\nexport function setupErrorHandler(server: FastifyInstance) {\n server.setErrorHandler((error, request, reply) => {\n error.statusCode ??= 400;\n\n if (isSoException(error) && error.payload && Array.isArray(error.payload)) {\n const issues = error.payload as ZodIssue[];\n const [issue] = issues;\n const message = `${issue.message} (${issue.path.join(\"/\")})`;\n\n request.log.error(`${error.statusCode} ${message}`);\n reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({\n name: error.name,\n code: error.code,\n message: message,\n validationErrors: error.validation,\n issues,\n });\n } else {\n request.log.error(`${error.statusCode} ${error.message}`);\n reply.status(error.statusCode <= 501 ? error.statusCode : 501).send({\n name: error.name,\n code: error.code,\n message: error.message,\n validationErrors: error.validation,\n });\n }\n });\n}\n","import inflection from \"inflection\";\nimport {\n BelongsToOneRelationProp,\n BigIntegerProp,\n BooleanProp,\n DateProp,\n DateTimeProp,\n DecimalProp,\n DistributiveOmit,\n DoubleProp,\n EnumProp,\n FloatProp,\n HasManyRelationProp,\n IntegerProp,\n JsonProp,\n ManyToManyRelationProp,\n OneToOneRelationProp,\n EntityIndex,\n StringProp,\n TextProp,\n TimeProp,\n TimestampProp,\n UuidProp,\n VirtualProp,\n} from \"../types/types\";\nimport { asArray } from \"../utils/model\";\n\nexport const p = {\n integer,\n bigInteger,\n text,\n string,\n float,\n double,\n decimal,\n boolean,\n date,\n dateTime,\n time,\n timestamp,\n json,\n uuid,\n enums,\n virtual,\n relationOneToOne,\n relationBelongsToOne,\n relationHasMany,\n relationManyToMany,\n};\n\nfunction integer(\n name: string,\n option?: Omit<IntegerProp, \"name\" | \"type\">\n): IntegerProp {\n return {\n name,\n type: \"integer\",\n ...option,\n };\n}\nfunction bigInteger(\n name: string,\n option?: Omit<BigIntegerProp, \"name\" | \"type\">\n): BigIntegerProp {\n return {\n name,\n type: \"bigInteger\",\n ...option,\n };\n}\nfunction text(name: string, option: Omit<TextProp, \"name\" | \"type\">): TextProp {\n return {\n name,\n type: \"text\",\n ...option,\n };\n}\nfunction string(\n name: string,\n option: Omit<StringProp, \"name\" | \"type\">\n): StringProp {\n return {\n name,\n type: \"string\",\n ...option,\n };\n}\nfunction float(\n name: string,\n option?: Omit<FloatProp, \"name\" | \"type\">\n): FloatProp {\n return {\n name,\n type: \"float\",\n precision: 8,\n scale: 2,\n ...option,\n };\n}\nfunction double(\n name: string,\n option?: Omit<DoubleProp, \"name\" | \"type\">\n): DoubleProp {\n return {\n name,\n type: \"double\",\n precision: 8,\n scale: 2,\n ...option,\n };\n}\nfunction decimal(\n name: string,\n option?: Omit<DecimalProp, \"name\" | \"type\">\n): DecimalProp {\n return {\n name,\n type: \"decimal\",\n precision: 8,\n scale: 2,\n ...option,\n };\n}\nfunction boolean(\n name: string,\n option?: Omit<BooleanProp, \"name\" | \"type\">\n): BooleanProp {\n return {\n name,\n type: \"boolean\",\n ...option,\n };\n}\nfunction date(\n name: string,\n option?: Omit<DateProp, \"name\" | \"type\"> & { now?: true }\n): DateProp {\n if (option?.now === true) {\n delete option.now;\n option.dbDefault = \"CURRENT_TIMESTAMP\";\n }\n return {\n name,\n type: \"date\",\n ...option,\n };\n}\nfunction dateTime(\n name: string,\n option?: Omit<DateTimeProp, \"name\" | \"type\"> & { now?: true }\n): DateTimeProp {\n if (option?.now === true) {\n delete option.now;\n option.dbDefault = \"CURRENT_TIMESTAMP\";\n }\n return {\n name,\n type: \"datetime\",\n ...option,\n };\n}\nfunction time(\n name: string,\n option?: Omit<TimeProp, \"name\" | \"type\"> & { now?: true }\n): TimeProp {\n if (option?.now === true) {\n delete option.now;\n option.dbDefault = \"CURRENT_TIMESTAMP\";\n }\n return {\n name,\n type: \"time\",\n ...option,\n };\n}\nfunction timestamp(\n name: string,\n option?: Omit<TimestampProp, \"name\" | \"type\"> & { now?: true }\n): TimestampProp {\n if (option?.now === true) {\n delete option.now;\n option.dbDefault = \"CURRENT_TIMESTAMP\";\n }\n return {\n name,\n type: \"timestamp\",\n ...option,\n };\n}\nfunction json(name: string, option: Omit<JsonProp, \"name\" | \"type\">): JsonProp {\n return {\n name,\n type: \"json\",\n ...option,\n };\n}\nfunction uuid(name: string, option: Omit<UuidProp, \"name\" | \"type\">): UuidProp {\n return {\n name,\n type: \"uuid\",\n ...option,\n };\n}\nfunction enums(\n name: string,\n option: Omit<EnumProp, \"name\" | \"type\" | \"id\"> & { id?: string }\n): EnumProp {\n return {\n name,\n type: \"enum\",\n id: option.id ?? `$Model${inflection.camelize(name)}`,\n ...option,\n };\n}\nfunction virtual(\n name: string,\n option: Omit<VirtualProp, \"name\" | \"type\" | \"dbDefault\" | \"toFilter\">\n): VirtualProp {\n return {\n name,\n type: \"virtual\",\n ...option,\n };\n}\nfunction relationOneToOne(\n name: string,\n option: DistributiveOmit<\n OneToOneRelationProp,\n \"name\" | \"type\" | \"relationType\"\n >\n): OneToOneRelationProp {\n return {\n name,\n type: \"relation\",\n relationType: \"OneToOne\",\n ...option,\n };\n}\nfunction relationBelongsToOne(\n name: string,\n option: Omit<BelongsToOneRelationProp, \"name\" | \"type\" | \"relationType\">\n): BelongsToOneRelationProp {\n option.useConstraint = (option.useConstraint ?? true) as false;\n return {\n name,\n type: \"relation\",\n relationType: \"BelongsToOne\",\n ...option,\n };\n}\nfunction relationHasMany(\n name: string,\n option: Omit<HasManyRelationProp, \"name\" | \"type\" | \"relationType\">\n): HasManyRelationProp {\n return {\n name,\n type: \"relation\",\n relationType: \"HasMany\",\n ...option,\n };\n}\nfunction relationManyToMany(\n name: string,\n option: Omit<ManyToManyRelationProp, \"name\" | \"type\" | \"relationType\">\n): ManyToManyRelationProp {\n return {\n name,\n type: \"relation\",\n relationType: \"ManyToMany\",\n ...option,\n };\n}\n\nexport const i = {\n index,\n unique,\n};\n\nfunction index(columns: string | string[]): EntityIndex {\n return {\n type: \"index\",\n columns: asArray(columns),\n };\n}\n\nfunction unique(columns: string | string[]): EntityIndex {\n return {\n type: \"unique\",\n columns: asArray(columns),\n };\n}\n"],"mappings":"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","names":[]}
|