@rapidd/build 2.1.8 → 2.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/bin/cli.js CHANGED
@@ -3,11 +3,21 @@
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
5
  const build_1 = require("../src/commands/build");
6
+ // Resolve package.json from dist/bin (published) or bin (dev via tsx)
7
+ let version = '0.0.0';
8
+ try {
9
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
10
+ version = require('../../package.json').version;
11
+ }
12
+ catch {
13
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
14
+ version = require('../package.json').version;
15
+ }
6
16
  const program = new commander_1.Command();
7
17
  program
8
18
  .name('rapidd')
9
19
  .description('Rapidd build tool for generating TypeScript model files from Prisma schema')
10
- .version('2.0.0');
20
+ .version(version);
11
21
  program
12
22
  .command('build')
13
23
  .description('Build TypeScript model files, routes, and ACL from Prisma schema')
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,iDAAkE;AAElE,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,4EAA4E,CAAC;KACzF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;KACvH,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,IAAI,CAAC;KAC5D,MAAM,CAAC,oBAAoB,EAAE,+DAA+D,CAAC;KAC7F,MAAM,CAAC,oBAAoB,EAAE,8DAA8D,CAAC;KAC5F,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;IACtC,IAAI,CAAC;QACH,MAAM,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,iDAAkE;AAClE,sEAAsE;AACtE,IAAI,OAAO,GAAG,OAAO,CAAC;AACtB,IAAI,CAAC;IACD,iEAAiE;IACjE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAAC,MAAM,CAAC;IACL,iEAAiE;IACjE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;AACjD,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,4EAA4E,CAAC;KACzF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kEAAkE,CAAC;KAC/E,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;KACvH,MAAM,CAAC,qBAAqB,EAAE,uBAAuB,EAAE,IAAI,CAAC;KAC5D,MAAM,CAAC,oBAAoB,EAAE,+DAA+D,CAAC;KAC7F,MAAM,CAAC,oBAAoB,EAAE,8DAA8D,CAAC;KAC5F,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;IACtC,IAAI,CAAC;QACH,MAAM,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aclGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/aclGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAyBlD;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,UAAU,EAAE,MAAM,GACjB,IAAI,CAoCN"}
1
+ {"version":3,"file":"aclGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/aclGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA+BlD;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,UAAU,EAAE,MAAM,GACjB,IAAI,CAoCN"}
@@ -56,6 +56,12 @@ function generateModelACL(modelName) {
56
56
  getOmitFields(_user: RapiddUser): string[] {
57
57
  return [];
58
58
  },
59
+ // Whitelist of writable fields for create/update payloads (null = unrestricted).
60
+ // At the REST edge (strictWrites) non-writable fields are rejected with 403;
61
+ // internal model calls silently strip them instead.
62
+ getWritableFields(_user: RapiddUser): string[] | null {
63
+ return null;
64
+ },
59
65
  }`;
60
66
  }
61
67
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"aclGenerator.js","sourceRoot":"","sources":["../../../src/generators/aclGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,kCAuCC;AArED,uCAAyB;AACzB,2CAA6B;AAG7B;;GAEG;AACH,SAAS,gBAAgB,CAAC,SAAiB;IACzC,OAAO,WAAW,SAAS;;;;;;;;;;;;;;;;UAgBnB,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CACzB,MAAiC,EACjC,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,OAAO,GAAG;;;;CAIf,CAAC;IAEA,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhF,OAAO,IAAI;;;;;CAKZ,CAAC;IAEA,6DAA6D;IAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAChF,IAAI,eAAe,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"aclGenerator.js","sourceRoot":"","sources":["../../../src/generators/aclGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,kCAuCC;AA3ED,uCAAyB;AACzB,2CAA6B;AAG7B;;GAEG;AACH,SAAS,gBAAgB,CAAC,SAAiB;IACzC,OAAO,WAAW,SAAS;;;;;;;;;;;;;;;;;;;;;;UAsBnB,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CACzB,MAAiC,EACjC,UAAkB;IAElB,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,OAAO,GAAG;;;;CAIf,CAAC;IAEA,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAEhF,OAAO,IAAI;;;;;CAKZ,CAAC;IAEA,6DAA6D;IAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACtD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAChF,IAAI,eAAe,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;IACH,CAAC;IAED,iCAAiC;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"routeGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/routeGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA0GlD,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAkDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,SAAwB,GAAG,MAAM,CAyF3H;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CAsGlH;AAUD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,SAAS,EAC5B,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CAyGR;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,IAAI,CA4EN"}
1
+ {"version":3,"file":"routeGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/routeGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA0GlD,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,SAAS,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB;AAkDD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,SAAiB,GAAG,MAAM,CAkDpH;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,MAAM,CA+DlH;AAUD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,SAAS,EAC5B,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,GACnB,MAAM,CA4DR;AAID;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACpC,IAAI,CA4EN"}
@@ -162,90 +162,51 @@ function buildJunctionMap(models) {
162
162
  /**
163
163
  * Generate Fastify route for a standalone model (TypeScript)
164
164
  */
165
- function generateRouteFile(modelName, modelInfo, importPathPrefix = '../../../src/models') {
165
+ function generateRouteFile(modelName, modelInfo, importPathPrefix = '../../../src') {
166
166
  const className = toClassName(modelName);
167
167
  const numeric = isNumericId(modelInfo);
168
168
  const idType = numeric ? 'number' : 'string';
169
169
  const idCast = numeric ? 'Number(rawId)' : 'rawId';
170
170
  return `import { FastifyPluginAsync, FastifyRequest, FastifyReply } from 'fastify';
