@mrxsys/mrx-core 2.11.0-2-and-276-20251029 → 2.11.0-4-and-276-20251029

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.
Files changed (147) hide show
  1. package/dist/chunk-0d0zd2yg.js +8 -0
  2. package/dist/chunk-12qzn7jw.js +7 -0
  3. package/dist/chunk-441xs5k1.js +53 -0
  4. package/dist/chunk-4v86f7gp.js +59 -0
  5. package/dist/chunk-6w9ja96e.js +9 -0
  6. package/dist/chunk-7t524zqh.js +26 -0
  7. package/dist/chunk-8tffnbpn.js +7 -0
  8. package/dist/chunk-9cgzhc50.js +15 -0
  9. package/dist/chunk-9d3zvgp6.js +9 -0
  10. package/dist/chunk-9dzsj7f2.js +23 -0
  11. package/dist/chunk-9r5anep5.js +11 -0
  12. package/dist/chunk-afd82epa.js +201 -0
  13. package/dist/chunk-afyz8rg5.js +209 -0
  14. package/dist/chunk-dre2fgj0.js +7 -0
  15. package/dist/chunk-e30paw8a.js +101 -0
  16. package/dist/chunk-eeb7yskp.js +61 -0
  17. package/dist/chunk-fs3wm3p4.js +32 -0
  18. package/dist/chunk-grfyngq0.js +39 -0
  19. package/dist/chunk-gtn1kn0z.js +79 -0
  20. package/dist/chunk-jksb9ers.js +7 -0
  21. package/dist/chunk-m3grz32t.js +27 -0
  22. package/dist/chunk-mvrxngm7.js +41 -0
  23. package/dist/chunk-n0n14mf8.js +7 -0
  24. package/dist/chunk-p14h6jfs.js +365 -0
  25. package/dist/chunk-pjv1ekwr.js +284 -0
  26. package/dist/chunk-rz5p4j3p.js +13 -0
  27. package/dist/chunk-spnh9dzk.js +10 -0
  28. package/dist/chunk-sqts8vyk.js +60 -0
  29. package/dist/chunk-w7h898m3.js +14 -0
  30. package/dist/chunk-xhhj1gvj.js +9 -0
  31. package/dist/chunk-z0ct35ft.js +8 -0
  32. package/dist/errors/enums/index.js +7 -0
  33. package/dist/errors/index.js +12 -0
  34. package/dist/errors/utils/index.js +16 -0
  35. package/dist/errors/utils/is-nowarajs-error.ts.d.ts +2 -2
  36. package/dist/modules/data/enums/index.js +7 -0
  37. package/dist/modules/data/index.js +17 -0
  38. package/dist/modules/data/transformers/camel-case.d.ts +2 -2
  39. package/dist/modules/data/transformers/index.js +32 -0
  40. package/dist/modules/data/transformers/kebab-case.d.ts +2 -2
  41. package/dist/modules/data/transformers/pascal-case.d.ts +2 -2
  42. package/dist/modules/data/transformers/snake-case.d.ts +2 -2
  43. package/dist/modules/data/types/index.js +1 -0
  44. package/dist/modules/data/types/transform-object-keys.d.ts +4 -4
  45. package/dist/modules/database/enums/index.js +9 -0
  46. package/dist/modules/database/events/index.js +1 -0
  47. package/dist/modules/database/events/mssql-event-map.d.ts +1 -1
  48. package/dist/modules/database/events/table-event-map.d.ts +1 -1
  49. package/dist/modules/database/index.js +16 -0
  50. package/dist/modules/database/mssql.d.ts +2 -2
  51. package/dist/modules/database/table.d.ts +2 -2
  52. package/dist/modules/database/types/index.js +1 -0
  53. package/dist/modules/elysia/cache/cache.d.ts +1 -1
  54. package/dist/modules/elysia/cache/index.js +90 -0
  55. package/dist/modules/elysia/cache/types/index.js +1 -0
  56. package/dist/modules/elysia/crud/crud.d.ts +2 -2
  57. package/dist/modules/elysia/crud/enums/index.js +7 -0
  58. package/dist/modules/elysia/crud/index.js +153 -0
  59. package/dist/modules/elysia/crud/operations/count.d.ts +3 -3
  60. package/dist/modules/elysia/crud/operations/delete.d.ts +3 -3
  61. package/dist/modules/elysia/crud/operations/deleteOne.d.ts +3 -3
  62. package/dist/modules/elysia/crud/operations/find.d.ts +3 -3
  63. package/dist/modules/elysia/crud/operations/findOne.d.ts +3 -3
  64. package/dist/modules/elysia/crud/operations/index.js +34 -0
  65. package/dist/modules/elysia/crud/operations/insert.d.ts +3 -3
  66. package/dist/modules/elysia/crud/operations/update.d.ts +3 -3
  67. package/dist/modules/elysia/crud/operations/updateOne.d.ts +3 -3
  68. package/dist/modules/elysia/crud/operations/utils/get-db-injection.d.ts +1 -1
  69. package/dist/modules/elysia/crud/types/crud-options.d.ts +1 -1
  70. package/dist/modules/elysia/crud/types/crud-schema-models-type.d.ts +9 -9
  71. package/dist/modules/elysia/crud/types/delete-schema.d.ts +2 -2
  72. package/dist/modules/elysia/crud/types/find-schema.d.ts +3 -3
  73. package/dist/modules/elysia/crud/types/index.js +1 -0
  74. package/dist/modules/elysia/crud/types/insert-schema.d.ts +1 -1
  75. package/dist/modules/elysia/crud/types/properties-schema.d.ts +1 -1
  76. package/dist/modules/elysia/crud/types/response-200-schema.d.ts +1 -1
  77. package/dist/modules/elysia/crud/types/update-schema.d.ts +2 -2
  78. package/dist/modules/elysia/crud/utils/create-adaptive-where-clause-schema.d.ts +1 -1
  79. package/dist/modules/elysia/crud/utils/create-count-response-200-schema.d.ts +1 -1
  80. package/dist/modules/elysia/crud/utils/create-count-schema.d.ts +1 -1
  81. package/dist/modules/elysia/crud/utils/create-delete-schema.d.ts +1 -1
  82. package/dist/modules/elysia/crud/utils/create-filters-schema.d.ts +1 -1
  83. package/dist/modules/elysia/crud/utils/create-find-schema.d.ts +1 -1
  84. package/dist/modules/elysia/crud/utils/create-id-param-schema.d.ts +1 -1
  85. package/dist/modules/elysia/crud/utils/create-insert-schema.d.ts +1 -1
  86. package/dist/modules/elysia/crud/utils/create-order-schema.d.ts +1 -1
  87. package/dist/modules/elysia/crud/utils/create-properties-schema.d.ts +1 -1
  88. package/dist/modules/elysia/crud/utils/create-q-schema.d.ts +1 -1
  89. package/dist/modules/elysia/crud/utils/create-response-200-schema.d.ts +1 -1
  90. package/dist/modules/elysia/crud/utils/create-selected-fields-schema.d.ts +1 -1
  91. package/dist/modules/elysia/crud/utils/create-update-one-schema.d.ts +1 -1
  92. package/dist/modules/elysia/crud/utils/create-update-schema.d.ts +1 -1
  93. package/dist/modules/elysia/crud/utils/index.js +41 -0
  94. package/dist/modules/elysia/db-resolver/db-resolver.d.ts +2 -2
  95. package/dist/modules/elysia/db-resolver/enums/index.js +7 -0
  96. package/dist/modules/elysia/db-resolver/index.js +18 -0
  97. package/dist/modules/elysia/error/enums/index.js +7 -0
  98. package/dist/modules/elysia/error/error.d.ts +5 -0
  99. package/dist/modules/elysia/error/index.d.ts +1 -1
  100. package/dist/modules/elysia/error/index.js +67 -0
  101. package/dist/modules/elysia/microservice/enums/index.js +7 -0
  102. package/dist/modules/elysia/microservice/index.js +100 -0
  103. package/dist/modules/elysia/rate-limit/enums/index.js +7 -0
  104. package/dist/modules/elysia/rate-limit/index.js +81 -0
  105. package/dist/modules/elysia/rate-limit/rate-limit.d.ts +1 -1
  106. package/dist/modules/elysia/rate-limit/types/index.js +1 -0
  107. package/dist/modules/jwt/enums/index.js +11 -0
  108. package/dist/modules/jwt/index.js +51 -0
  109. package/dist/modules/jwt/utils/index.js +9 -0
  110. package/dist/modules/kv-store/bun-redis/bun-redis-store.d.ts +1 -1
  111. package/dist/modules/kv-store/bun-redis/index.js +84 -0
  112. package/dist/modules/kv-store/enums/index.js +7 -0
  113. package/dist/modules/kv-store/ioredis/index.js +86 -0
  114. package/dist/modules/kv-store/ioredis/ioredis-store.d.ts +1 -1
  115. package/dist/modules/kv-store/memory/index.js +9 -0
  116. package/dist/modules/kv-store/memory/memory-store.d.ts +1 -1
  117. package/dist/modules/kv-store/types/index.js +1 -0
  118. package/dist/modules/logger/enums/index.js +7 -0
  119. package/dist/modules/logger/events/index.js +1 -0
  120. package/dist/modules/logger/events/logger-events.d.ts +1 -1
  121. package/dist/modules/logger/index.js +208 -0
  122. package/dist/modules/logger/logger.d.ts +1 -1
  123. package/dist/modules/logger/sinks/console-logger.d.ts +2 -2
  124. package/dist/modules/logger/sinks/devnull-logger.d.ts +1 -1
  125. package/dist/modules/logger/sinks/file-logger/file-logger.d.ts +2 -2
  126. package/dist/modules/logger/sinks/index.js +66 -0
  127. package/dist/modules/logger/types/index.js +1 -0
  128. package/dist/modules/mailer/enums/index.js +7 -0
  129. package/dist/modules/mailer/index.js +55 -0
  130. package/dist/modules/mailer/types/index.js +1 -0
  131. package/dist/modules/repository/index.js +12 -0
  132. package/dist/modules/repository/repository.d.ts +2 -2
  133. package/dist/modules/repository/types/index.js +1 -0
  134. package/dist/modules/repository/types/query-options.d.ts +1 -1
  135. package/dist/modules/singleton-manager/enums/index.js +7 -0
  136. package/dist/modules/singleton-manager/index.js +9 -0
  137. package/dist/modules/totp/enums/index.js +7 -0
  138. package/dist/modules/totp/index.js +104 -0
  139. package/dist/modules/totp/types/index.js +1 -0
  140. package/dist/modules/totp/utils/index.js +76 -0
  141. package/dist/modules/typed-event-emitter/index.js +7 -0
  142. package/dist/modules/typed-event-emitter/types/index.js +1 -0
  143. package/dist/shared/enums/index.js +7 -0
  144. package/dist/shared/types/index.js +1 -0
  145. package/dist/shared/utils/flatten.d.ts +1 -1
  146. package/dist/shared/utils/index.js +30 -0
  147. package/package.json +1 -1
