@rapidd/build 2.1.9 → 2.2.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/bin/cli.js +11 -1
- package/dist/bin/cli.js.map +1 -1
- package/dist/src/generators/aclGenerator.d.ts.map +1 -1
- package/dist/src/generators/aclGenerator.js +6 -0
- package/dist/src/generators/aclGenerator.js.map +1 -1
- package/dist/src/generators/routeGenerator.d.ts.map +1 -1
- package/dist/src/generators/routeGenerator.js +47 -103
- package/dist/src/generators/routeGenerator.js.map +1 -1
- package/package.json +6 -6
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(
|
|
20
|
+
.version(version);
|
|
11
21
|
program
|
|
12
22
|
.command('build')
|
|
13
23
|
.description('Build TypeScript model files, routes, and ACL from Prisma schema')
|
package/dist/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../bin/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,iDAAkE;
|
|
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;
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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,SAAiB,GAAG,MAAM,
|
|
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,CAgER;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"}
|
|
@@ -175,58 +175,38 @@ const ${modelName}Routes: FastifyPluginAsync = async (fastify) => {
|
|
|
175
175
|
if (!request.user) {
|
|
176
176
|
return reply.sendError(401, 'no_valid_session');
|
|
177
177
|
}
|
|
178
|
-
request.model = 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
|
-
|
|
183
|
-
|
|
184
|
-
return reply.sendList(results.data, results.meta);
|
|
185
|
-
} catch (error: any) {
|
|
186
|
-
return reply.handleError(error);
|
|
187
|
-
}
|
|
182
|
+
const results = await request.model!.getMany(request.parseListQuery());
|
|
183
|
+
return reply.sendList(results.data, results.meta);
|
|
188
184
|
});
|
|
189
185
|
|
|
190
186
|
fastify.get('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
return reply.send(await request.model!.get(id, include, {}, fields));
|
|
196
|
-
} catch (error: any) {
|
|
197
|
-
return reply.handleError(error);
|
|
198
|
-
}
|
|
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));
|
|
199
191
|
});
|
|
200
192
|
|
|
201
193
|
fastify.post('/', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
202
194
|
const payload = request.body as Record<string, unknown>;
|
|
203
|
-
|
|
204
|
-
return reply.code(201).send(await request.model!.create(payload));
|
|
205
|
-
} catch (error: any) {
|
|
206
|
-
return reply.handleError(error, payload);
|
|
207
|
-
}
|
|
195
|
+
return reply.code(201).send(await request.model!.create(payload));
|
|
208
196
|
});
|
|
209
197
|
|
|
210
198
|
fastify.patch('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
211
199
|
const { id: rawId } = request.params as { id: string };
|
|
212
200
|
const id: ${idType} = ${idCast};
|
|
213
201
|
const payload = request.body as Record<string, unknown>;
|
|
214
|
-
|
|
215
|
-
return reply.send(await request.model!.update(id, payload));
|
|
216
|
-
} catch (error: any) {
|
|
217
|
-
return reply.handleError(error, payload);
|
|
218
|
-
}
|
|
202
|
+
return reply.send(await request.model!.update(id, payload));
|
|
219
203
|
});
|
|
220
204
|
|
|
221
205
|
fastify.delete('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
|
|
227
|
-
} catch (error: any) {
|
|
228
|
-
return reply.handleError(error);
|
|
229
|
-
}
|
|
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}' });
|
|
230
210
|
});
|
|
231
211
|
};
|
|
232
212
|
|
|
@@ -253,60 +233,40 @@ const ${modelName}Routes: FastifyPluginAsync = async (fastify) => {
|
|
|
253
233
|
if (!request.user) {
|
|
254
234
|
return reply.sendError(401, 'no_valid_session');
|
|
255
235
|
}
|
|
256
|
-
request.model = new ${className}({ user: request.user });
|
|
236
|
+
request.model = new ${className}({ user: request.user, strictWrites: true });
|
|
257
237
|
});
|
|
258
238
|
|
|
259
239
|
${subRouteRegistrations}
|
|
260
240
|
|
|
261
241
|
fastify.get('/', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
return reply.sendList(results.data, results.meta);
|
|
265
|
-
} catch (error: any) {
|
|
266
|
-
return reply.handleError(error);
|
|
267
|
-
}
|
|
242
|
+
const results = await request.model!.getMany(request.parseListQuery());
|
|
243
|
+
return reply.sendList(results.data, results.meta);
|
|
268
244
|
});
|
|
269
245
|
|
|
270
246
|
fastify.get('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
return reply.send(await request.model!.get(id, include, {}, fields));
|
|
276
|
-
} catch (error: any) {
|
|
277
|
-
return reply.handleError(error);
|
|
278
|
-
}
|
|
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));
|
|
279
251
|
});
|
|
280
252
|
|
|
281
253
|
fastify.post('/', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
282
254
|
const payload = request.body as Record<string, unknown>;
|
|
283
|
-
|
|
284
|
-
return reply.code(201).send(await request.model!.create(payload));
|
|
285
|
-
} catch (error: any) {
|
|
286
|
-
return reply.handleError(error, payload);
|
|
287
|
-
}
|
|
255
|
+
return reply.code(201).send(await request.model!.create(payload));
|
|
288
256
|
});
|
|
289
257
|
|
|
290
258
|
fastify.patch('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
291
259
|
const { id: rawId } = request.params as { id: string };
|
|
292
260
|
const id: ${idType} = ${idCast};
|
|
293
261
|
const payload = request.body as Record<string, unknown>;
|
|
294
|
-
|
|
295
|
-
return reply.send(await request.model!.update(id, payload));
|
|
296
|
-
} catch (error: any) {
|
|
297
|
-
return reply.handleError(error, payload);
|
|
298
|
-
}
|
|
262
|
+
return reply.send(await request.model!.update(id, payload));
|
|
299
263
|
});
|
|
300
264
|
|
|
301
265
|
fastify.delete('/:id', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
|
|
307
|
-
} catch (error: any) {
|
|
308
|
-
return reply.handleError(error);
|
|
309
|
-
}
|
|
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}' });
|
|
310
270
|
});
|
|
311
271
|
};
|
|
312
272
|
|
|
@@ -342,63 +302,47 @@ const ${junctionModelName}Routes: FastifyPluginAsync = async (fastify) => {
|
|
|
342
302
|
if (!request.user) {
|
|
343
303
|
return reply.sendError(401, 'no_valid_session');
|
|
344
304
|
}
|
|
345
|
-
request.model = new ${className}({ user: request.user });
|
|
305
|
+
request.model = new ${className}({ user: request.user, strictWrites: true });
|
|
346
306
|
});
|
|
347
307
|
|
|
348
308
|
fastify.get('/', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
309
|
+
const { id: rawParentId } = request.params as { id: string };
|
|
310
|
+
const parentId: ${parentIdType} = ${parentIdCast};
|
|
311
|
+
const params = request.parseListQuery();
|
|
312
|
+
// Scope the list to the parent: merge the parent FK into the client filter
|
|
313
|
+
// (string filters are appended, not discarded)
|
|
314
|
+
const q = typeof params.q === 'string' && params.q.trim() !== ''
|
|
315
|
+
? \`\${params.q},${fkFieldToParent}=\${parentId}\`
|
|
316
|
+
: { ...(typeof params.q === 'object' ? params.q : {}), ${fkFieldToParent}: parentId };
|
|
317
|
+
const results = await request.model!.getMany({ ...params, q });
|
|
318
|
+
return reply.sendList(results.data, results.meta);
|
|
359
319
|
});
|
|
360
320
|
|
|
361
321
|
fastify.get('/:subId', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
return reply.send(await request.model!.get(compositeId, include, {}, fields));
|
|
367
|
-
} catch (error: any) {
|
|
368
|
-
return reply.handleError(error);
|
|
369
|
-
}
|
|
322
|
+
const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
|
|
323
|
+
const compositeId = { ${fkFieldToParent}: ${parentIdCast} as ${parentIdType}, ${otherFkField}: ${otherFkCast} as ${otherFkType} };
|
|
324
|
+
const { include = '', fields = null } = request.query as Record<string, string>;
|
|
325
|
+
return reply.send(await request.model!.get(compositeId, include, {}, fields));
|
|
370
326
|
});
|
|
371
327
|
|
|
372
328
|
fastify.post('/', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
373
329
|
const { id: rawParentId } = request.params as { id: string };
|
|
374
330
|
const payload = { ...(request.body as Record<string, unknown>), ${fkFieldToParent}: ${parentIdCast} as ${parentIdType} };
|
|
375
|
-
|
|
376
|
-
return reply.code(201).send(await request.model!.create(payload));
|
|
377
|
-
} catch (error: any) {
|
|
378
|
-
return reply.handleError(error, payload);
|
|
379
|
-
}
|
|
331
|
+
return reply.code(201).send(await request.model!.create(payload));
|
|
380
332
|
});
|
|
381
333
|
|
|
382
334
|
fastify.patch('/:subId', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
383
335
|
const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
|
|
384
336
|
const compositeId = { ${fkFieldToParent}: ${parentIdCast} as ${parentIdType}, ${otherFkField}: ${otherFkCast} as ${otherFkType} };
|
|
385
337
|
const payload = request.body as Record<string, unknown>;
|
|
386
|
-
|
|
387
|
-
return reply.send(await request.model!.update(compositeId, payload));
|
|
388
|
-
} catch (error: any) {
|
|
389
|
-
return reply.handleError(error, payload);
|
|
390
|
-
}
|
|
338
|
+
return reply.send(await request.model!.update(compositeId, payload));
|
|
391
339
|
});
|
|
392
340
|
|
|
393
341
|
fastify.delete('/:subId', async (request: FastifyRequest, reply: FastifyReply) => {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
|
|
399
|
-
} catch (error: any) {
|
|
400
|
-
return reply.handleError(error);
|
|
401
|
-
}
|
|
342
|
+
const { id: rawParentId, subId: rawSubId } = request.params as { id: string; subId: string };
|
|
343
|
+
const compositeId = { ${fkFieldToParent}: ${parentIdCast} as ${parentIdType}, ${otherFkField}: ${otherFkCast} as ${otherFkType} };
|
|
344
|
+
await request.model!.delete(compositeId);
|
|
345
|
+
return reply.sendResponse(200, 'object_deleted_successfully', { modelName: '${className}' });
|
|
402
346
|
});
|
|
403
347
|
};
|
|
404
348
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routeGenerator.js","sourceRoot":"","sources":["../../../src/generators/routeGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuKA,
|
|
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
|
|
3
|
+
"version": "2.2.1",
|
|
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": ">=
|
|
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
|
|
57
|
+
"@prisma/internals": "^7.8.0",
|
|
58
58
|
"commander": "^11.0.0"
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"@types/node": "^
|
|
62
|
-
"prisma": "^7.0
|
|
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
|
|
67
|
+
"@prisma/client": "^7.8.0"
|
|
68
68
|
}
|
|
69
69
|
}
|