171
- import { ${className}, QueryBuilder } from '${importPathPrefix}/${className}';
171
+ import { ${className} } from '${importPathPrefix}/models/${className}';
172
172
 
173
173
  const ${modelName}Routes: FastifyPluginAsync = async (fastify) => {
174
174
  fastify.addHook('preHandler', async (request, reply) => {
175
175
  if (!request.user) {
176
176
  return reply.sendError(401, 'no_valid_session');
177
177
  }
178
- (request as any).${className} = new ${className}({ user: request.user });
178
+ request.model = new ${className}({ user: request.user, strictWrites: true });
179
179
  });
180
180
 
181
181
  fastify.get('/', async (request: FastifyRequest, reply: FastifyReply) => {
182
- try {
183
- const query = request.query as Record<string, string>;
184
- const { q = {}, include = '', sortBy = 'id', sortOrder = 'asc', fields = null } = query;
185
- const model = (request as any).${className} as ${className};
186
- const totalResults = query.totalResults === 'true';
187
- const pagination = process.env.PAGINATION_MODE === 'page'
188
- ? { page: Number(query.page || '1'), pageSize: Number(query.pageSize || '25') }
189
- : undefined;
190
- const results = await model.getMany({ q, include, limit: Number(query.limit || '25'), offset: Number(query.offset || '0'), sortBy, sortOrder, fields, pagination, totalResults });
191
- return reply.sendList(results.data, results.meta);
192
- } catch (error: any) {
193
- const response = QueryBuilder.errorHandler(error);
194
- return reply.code(response.status_code).send(response);
195
- }
182
+ const results = await request.model!.getMany(request.parseListQuery());
183
+ return reply.sendList(results.data, results.meta);
196
184
  });
197
185
 
198
186
  fastify.get('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
199
- try {
200
- const { id: rawId } = request.params as { id: string };
201
- const id: ${idType} = ${idCast};
202
- const { include = '', fields = null } = request.query as Record<string, string>;
203
- const model = (request as any).${className} as ${className};
204
- const response = await model.get(id, include, {}, fields);
205
- return reply.send(response);
206
- } catch (error: any) {
207
- const response = QueryBuilder.errorHandler(error);
208
- return reply.code(response.status_code).send(response);
209
- }
187
+ const { id: rawId } = request.params as { id: string };
188
+ const id: ${idType} = ${idCast};
189
+ const { include = '', fields = null } = request.query as Record<string, string>;
190
+ return reply.send(await request.model!.get(id, include, {}, fields));
210
191
  });