@@ -0,0 +1,365 @@
1
+ // @bun
2
+ import {
3
+ flatten
4
+ } from "./chunk-9dzsj7f2.js";
5
+ import {
6
+ filterByKeyExclusionRecursive
7
+ } from "./chunk-gtn1kn0z.js";
8
+
9
+ // source/modules/elysia/crud/utils/create-count-response-200-schema.ts
10
+ import { t } from "elysia";
11
+ var createCountResponse200Schema = () => t.Object({
12
+ message: t.String(),
13
+ content: t.Number()
14
+ });
15
+
16
+ // source/modules/elysia/crud/utils/is-date-from-elysia-typebox.ts
17
+ import { KindGuard } from "@sinclair/typebox";
18
+ var isDateFromElysiaTypeBox = (schema) => KindGuard.IsUnion(schema) && schema.anyOf.length === 4 && schema.anyOf.some((item) => KindGuard.IsDate(item)) && schema.anyOf.some((item) => KindGuard.IsString(item) && item.format === "date-time") && schema.anyOf.some((item) => KindGuard.IsString(item) && item.format === "date") && schema.anyOf.some((item) => KindGuard.IsNumber(item));
19
+
20
+ // source/modules/elysia/crud/utils/create-adaptive-where-clause-schema.ts
21
+ import { KindGuard as KindGuard2 } from "@sinclair/typebox/type";
22
+ import { t as t2 } from "elysia";
23
+ var createAdaptiveWhereClauseSchema = (schema) => {
24
+ const common = {
25
+ $eq: schema,
26
+ $neq: schema,
27
+ $isNull: t2.Boolean()
28
+ };
29
+ const strNumDate = KindGuard2.IsString(schema) || KindGuard2.IsNumber(schema) || isDateFromElysiaTypeBox(schema) ? {
30
+ $in: t2.Array(schema, { minItems: 1, uniqueItems: true }),
31
+ $nin: t2.Array(schema, { minItems: 1, uniqueItems: true }),
32
+ $like: t2.String(),
33
+ $nlike: t2.String()
34
+ } : {};
35
+ const numDate = KindGuard2.IsNumber(schema) || isDateFromElysiaTypeBox(schema) ? {
36
+ $lt: schema,
37
+ $lte: schema,
38
+ $gt: schema,
39
+ $gte: schema,
40
+ $between: t2.Tuple([schema, schema]),
41
+ $nbetween: t2.Tuple([schema, schema])
42
+ } : {};
43
+ return t2.Partial(t2.Object({ ...common, ...strNumDate, ...numDate }));
44
+ };
45
+
46
+ // source/modules/elysia/crud/utils/create-properties-schema.ts
47
+ import { t as t3 } from "elysia";
48
+ var createPropertiesSchema = (schema) => {
49
+ const { properties } = schema;
50
+ const clauseSchema = {};
51
+ for (const [key, propertySchema] of Object.entries(properties))
52
+ clauseSchema[key] = flatten(t3.Union([
53
+ createAdaptiveWhereClauseSchema(propertySchema),
54
+ propertySchema
55
+ ]));
56
+ return t3.Object(clauseSchema);
57
+ };
58
+
59
+ // source/modules/elysia/crud/utils/create-q-schema.ts
60
+ import { t as t4 } from "elysia/type-system";
61
+ var createQSchema = (schema) => t4.Union([
62
+ t4.Object({
63
+ selectedFields: t4.Union([
64
+ t4.KeyOf(schema),
65
+ t4.Array(t4.KeyOf(schema), {
66
+ minItems: 1,
67
+ uniqueItems: true
68
+ })
69
+ ]),
70
+ value: t4.Union([
71
+ t4.Number(),
72
+ t4.String()
73
+ ])
74
+ }),
75
+ t4.Number(),
76
+ t4.String()
77
+ ]);
78
+
79
+ // source/modules/elysia/crud/utils/create-filters-schema.ts
80
+ import { t as t5 } from "elysia";
81
+ var createFiltersSchema = (schema) => t5.Composite([
82
+ t5.Object({
83
+ $q: createQSchema(schema)
84
+ }),
85
+ createPropertiesSchema(schema)
86
+ ], {
87
+ minProperties: 1
88
+ });
89
+
90
+ // source/modules/elysia/crud/utils/create-count-schema.ts
91
+ import { t as t6 } from "elysia";
92
+ var createCountSchema = (schema) => {
93
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
94
+ "minLength",
95
+ "maxLength",
96
+ "pattern",
97
+ "minimum",
98
+ "maximum",
99
+ "exclusiveMinimum",
100
+ "exclusiveMaximum",
101
+ "multipleOf",
102
+ "minItems",
103
+ "maxItems",
104
+ "maxContains",
105
+ "minContains",
106
+ "minProperties",
107
+ "maxProperties",
108
+ "uniqueItems",
109
+ "minimumTimestamp",
110
+ "maximumTimestamp",
111
+ "exclusiveMinimumTimestamp",
112
+ "exclusiveMaximumTimestamp",
113
+ "multipleOfTimestamp",
114
+ "required",
115
+ "examples",
116
+ "example",
117
+ "default",
118
+ "title",
119
+ "description"
120
+ ]);
121
+ return t6.Partial(t6.Object({
122
+ queryOptions: t6.Partial(t6.Object({
123
+ filters: t6.Union([
124
+ t6.Partial(createFiltersSchema(sanitizedSchema)),
125
+ t6.Array(t6.Partial(createFiltersSchema(sanitizedSchema)))
126
+ ])
127
+ }))
128
+ }));
129
+ };
130
+
131
+ // source/modules/elysia/crud/utils/create-selected-fields-schema.ts
132
+ import { t as t7 } from "elysia/type-system";
133
+ var createSelectedFieldsSchema = (schema) => t7.Union([
134
+ t7.KeyOf(schema),
135
+ t7.Literal("*"),
136
+ t7.Array(t7.KeyOf(schema), {
137
+ minItems: 1,
138
+ uniqueItems: true
139
+ })
140
+ ]);
141
+
142
+ // source/modules/elysia/crud/utils/create-delete-schema.ts
143
+ import { t as t8 } from "elysia";
144
+ var createDeleteSchema = (schema) => {
145
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
146
+ "minLength",
147
+ "maxLength",
148
+ "pattern",
149
+ "minimum",
150
+ "maximum",
151
+ "exclusiveMinimum",
152
+ "exclusiveMaximum",
153
+ "multipleOf",
154
+ "minItems",
155
+ "maxItems",
156
+ "maxContains",
157
+ "minContains",
158
+ "minProperties",
159
+ "maxProperties",
160
+ "uniqueItems",
161
+ "minimumTimestamp",
162
+ "maximumTimestamp",
163
+ "exclusiveMinimumTimestamp",
164
+ "exclusiveMaximumTimestamp",
165
+ "multipleOfTimestamp",
166
+ "required",
167
+ "examples",
168
+ "example",
169
+ "default",
170
+ "title",
171
+ "description"
172
+ ]);
173
+ return t8.Object({
174
+ queryOptions: t8.Object({
175
+ selectedFields: t8.Optional(createSelectedFieldsSchema(sanitizedSchema)),
176
+ filters: t8.Union([
177
+ t8.Partial(createFiltersSchema(sanitizedSchema)),
178
+ t8.Array(t8.Partial(createFiltersSchema(sanitizedSchema)), { minItems: 1 })
179
+ ])
180
+ })
181
+ });
182
+ };
183
+
184
+ // source/modules/elysia/crud/utils/create-order-schema.ts
185
+ import { t as t9 } from "elysia/type-system";
186
+ var createOrderSchema = (schema) => t9.Union([
187
+ t9.Object({
188
+ selectedField: t9.KeyOf(schema),
189
+ direction: t9.Union([t9.Literal("asc"), t9.Literal("desc")])
190
+ }),
191
+ t9.Array(t9.Object({
192
+ selectedField: t9.KeyOf(schema),
193
+ direction: t9.Union([t9.Literal("asc"), t9.Literal("desc")])
194
+ }), {
195
+ minItems: 1,
196
+ uniqueItems: true
197
+ })
198
+ ]);
199
+
200
+ // source/modules/elysia/crud/utils/create-find-schema.ts
201
+ import { t as t10 } from "elysia";
202
+ var createFindSchema = (schema) => {
203
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
204
+ "minLength",
205
+ "maxLength",
206
+ "pattern",
207
+ "minimum",
208
+ "maximum",
209
+ "exclusiveMinimum",
210
+ "exclusiveMaximum",
211
+ "multipleOf",
212
+ "minItems",
213
+ "maxItems",
214
+ "maxContains",
215
+ "minContains",
216
+ "minProperties",
217
+ "maxProperties",
218
+ "uniqueItems",
219
+ "minimumTimestamp",
220
+ "maximumTimestamp",
221
+ "exclusiveMinimumTimestamp",
222
+ "exclusiveMaximumTimestamp",
223
+ "multipleOfTimestamp",
224
+ "required",
225
+ "examples",
226
+ "example",
227
+ "default",
228
+ "title",
229
+ "description"
230
+ ]);
231
+ return t10.Partial(t10.Object({
232
+ queryOptions: t10.Partial(t10.Object({
233
+ selectedFields: createSelectedFieldsSchema(sanitizedSchema),
234
+ orderBy: createOrderSchema(sanitizedSchema),
235
+ filters: t10.Union([
236
+ t10.Partial(createFiltersSchema(sanitizedSchema)),
237
+ t10.Array(t10.Partial(createFiltersSchema(sanitizedSchema)))
238
+ ]),
239
+ limit: t10.Number({
240
+ default: 100,
241
+ minimum: 1
242
+ }),
243
+ offset: t10.Number({
244
+ default: 0,
245
+ minimum: 0
246
+ })
247
+ }))
248
+ }));
249
+ };
250
+
251
+ // source/modules/elysia/crud/utils/create-id-param-schema.ts
252
+ import { t as t11 } from "elysia";
253
+ var createIdParamSchema = () => t11.Object({
254
+ id: t11.Union([
255
+ t11.String(),
256
+ t11.Number({
257
+ minimum: 1,
258
+ maximum: Number.MAX_SAFE_INTEGER
259
+ })
260
+ ])
261
+ });
262
+
263
+ // source/modules/elysia/crud/utils/create-insert-schema.ts
264
+ import { t as t12 } from "elysia";
265
+ var createInsertSchema = (schema) => t12.Object({
266
+ queryOptions: t12.Optional(t12.Object({
267
+ selectedFields: createSelectedFieldsSchema(schema)
268
+ })),
269
+ data: t12.Union([
270
+ schema,
271
+ t12.Array(schema, {
272
+ minItems: 1,
273
+ uniqueItems: true
274
+ })
275
+ ])
276
+ });
277
+
278
+ // source/modules/elysia/crud/utils/create-response-200-schema.ts
279
+ import { t as t13 } from "elysia";
280
+ var createResponse200Schema = (schema) => {
281
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
282
+ "minLength",
283
+ "maxLength",
284
+ "pattern",
285
+ "minimum",
286
+ "maximum",
287
+ "exclusiveMinimum",
288
+ "exclusiveMaximum",
289
+ "multipleOf",
290
+ "minItems",
291
+ "maxItems",
292
+ "maxContains",
293
+ "minContains",
294
+ "minProperties",
295
+ "maxProperties",
296
+ "uniqueItems",
297
+ "minimumTimestamp",
298
+ "maximumTimestamp",
299
+ "exclusiveMinimumTimestamp",
300
+ "exclusiveMaximumTimestamp",
301
+ "multipleOfTimestamp",
302
+ "required",
303
+ "default"
304
+ ]);
305
+ const { properties } = sanitizedSchema;
306
+ const responseSchema = {};
307
+ for (const key in properties)
308
+ responseSchema[key] = flatten(t13.Union([properties[key], t13.Null()]));
309
+ return t13.Object({
310
+ message: t13.String(),
311
+ content: t13.Array(t13.Partial(t13.Object(responseSchema)))
312
+ });
313
+ };
314
+
315
+ // source/modules/elysia/crud/utils/create-update-one-schema.ts
316
+ import { t as t14 } from "elysia";
317
+ var createUpdateOneSchema = (schema) => t14.Object({
318
+ data: t14.Partial(schema)
319
+ });
320
+
321
+ // source/modules/elysia/crud/utils/create-update-schema.ts
322
+ import { t as t15 } from "elysia";
323
+ var createUpdateSchema = (schema) => {
324
+ const sanitizedSchema = filterByKeyExclusionRecursive(schema, [
325
+ "minLength",
326
+ "maxLength",
327
+ "pattern",
328
+ "minimum",
329
+ "maximum",
330
+ "exclusiveMinimum",
331
+ "exclusiveMaximum",
332
+ "multipleOf",
333
+ "minItems",
334
+ "maxItems",
335
+ "maxContains",
336
+ "minContains",
337
+ "minProperties",
338
+ "maxProperties",
339
+ "uniqueItems",
340
+ "minimumTimestamp",
341
+ "maximumTimestamp",
342
+ "exclusiveMinimumTimestamp",
343
+ "exclusiveMaximumTimestamp",
344
+ "multipleOfTimestamp",
345
+ "required",
346
+ "examples",
347
+ "example",
348
+ "default",
349
+ "title",
350
+ "description"
351
+ ]);
352
+ schema.minProperties = 1;
353
+ return t15.Object({
354
+ queryOptions: t15.Object({
355
+ selectedFields: t15.Optional(createSelectedFieldsSchema(sanitizedSchema)),
356
+ filters: t15.Union([
357
+ t15.Partial(createFiltersSchema(sanitizedSchema)),
358
+ t15.Array(t15.Partial(createFiltersSchema(sanitizedSchema)), { minItems: 1 })
359
+ ])
360
+ }),
361
+ data: t15.Partial(schema)
362
+ });
363
+ };
364
+
365
+ export { createCountResponse200Schema, isDateFromElysiaTypeBox, createAdaptiveWhereClauseSchema, createPropertiesSchema, createQSchema, createFiltersSchema, createCountSchema, createSelectedFieldsSchema, createDeleteSchema, createOrderSchema, createFindSchema, createIdParamSchema, createInsertSchema, createResponse200Schema, createUpdateOneSchema, createUpdateSchema };
@@ -0,0 +1,284 @@
1
+ // @bun
2
+ import {
3
+ dbResolver
4
+ } from "./chunk-441xs5k1.js";
5
+ import {
6
+ CRUD_SUCCESS_KEYS
7
+ } from "./chunk-w7h898m3.js";
8
+
9
+ // source/modules/elysia/crud/operations/count.ts
10
+ import { Elysia } from "elysia";
11
+
12
+ // source/modules/elysia/crud/operations/utils/get-db-injection.ts
13
+ var getDbInjection = (database) => typeof database === "string" ? {
14
+ injectStaticDB: database
15
+ } : {
16
+ injectDynamicDB: database
17
+ };
18
+
19
+ // source/modules/elysia/crud/operations/count.ts
20
+ var count = (database, tableName, {
21
+ hook,
22
+ method = "POST",
23
+ path = "/count"
24
+ }) => new Elysia({
25
+ name: `count[${tableName}]`
26
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
27
+ const db = ctx.dynamicDB || ctx.staticDB;
28
+ const body = ctx.body;
29
+ const data = await db.getRepository(tableName).count({
30
+ ...body.queryOptions,
31
+ throwIfNoResult: true
32
+ });
33
+ return {
34
+ message: CRUD_SUCCESS_KEYS.COUNT_RESPONSE,
35
+ content: data
36
+ };
37
+ }, {
38
+ detail: {
39
+ summary: "Count",
40
+ description: `Count ${tableName} records based on query options.`
41
+ },
42
+ ...getDbInjection(database),
43
+ body: `${tableName}Count`,
44
+ response: `${tableName}CountResponse200`,
45
+ ...hook
46
+ });
47
+
48
+ // source/modules/elysia/crud/operations/delete.ts
49
+ import { Elysia as Elysia2 } from "elysia";
50
+ var batchDelete = (database, tableName, {
51
+ hook,
52
+ method = "DELETE",
53
+ path = "/"
54
+ }) => new Elysia2({
55
+ name: `delete[${tableName}]`
56
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
57
+ const db = ctx.dynamicDB || ctx.staticDB;
58
+ const body = ctx.body;
59
+ const selectedFields = body.queryOptions?.selectedFields ?? "*";
60
+ const data = await db.getRepository(tableName).delete({
61
+ filters: body.queryOptions.filters,
62
+ selectedFields,
63
+ throwIfNoResult: true
64
+ });
65
+ return {
66
+ message: CRUD_SUCCESS_KEYS.DELETE_RESPONSE,
67
+ content: data
68
+ };
69
+ }, {
70
+ detail: {
71
+ summary: "Delete",
72
+ description: `Delete ${tableName} records based on query options.`
73
+ },
74
+ ...getDbInjection(database),
75
+ body: `${tableName}Delete`,
76
+ response: `${tableName}Response200`,
77
+ ...hook
78
+ });
79
+
80
+ // source/modules/elysia/crud/operations/deleteOne.ts
81
+ import { Elysia as Elysia3 } from "elysia";
82
+ var deleteOne = (database, tableName, {
83
+ hook,
84
+ method = "DELETE",
85
+ path = "/:id"
86
+ }) => new Elysia3({
87
+ name: `deleteOne[${tableName}]`
88
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
89
+ const db = ctx.dynamicDB || ctx.staticDB;
90
+ const { id } = ctx.params;
91
+ const [primaryKey] = db.getTable(tableName).primaryKey;
92
+ const data = await db.getRepository(tableName).delete({
93
+ selectedFields: "*",
94
+ filters: {
95
+ [primaryKey]: id
96
+ },
97
+ throwIfNoResult: {
98
+ httpStatusCode: "NOT_FOUND",
99
+ message: `Record with id ${id} not found in ${tableName}`
100
+ }
101
+ });
102
+ return {
103
+ message: CRUD_SUCCESS_KEYS.DELETE_ONE_RESPONSE,
104
+ content: data
105
+ };
106
+ }, {
107
+ detail: {
108
+ summary: "Delete One",
109
+ description: `Delete a single ${tableName} record by its primary key.`
110
+ },
111
+ ...getDbInjection(database),
112
+ params: `${tableName}IdParam`,
113
+ response: `${tableName}Response200`,
114
+ ...hook
115
+ });
116
+
117
+ // source/modules/elysia/crud/operations/find.ts
118
+ import { Elysia as Elysia4 } from "elysia";
119
+ var find = (database, tableName, {
120
+ hook,
121
+ method = "POST",
122
+ path = "/find"
123
+ }) => new Elysia4({
124
+ name: `find[${tableName}]`
125
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
126
+ const db = ctx.dynamicDB || ctx.staticDB;
127
+ const body = ctx.body;
128
+ const data = await db.getRepository(tableName).find({
129
+ ...body?.queryOptions || {},
130
+ throwIfNoResult: false
131
+ });
132
+ return {
133
+ message: CRUD_SUCCESS_KEYS.FIND_RESPONSE,
134
+ content: data
135
+ };
136
+ }, {
137
+ detail: {
138
+ summary: "Find",
139
+ description: `Find ${tableName} records based on query options.`
140
+ },
141
+ ...getDbInjection(database),
142
+ body: `${tableName}Find`,
143
+ response: `${tableName}Response200`,
144
+ ...hook
145
+ });
146
+
147
+ // source/modules/elysia/crud/operations/findOne.ts
148
+ import { Elysia as Elysia5 } from "elysia";
149
+ var findOne = (database, tableName, {
150
+ hook,
151
+ method = "GET",
152
+ path = "/:id"
153
+ }) => new Elysia5({
154
+ name: `findOne[${tableName}]`
155
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
156
+ const db = ctx.dynamicDB || ctx.staticDB;
157
+ const { id } = ctx.params;
158
+ const [primaryKey] = db.getTable(tableName).primaryKey;
159
+ const data = await db.getRepository(tableName).find({
160
+ filters: {
161
+ [primaryKey]: id
162
+ },
163
+ throwIfNoResult: {
164
+ httpStatusCode: "NOT_FOUND",
165
+ message: `Record with id ${id} not found in ${tableName}`
166
+ }
167
+ });
168
+ return {
169
+ message: CRUD_SUCCESS_KEYS.FIND_ONE_RESPONSE,
170
+ content: data
171
+ };
172
+ }, {
173
+ detail: {
174
+ summary: "Find One",
175
+ description: `Find a single ${tableName} record by its primary key.`
176
+ },
177
+ ...getDbInjection(database),
178
+ params: `${tableName}IdParam`,
179
+ response: `${tableName}Response200`,
180
+ ...hook
181
+ });
182
+
183
+ // source/modules/elysia/crud/operations/insert.ts
184
+ import { Elysia as Elysia6 } from "elysia";
185
+ var insert = (database, tableName, {
186
+ hook,
187
+ method = "POST",
188
+ path = "/"
189
+ }) => new Elysia6({
190
+ name: `insert[${tableName}]`
191
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
192
+ const db = ctx.dynamicDB || ctx.staticDB;
193
+ const body = ctx.body;
194
+ const selectedFields = body.queryOptions?.selectedFields ?? "*";
195
+ const data = await db.getRepository(tableName).insert(body.data, {
196
+ selectedFields,
197
+ throwIfNoResult: true
198
+ });
199
+ return {
200
+ message: CRUD_SUCCESS_KEYS.INSERT_RESPONSE,
201
+ content: data
202
+ };
203
+ }, {
204
+ detail: {
205
+ summary: "Insert",
206
+ description: `Insert one or more records into the ${tableName} table.`
207
+ },
208
+ ...getDbInjection(database),
209
+ body: `${tableName}Insert`,
210
+ response: `${tableName}Response200`,
211
+ ...hook
212
+ });
213
+
214
+ // source/modules/elysia/crud/operations/update.ts
215
+ import { Elysia as Elysia7 } from "elysia";
216
+ var update = (database, tableName, {
217
+ hook,
218
+ method = "PATCH",
219
+ path = "/"
220
+ }) => new Elysia7({
221
+ name: `update[${tableName}]`
222
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
223
+ const db = ctx.dynamicDB || ctx.staticDB;
224
+ const body = ctx.body;
225
+ const data = await db.getRepository(tableName).update(body.data, {
226
+ filters: body.queryOptions.filters,
227
+ selectedFields: body.queryOptions.selectedFields ?? "*",
228
+ throwIfNoResult: true
229
+ });
230
+ return {
231
+ message: CRUD_SUCCESS_KEYS.UPDATE_RESPONSE,
232
+ content: data
233
+ };
234
+ }, {
235
+ detail: {
236
+ summary: "Update",
237
+ description: `Update one or more ${tableName} records based on query options.`
238
+ },
239
+ ...getDbInjection(database),
240
+ body: `${tableName}Update`,
241
+ response: `${tableName}Response200`,
242
+ ...hook
243
+ });
244
+
245
+ // source/modules/elysia/crud/operations/updateOne.ts
246
+ import { Elysia as Elysia8 } from "elysia";
247
+ var updateOne = (database, tableName, {
248
+ hook,
249
+ method = "PATCH",
250
+ path = "/:id"
251
+ }) => new Elysia8({
252
+ name: `updateOne[${tableName}]`
253
+ }).use(dbResolver("database:")).route(method, path, async (ctx) => {
254
+ const db = ctx.dynamicDB || ctx.staticDB;
255
+ const { id } = ctx.params;
256
+ const body = ctx.body;
257
+ const [primaryKey] = db.getTable(tableName).primaryKey;
258
+ const data = await db.getRepository(tableName).update(body.data, {
259
+ selectedFields: "*",
260
+ filters: {
261
+ [primaryKey]: id
262
+ },
263
+ throwIfNoResult: {
264
+ httpStatusCode: "NOT_FOUND",
265
+ message: `Record with id ${id} not found in ${tableName}`
266
+ }
267
+ });
268
+ return {
269
+ message: CRUD_SUCCESS_KEYS.UPDATE_ONE_RESPONSE,
270
+ content: data
271
+ };
272
+ }, {
273
+ detail: {
274
+ summary: "Update Single Record",
275
+ description: `Update a single record in the ${tableName} table by its primary key.`
276
+ },
277
+ ...getDbInjection(database),
278
+ params: `${tableName}IdParam`,
279
+ body: `${tableName}UpdateOne`,
280
+ response: `${tableName}Response200`,
281
+ ...hook
282
+ });
283
+
284
+ export { count, batchDelete, deleteOne, find, findOne, insert, update, updateOne };
@@ -0,0 +1,13 @@
1
+ // @bun
2
+ // source/modules/logger/enums/logger-error-keys.ts
3
+ var LOGGER_ERROR_KEYS = {
4
+ BEFORE_EXIT_CLOSE_ERROR: "mrx-core.logger.error.before_exit_close_error",
5
+ BEFORE_EXIT_FLUSH_ERROR: "mrx-core.logger.error.before_exit_flush_error",
6
+ NO_SINKS_PROVIDED: "mrx-core.logger.error.no_sinks_provided",
7
+ REGISTER_SINK_ERROR: "mrx-core.logger.error.register_sink_error",
8
+ SINK_ALREADY_ADDED: "mrx-core.logger.error.sink_already_added",
9
+ SINK_CLOSE_ERROR: "mrx-core.logger.error.sink_close_error",
10
+ SINK_LOG_ERROR: "mrx-core.logger.error.sink_log_error"
11
+ };
12
+
13
+ export { LOGGER_ERROR_KEYS };
@@ -0,0 +1,10 @@
1
+ // @bun
2
+ // source/modules/elysia/error/enums/error.keys.ts
3
+ var ERROR_KEYS = {
4
+ CORE_ERROR_VALIDATION: "mrx-core.error.validation",
5
+ CORE_ERROR_NOT_FOUND: "mrx-core.error.not_found",
6
+ CORE_ERROR_PARSE: "mrx-core.error.parse",
7
+ CORE_ERROR_INTERNAL_SERVER_ERROR: "mrx-core.error.internal_server_error"
8
+ };
9
+
10
+ export { ERROR_KEYS };