211
192
 
212
193
  fastify.post('/', async (request: FastifyRequest, reply: FastifyReply) => {
213
194
  const payload = request.body as Record<string, unknown>;
214
- try {
215
- const model = (request as any).${className} as ${className};
216
- const response = await model.create(payload);
217
- return reply.code(201).send(response);
218
- } catch (error: any) {
219
- const response = QueryBuilder.errorHandler(error, payload);
220
- return reply.code(response.status_code).send(response);
221
- }
195
+ return reply.code(201).send(await request.model!.create(payload));
222
196
  });
223
197
 
224
198
  fastify.patch('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
225
199
  const { id: rawId } = request.params as { id: string };
226
200
  const id: ${idType} = ${idCast};
227
201
  const payload = request.body as Record<string, unknown>;
228
- try {
229
- const model = (request as any).${className} as ${className};
230
- const response = await model.update(id, payload);
231
- return reply.send(response);
232
- } catch (error: any) {
233
- const response = QueryBuilder.errorHandler(error, payload);
234
- return reply.code(response.status_code).send(response);
235
- }
202
+ return reply.send(await request.model!.update(id, payload));
236
203
  });
237
204
 
238
205
  fastify.delete('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
239
- try {
240
- const { id: rawId } = request.params as { id: string };
241
- const id: ${idType} = ${idCast};
242
- const model = (request as any).${className} as ${className};
243
- await model.delete(id);
244
- return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
245
- } catch (error: any) {
246
- const response = QueryBuilder.errorHandler(error);
247
- return reply.code(response.status_code).send(response);
248
- }
206
+ const { id: rawId } = request.params as { id: string };
207
+ const id: ${idType} = ${idCast};
208
+ await request.model!.delete(id);
209
+ return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
249
210
  });
250
211
  };
251
212
 
@@ -260,11 +221,11 @@ function generateParentRouteFile(modelName, modelInfo, subRoutes) {
260
221
  const numeric = isNumericId(modelInfo);
261
222
  const idType = numeric ? 'number' : 'string';
262
223
  const idCast = numeric ? 'Number(rawId)' : 'rawId';
263
- const importPath = '../../../../src/models';
224
+ const importPath = '../../../../src';
264
225
  const subRouteImports = subRoutes.map(sr => `import ${sr.subRouteName}Routes from './_${sr.subRouteName}';`).join('\n');
265
226
  const subRouteRegistrations = subRoutes.map(sr => ` fastify.register(${sr.subRouteName}Routes, { prefix: '/:id/${sr.subRouteName}' });`).join('\n');
266
227
  return `import { FastifyPluginAsync, FastifyRequest, FastifyReply } from 'fastify';
267
- import { ${className}, QueryBuilder } from '${importPath}/${className}';
228
+ import { ${className} } from '${importPath}/models/${className}';
268
229
  ${subRouteImports}
269
230
 
270
231
  const ${modelName}Routes: FastifyPluginAsync = async (fastify) => {
@@ -272,79 +233,40 @@ const ${modelName}Routes: FastifyPluginAsync = async (fastify) => {
272
233
  if (!request.user) {
273
234
  return reply.sendError(401, 'no_valid_session');
274
235
  }
275
- (request as any).${className} = new ${className}({ user: request.user });
236
+ request.model = new ${className}({ user: request.user, strictWrites: true });
276
237
  });
277
238
 
278
239
  ${subRouteRegistrations}
279
240
 
280
241
  fastify.get('/', async (request: FastifyRequest, reply: FastifyReply) => {
281
- try {
282
- const query = request.query as Record<string, string>;
283
- const { q = {}, include = '', sortBy = 'id', sortOrder = 'asc', fields = null } = query;
284
- const model = (request as any).${className} as ${className};
285
- const totalResults = query.totalResults === 'true';
286
- const pagination = process.env.PAGINATION_MODE === 'page'
287
- ? { page: Number(query.page || '1'), pageSize: Number(query.pageSize || '25') }
288
- : undefined;
289
- const results = await model.getMany({ q, include, limit: Number(query.limit || '25'), offset: Number(query.offset || '0'), sortBy, sortOrder, fields, pagination, totalResults });
290
- return reply.sendList(results.data, results.meta);
291
- } catch (error: any) {
292
- const response = QueryBuilder.errorHandler(error);
293
- return reply.code(response.status_code).send(response);
294
- }
242
+ const results = await request.model!.getMany(request.parseListQuery());
243
+ return reply.sendList(results.data, results.meta);
295
244
  });
296
245
 
297
246
  fastify.get('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
298
- try {
299
- const { id: rawId } = request.params as { id: string };
300
- const id: ${idType} = ${idCast};
301
- const { include = '', fields = null } = request.query as Record<string, string>;
302
- const model = (request as any).${className} as ${className};
303
- const response = await model.get(id, include, {}, fields);
304
- return reply.send(response);
305
- } catch (error: any) {
306
- const response = QueryBuilder.errorHandler(error);
307
- return reply.code(response.status_code).send(response);
308
- }
247
+ const { id: rawId } = request.params as { id: string };
248
+ const id: ${idType} = ${idCast};
249
+ const { include = '', fields = null } = request.query as Record<string, string>;
250
+ return reply.send(await request.model!.get(id, include, {}, fields));
309
251
  });
310
252
 
311
253
  fastify.post('/', async (request: FastifyRequest, reply: FastifyReply) => {
312
254
  const payload = request.body as Record<string, unknown>;
313
- try {
314
- const model = (request as any).${className} as ${className};
315
- const response = await model.create(payload);
316
- return reply.code(201).send(response);
317
- } catch (error: any) {
318
- const response = QueryBuilder.errorHandler(error, payload);
319
- return reply.code(response.status_code).send(response);
320
- }
255
+ return reply.code(201).send(await request.model!.create(payload));
321
256
  });
322
257
 
323
258
  fastify.patch('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
324
259
  const { id: rawId } = request.params as { id: string };
325
260
  const id: ${idType} = ${idCast};
326
261
  const payload = request.body as Record<string, unknown>;
327
- try {
328
- const model = (request as any).${className} as ${className};
329
- const response = await model.update(id, payload);
330
- return reply.send(response);
331
- } catch (error: any) {
332
- const response = QueryBuilder.errorHandler(error, payload);
333
- return reply.code(response.status_code).send(response);
334
- }
262
+ return reply.send(await request.model!.update(id, payload));
335
263
  });
336
264
 
337
265
  fastify.delete('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
338
- try {
339
- const { id: rawId } = request.params as { id: string };
340
- const id: ${idType} = ${idCast};
341
- const model = (request as any).${className} as ${className};
342
- await model.delete(id);
343
- return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
344
- } catch (error: any) {
345
- const response = QueryBuilder.errorHandler(error);
346
- return reply.code(response.status_code).send(response);
347
- }
266
+ const { id: rawId } = request.params as { id: string };
267
+ const id: ${idType} = ${idCast};
268
+ await request.model!.delete(id);
269
+ return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
348
270
  });
349
271
  };
350
272
 
@@ -371,97 +293,52 @@ function generateSubRouteFile(junctionModelName, junctionModelInfo, parentModelI
371
293
  const otherFkType = numericOtherFk ? 'number' : 'string';
372
294
  const parentIdCast = numericParentId ? 'Number(rawParentId)' : 'rawParentId';
373
295
  const otherFkCast = numericOtherFk ? 'Number(rawSubId)' : 'rawSubId';
374
- const importPath = '../../../../src/models';
296
+ const importPath = '../../../../src';
375
297
  return `import { FastifyPluginAsync, FastifyRequest, FastifyReply } from 'fastify';
376
- import { ${className}, QueryBuilder } from '${importPath}/${className}';
298
+ import { ${className} } from '${importPath}/models/${className}';
377
299
 
378
300
  const ${junctionModelName}Routes: FastifyPluginAsync = async (fastify) => {
379
301
  fastify.addHook('preHandler', async (request, reply) => {
380
302
  if (!request.user) {
381
303
  return reply.sendError(401, 'no_valid_session');
382
304
  }
383
- (request as any).${className} = new ${className}({ user: request.user });
305
+ request.model = new ${className}({ user: request.user, strictWrites: true });
384
306
  });
385
307
 
386
308
  fastify.get('/', async (request: FastifyRequest, reply: FastifyReply) => {
387
- try {
388
- const { id: rawParentId } = request.params as { id: string };
389
- const parentId: ${parentIdType} = ${parentIdCast};
390
- const query = request.query as Record<string, string>;
391
- const { q = {}, include = '', sortBy = 'id', sortOrder = 'asc', fields = null } = query;
392
- const filter = typeof q === 'object' ? { ...q, ${fkFieldToParent}: parentId } : { ${fkFieldToParent}: parentId };
393
- const model = (request as any).${className} as ${className};
394
- const totalResults = query.totalResults === 'true';
395
- const pagination = process.env.PAGINATION_MODE === 'page'
396
- ? { page: Number(query.page || '1'), pageSize: Number(query.pageSize || '25') }
397
- : undefined;
398
- const results = await model.getMany({ q: filter, include, limit: Number(query.limit || '25'), offset: Number(query.offset || '0'), sortBy, sortOrder, fields, pagination, totalResults });
399
- return reply.sendList(results.data, results.meta);
400
- } catch (error: any) {
401
- const response = QueryBuilder.errorHandler(error);
402
- return reply.code(response.status_code).send(response);
403
- }
309
+ const { id: rawParentId } = request.params as { id: string };
310
+ const parentId: ${parentIdType} = ${parentIdCast};
311
+ const params = request.parseListQuery();
312
+ const q = typeof params.q === 'object' ? { ...params.q, ${fkFieldToParent}: parentId } : { ${fkFieldToParent}: parentId };
313
+ const results = await request.model!.getMany({ ...params, q });
314
+ return reply.sendList(results.data, results.meta);
404
315
  });
405
316
 
406
317
  fastify.get('/:subId', async (request: FastifyRequest, reply: FastifyReply) => {
407
- try {
408
- const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
409
- const parentId: ${parentIdType} = ${parentIdCast};
410
- const ${otherFkField}: ${otherFkType} = ${otherFkCast};
411
- const compositeId = { ${fkFieldToParent}: parentId, ${otherFkField} };
412
- const { include = '', fields = null } = request.query as Record<string, string>;
413
- const model = (request as any).${className} as ${className};
414
- const response = await model.get(compositeId, include, {}, fields);
415
- return reply.send(response);
416
- } catch (error: any) {
417
- const response = QueryBuilder.errorHandler(error);
418
- return reply.code(response.status_code).send(response);
419
- }
318
+ const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
319
+ const compositeId = { ${fkFieldToParent}: ${parentIdCast} as ${parentIdType}, ${otherFkField}: ${otherFkCast} as ${otherFkType} };
320
+ const { include = '', fields = null } = request.query as Record<string, string>;
321
+ return reply.send(await request.model!.get(compositeId, include, {}, fields));
420
322
  });
421
323
 
422
324
  fastify.post('/', async (request: FastifyRequest, reply: FastifyReply) => {
423
325
  const { id: rawParentId } = request.params as { id: string };
424
- const parentId: ${parentIdType} = ${parentIdCast};
425
- const payload = { ...(request.body as Record<string, unknown>), ${fkFieldToParent}: parentId };
426
- try {
427
- const model = (request as any).${className} as ${className};
428
- const response = await model.create(payload);
429
- return reply.code(201).send(response);
430
- } catch (error: any) {
431
- const response = QueryBuilder.errorHandler(error, payload);
432
- return reply.code(response.status_code).send(response);
433
- }
326
+ const payload = { ...(request.body as Record<string, unknown>), ${fkFieldToParent}: ${parentIdCast} as ${parentIdType} };
327
+ return reply.code(201).send(await request.model!.create(payload));
434
328
  });
435
329
 
436
330
  fastify.patch('/:subId', async (request: FastifyRequest, reply: FastifyReply) => {
437
331
  const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
438
- const parentId: ${parentIdType} = ${parentIdCast};
439
- const ${otherFkField}: ${otherFkType} = ${otherFkCast};
440
- const compositeId = { ${fkFieldToParent}: parentId, ${otherFkField} };
332
+ const compositeId = { ${fkFieldToParent}: ${parentIdCast} as ${parentIdType}, ${otherFkField}: ${otherFkCast} as ${otherFkType} };
441
333
  const payload = request.body as Record<string, unknown>;
442
- try {
443
- const model = (request as any).${className} as ${className};
444
- const response = await model.update(compositeId, payload);
445
- return reply.send(response);
446
- } catch (error: any) {
447
- const response = QueryBuilder.errorHandler(error, payload);
448
- return reply.code(response.status_code).send(response);
449
- }
334
+ return reply.send(await request.model!.update(compositeId, payload));
450
335
  });
451
336
 
452
337
  fastify.delete('/:subId', async (request: FastifyRequest, reply: FastifyReply) => {
453
- try {
454
- const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
455
- const parentId: ${parentIdType} = ${parentIdCast};
456
- const ${otherFkField}: ${otherFkType} = ${otherFkCast};
457
- const compositeId = { ${fkFieldToParent}: parentId, ${otherFkField} };
458
- const model = (request as any).${className} as ${className};
459
- await model.delete(compositeId);
460
- return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
461
- } catch (error: any) {
462
- const response = QueryBuilder.errorHandler(error);
463
- return reply.code(response.status_code).send(response);
464
- }
338
+ const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
339
+ const compositeId = { ${fkFieldToParent}: ${parentIdCast} as ${parentIdType}, ${otherFkField}: ${otherFkCast} as ${otherFkType} };
340
+ await request.model!.delete(compositeId);
341
+ return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
465
342
  });
466
343
  };
467
344
 
@@ -1 +1 @@
1
- {"version":3,"file":"routeGenerator.js","sourceRoot":"","sources":["../../../src/generators/routeGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuKA,8CAyFC;AAKD,0DAsGC;AAeD,oDA+GC;AAUD,8CAgFC;AAnkBD,uCAAyB;AACzB,2CAA6B;AAG7B;;GAEG;AACH,SAAS,WAAW,CAAC,SAAiB;IACpC,OAAO,SAAS;SACb,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACzD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAE3D;;GAEG;AACH,SAAS,WAAW,CAAC,SAAoB;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,IAAI,KAAK,CAAC,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAcD;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,UAAkB,EAAE,SAAoB;IACnE,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IACpD,CAAC;IAED,sDAAsD;IACtD,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACvC,CAAC,CAAC,kBAAkB,IAAI,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAChE,CAAC;QACF,IAAI,GAAG,EAAE,CAAC;YACR,eAAe,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,QAAQ;gBACjB,WAAW,EAAE,GAAG,CAAC,IAAI;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,OAAO;QACL,UAAU,EAAE,eAAe,CAAC,MAAM,KAAK,CAAC;QACxC,eAAe;KAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrJ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,UAAkB,EAAE,YAAoB;IACnE,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9C,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5E,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,WAAW,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,IAAI,WAAW,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAeD;;GAEG;AACH,SAAS,gBAAgB,CAAC,MAAiC;IACzD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,UAAU;YAAE,SAAS;QAEnC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzD,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC;gBAAE,SAAS;YAE7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACjD,CAAC;YACD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAE,CAAC,IAAI,CAAC;gBAC/C,iBAAiB,EAAE,SAAS;gBAC5B,iBAAiB,EAAE,SAAS;gBAC5B,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC;gBACnE,eAAe,EAAE,SAAS,CAAC,OAAO;gBAClC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;aACnC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,KAAK,MAAM,WAAW,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACpC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC;AAC7C,CAAC;AAED,uEAAuE;AAEvE;;GAEG;AACH,SAAgB,iBAAiB,CAAC,SAAiB,EAAE,SAAoB,EAAE,gBAAgB,GAAG,qBAAqB;IACjH,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IACnD,OAAO;WACE,SAAS,0BAA0B,gBAAgB,IAAI,SAAS;;QAEnE,SAAS;;;;;2BAKU,SAAS,UAAU,SAAS;;;;;;;6CAOV,SAAS,OAAO,SAAS;;;;;;;;;;;;;;;;wBAgB9C,MAAM,MAAM,MAAM;;6CAEG,SAAS,OAAO,SAAS;;;;;;;;;;;;6CAYzB,SAAS,OAAO,SAAS;;;;;;;;;;;oBAWlD,MAAM,MAAM,MAAM;;;6CAGO,SAAS,OAAO,SAAS;;;;;;;;;;;;wBAY9C,MAAM,MAAM,MAAM;6CACG,SAAS,OAAO,SAAS;;0FAEoB,SAAS;;;;;;;;iBAQlF,SAAS;CACzB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CAAC,SAAiB,EAAE,SAAoB,EAAE,SAAyB;IACxG,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;IACnD,MAAM,UAAU,GAAG,wBAAwB,CAAC;IAE5C,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACzC,UAAU,EAAE,CAAC,YAAY,mBAAmB,EAAE,CAAC,YAAY,IAAI,CAChE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC/C,wBAAwB,EAAE,CAAC,YAAY,2BAA2B,EAAE,CAAC,YAAY,OAAO,CACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO;WACE,SAAS,0BAA0B,UAAU,IAAI,SAAS;EACnE,eAAe;;QAET,SAAS;;;;;2BAKU,SAAS,UAAU,SAAS;;;EAGrD,qBAAqB;;;;;;6CAMsB,SAAS,OAAO,SAAS;;;;;;;;;;;;;;;;wBAgB9C,MAAM,MAAM,MAAM;;6CAEG,SAAS,OAAO,SAAS;;;;;;;;;;;;6CAYzB,SAAS,OAAO,SAAS;;;;;;;;;;;oBAWlD,MAAM,MAAM,MAAM;;;6CAGO,SAAS,OAAO,SAAS;;;;;;;;;;;;wBAY9C,MAAM,MAAM,MAAM;6CACG,SAAS,OAAO,SAAS;;0FAEoB,SAAS;;;;;;;;iBAQlF,SAAS;CACzB,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,SAAoB,EAAE,SAAiB;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,iBAAyB,EACzB,iBAA4B,EAC5B,eAA0B,EAC1B,eAAuB,EACvB,YAAoB;IAEpB,MAAM,SAAS,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,cAAc,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;IACvE,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3D,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC;IAC7E,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC;IACrE,MAAM,UAAU,GAAG,wBAAwB,CAAC;IAE5C,OAAO;WACE,SAAS,0BAA0B,UAAU,IAAI,SAAS;;QAE7D,iBAAiB;;;;;2BAKE,SAAS,UAAU,SAAS;;;;;;8BAMzB,YAAY,MAAM,YAAY;;;6DAGC,eAAe,oBAAoB,eAAe;6CAClE,SAAS,OAAO,SAAS;;;;;;;;;;;;;;;;8BAgBxC,YAAY,MAAM,YAAY;oBACxC,YAAY,KAAK,WAAW,MAAM,WAAW;oCAC7B,eAAe,eAAe,YAAY;;6CAEjC,SAAS,OAAO,SAAS;;;;;;;;;;;0BAW5C,YAAY,MAAM,YAAY;0EACkB,eAAe;;6CAE5C,SAAS,OAAO,SAAS;;;;;;;;;;;0BAW5C,YAAY,MAAM,YAAY;gBACxC,YAAY,KAAK,WAAW,MAAM,WAAW;gCAC7B,eAAe,eAAe,YAAY;;;6CAG7B,SAAS,OAAO,SAAS;;;;;;;;;;;;8BAYxC,YAAY,MAAM,YAAY;oBACxC,YAAY,KAAK,WAAW,MAAM,WAAW;oCAC7B,eAAe,eAAe,YAAY;6CACjC,SAAS,OAAO,SAAS;;0FAEoB,SAAS;;;;;;;;iBAQlF,iBAAiB;CACjC,CAAC;AACF,CAAC;AAED,uEAAuE;AAEvE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,MAAiC,EACjC,SAAiB,EACjB,SAAqC;IAErC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,gBAAgB,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;IAElF,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,6EAA6E;QAC7E,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;YAC9D,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QAED,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEjD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,2DAA2D;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAEnD,gEAAgE;YAChE,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,4CAA4C,SAAS,KAAK,CAAC,CAAC;gBACxE,SAAS;YACX,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,2BAA2B;YAC3B,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,WAAW,CAAC,CAAC;YAC/D,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC5E,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,WAAW,CAAC,CAAC;YACxD,CAAC;YAED,+BAA+B;YAC/B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC;gBACpE,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC;oBAC/E,SAAS;gBACX,CAAC;gBACD,MAAM,YAAY,GAAG,oBAAoB,CACvC,EAAE,CAAC,iBAAiB,EACpB,EAAE,CAAC,iBAAiB,EACpB,SAAS,EACT,EAAE,CAAC,eAAe,EAClB,EAAE,CAAC,YAAY,CAChB,CAAC;gBACF,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,KAAK,CAAC,CAAC;YAC1D,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,2BAA2B,SAAS,KAAK,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAC1D,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,oBAAoB,SAAS,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"routeGenerator.js","sourceRoot":"","sources":["../../../src/generators/routeGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rapidd/build",
3
- "version": "2.1.8",
3
+ "version": "2.2.0",
4
4
  "description": "Dynamic code generator that transforms Prisma schemas into Fastify CRUD APIs with TypeScript",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -46,7 +46,7 @@
46
46
  "author": "Mert Dalbudak",
47
47
  "license": "MIT",
48
48
  "engines": {
49
- "node": ">=18.0.0"
49
+ "node": ">=22.0.0"
50
50
  },
51
51
  "files": [
52
52
  "dist/",
@@ -54,16 +54,16 @@
54
54
  "LICENSE"
55
55
  ],
56
56
  "dependencies": {
57
- "@prisma/internals": "^7.0.1",
57
+ "@prisma/internals": "^7.8.0",
58
58
  "commander": "^11.0.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@types/node": "^20.0.0",
62
- "prisma": "^7.0.1",
61
+ "@types/node": "^22.12.0",
62
+ "prisma": "^7.8.0",
63
63
  "tsx": "^4.0.0",
64
64
  "typescript": "^5.5.0"
65
65
  },
66
66
  "peerDependencies": {
67
- "@prisma/client": "^7.0.1"
67
+ "@prisma/client": "^7.8.0"
68
68
  }
69
69
  }