@veloxts/router 0.3.5 → 0.3.6
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/procedure/builder.d.ts.map +1 -1
- package/dist/procedure/builder.js +79 -0
- package/dist/procedure/builder.js.map +1 -1
- package/dist/procedure/types.d.ts +32 -1
- package/dist/procedure/types.d.ts.map +1 -1
- package/dist/rest/adapter.d.ts.map +1 -1
- package/dist/rest/adapter.js +33 -8
- package/dist/rest/adapter.js.map +1 -1
- package/dist/rest/index.d.ts +1 -1
- package/dist/rest/index.d.ts.map +1 -1
- package/dist/rest/index.js +1 -1
- package/dist/rest/index.js.map +1 -1
- package/dist/rest/naming.d.ts +26 -1
- package/dist/rest/naming.d.ts.map +1 -1
- package/dist/rest/naming.js +36 -0
- package/dist/rest/naming.js.map +1 -1
- package/dist/types.d.ts +42 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -39,14 +39,14 @@
|
|
|
39
39
|
*/
|
|
40
40
|
/** Router package version */
|
|
41
41
|
export declare const ROUTER_VERSION: string;
|
|
42
|
-
export type { CompiledProcedure, ContextExtensions, ContextFactory, ExtendedContext, GuardLike, HttpMethod, InferProcedureContext, InferProcedureInput, InferProcedureOutput, InferProcedureTypes, MiddlewareArgs, MiddlewareFunction, MiddlewareNext, MiddlewareResult, ProcedureCollection, ProcedureHandler, ProcedureHandlerArgs, ProcedureRecord, ProcedureType, RestRouteOverride, } from './types.js';
|
|
42
|
+
export type { CompiledProcedure, ContextExtensions, ContextFactory, ExtendedContext, GuardLike, HttpMethod, InferProcedureContext, InferProcedureInput, InferProcedureOutput, InferProcedureTypes, MiddlewareArgs, MiddlewareFunction, MiddlewareNext, MiddlewareResult, ParentResourceConfig, ProcedureCollection, ProcedureHandler, ProcedureHandlerArgs, ProcedureRecord, ProcedureType, RestRouteOverride, } from './types.js';
|
|
43
43
|
export { PROCEDURE_METHOD_MAP, } from './types.js';
|
|
44
44
|
export type { GuardErrorResponse, RouterErrorCode } from './errors.js';
|
|
45
45
|
export { GuardError, isGuardError } from './errors.js';
|
|
46
46
|
export { defineProcedures, executeProcedure, isCompiledProcedure, isProcedureCollection, procedure, } from './procedure/builder.js';
|
|
47
47
|
export type { BuilderRuntimeState, InferProcedures, InferSchemaOutput, ProcedureBuilder, ProcedureBuilderState, ProcedureDefinitions, ValidSchema, } from './procedure/types.js';
|
|
48
48
|
export type { RestAdapterOptions, RestMapping, RestRoute } from './rest/index.js';
|
|
49
|
-
export { buildRestPath, createRoutesRegistrar, followsNamingConvention, generateRestRoutes, getRouteSummary, inferResourceName, parseNamingConvention, registerRestRoutes, rest, } from './rest/index.js';
|
|
49
|
+
export { buildNestedRestPath, buildRestPath, createRoutesRegistrar, followsNamingConvention, generateRestRoutes, getRouteSummary, inferResourceName, parseNamingConvention, registerRestRoutes, rest, } from './rest/index.js';
|
|
50
50
|
export type { AnyRouter, InferAppRouter, TRPCInstance, TRPCPluginOptions, } from './trpc/index.js';
|
|
51
51
|
export { buildTRPCRouter, createAppRouter, createTRPC, createTRPCContextFactory, registerTRPCPlugin, veloxErrorToTRPCError, } from './trpc/index.js';
|
|
52
52
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAQH,6BAA6B;AAC7B,eAAO,MAAM,cAAc,EAAE,MAA+C,CAAC;AAO7E,YAAY,EAEV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EAEf,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAEhB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAMpB,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMvD,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAEV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAS9B,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAEL,aAAa,EAEb,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAElB,IAAI,GACL,MAAM,iBAAiB,CAAC;AAMzB,YAAY,EAEV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,eAAe,EACf,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAQH,6BAA6B;AAC7B,eAAO,MAAM,cAAc,EAAE,MAA+C,CAAC;AAO7E,YAAY,EAEV,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EAEf,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EAEnB,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAEhB,oBAAoB,EAEpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAMpB,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAMvD,OAAO,EAEL,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAEV,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAS9B,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAEL,mBAAmB,EACnB,aAAa,EAEb,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAElB,IAAI,GACL,MAAM,iBAAiB,CAAC;AAMzB,YAAY,EAEV,SAAS,EACT,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,eAAe,EACf,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -55,7 +55,7 @@ export {
|
|
|
55
55
|
defineProcedures, executeProcedure, isCompiledProcedure, isProcedureCollection, procedure, } from './procedure/builder.js';
|
|
56
56
|
export {
|
|
57
57
|
// Internal utilities
|
|
58
|
-
buildRestPath,
|
|
58
|
+
buildNestedRestPath, buildRestPath,
|
|
59
59
|
// Legacy API (deprecated)
|
|
60
60
|
createRoutesRegistrar, followsNamingConvention, generateRestRoutes, getRouteSummary, inferResourceName, parseNamingConvention, registerRestRoutes,
|
|
61
61
|
// Succinct API (preferred)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,6CAA6C;AAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAEtE,6BAA6B;AAC7B,MAAM,CAAC,MAAM,cAAc,GAAW,WAAW,CAAC,OAAO,IAAI,eAAe,CAAC;AAmC7E,OAAO;AACL,YAAY;AACZ,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAOpB,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEvD,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,OAAO;AACL,oBAAoB;AACpB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAoBhC,OAAO;AACL,qBAAqB;AACrB,mBAAmB,EACnB,aAAa;AACb,0BAA0B;AAC1B,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB;AAClB,2BAA2B;AAC3B,IAAI,GACL,MAAM,iBAAiB,CAAC;AAazB,OAAO;AACL,iBAAiB;AACjB,eAAe,EACf,eAAe,EACf,UAAU,EACV,wBAAwB,EACxB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/procedure/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EACV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/procedure/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,KAAK,EACV,iBAAiB,EAIjB,mBAAmB,EAGpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,eAAe,EAEf,gBAAgB,EAChB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAyEpB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAS3E;AA8ND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,SAAS,oBAAoB,EACvE,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,WAAW,GACtB,mBAAmB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAKnD;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,SAAS,WAAW,EAClF,SAAS,EAAE,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EACvD,QAAQ,EAAE,OAAO,EACjB,GAAG,EAAE,QAAQ,GACZ,OAAO,CAAC,OAAO,CAAC,CAyDlB;AAkDD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAa9E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAYlF"}
|
|
@@ -9,6 +9,70 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { GuardError } from '../errors.js';
|
|
11
11
|
// ============================================================================
|
|
12
|
+
// Utility Functions
|
|
13
|
+
// ============================================================================
|
|
14
|
+
/**
|
|
15
|
+
* Derives the default parent parameter name from a namespace
|
|
16
|
+
*
|
|
17
|
+
* Converts a plural namespace to a singular form and appends 'Id'.
|
|
18
|
+
* Uses simple heuristics for common English pluralization patterns.
|
|
19
|
+
*
|
|
20
|
+
* @param namespace - The parent resource namespace (e.g., 'posts', 'users')
|
|
21
|
+
* @returns The parameter name (e.g., 'postId', 'userId')
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* deriveParentParamName('posts') // 'postId'
|
|
26
|
+
* deriveParentParamName('users') // 'userId'
|
|
27
|
+
* deriveParentParamName('categories') // 'categoryId'
|
|
28
|
+
* deriveParentParamName('data') // 'dataId' (no change for non-plural)
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
function deriveParentParamName(namespace) {
|
|
34
|
+
// Handle common irregular plurals
|
|
35
|
+
const irregulars = {
|
|
36
|
+
people: 'person',
|
|
37
|
+
children: 'child',
|
|
38
|
+
men: 'man',
|
|
39
|
+
women: 'woman',
|
|
40
|
+
mice: 'mouse',
|
|
41
|
+
geese: 'goose',
|
|
42
|
+
teeth: 'tooth',
|
|
43
|
+
feet: 'foot',
|
|
44
|
+
data: 'datum',
|
|
45
|
+
criteria: 'criterion',
|
|
46
|
+
phenomena: 'phenomenon',
|
|
47
|
+
};
|
|
48
|
+
const lower = namespace.toLowerCase();
|
|
49
|
+
if (irregulars[lower]) {
|
|
50
|
+
return `${irregulars[lower]}Id`;
|
|
51
|
+
}
|
|
52
|
+
// Handle common English pluralization patterns
|
|
53
|
+
let singular = namespace;
|
|
54
|
+
if (namespace.endsWith('ies') && namespace.length > 3) {
|
|
55
|
+
// categories -> category
|
|
56
|
+
singular = namespace.slice(0, -3) + 'y';
|
|
57
|
+
}
|
|
58
|
+
else if (namespace.endsWith('es') && namespace.length > 2) {
|
|
59
|
+
// Check for -shes, -ches, -xes, -zes, -sses patterns
|
|
60
|
+
const beforeEs = namespace.slice(-4, -2);
|
|
61
|
+
if (['sh', 'ch'].includes(beforeEs) || ['x', 'z', 's'].includes(namespace.slice(-3, -2))) {
|
|
62
|
+
singular = namespace.slice(0, -2);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
// classes -> class (double s + es)
|
|
66
|
+
singular = namespace.slice(0, -1);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
else if (namespace.endsWith('s') && namespace.length > 1 && !namespace.endsWith('ss')) {
|
|
70
|
+
// Simple plural: users -> user, posts -> post
|
|
71
|
+
singular = namespace.slice(0, -1);
|
|
72
|
+
}
|
|
73
|
+
return `${singular}Id`;
|
|
74
|
+
}
|
|
75
|
+
// ============================================================================
|
|
12
76
|
// Builder Factory
|
|
13
77
|
// ============================================================================
|
|
14
78
|
/**
|
|
@@ -39,6 +103,7 @@ export function procedure() {
|
|
|
39
103
|
middlewares: [],
|
|
40
104
|
guards: [],
|
|
41
105
|
restOverride: undefined,
|
|
106
|
+
parentResource: undefined,
|
|
42
107
|
});
|
|
43
108
|
}
|
|
44
109
|
// ============================================================================
|
|
@@ -108,6 +173,19 @@ function createBuilder(state) {
|
|
|
108
173
|
restOverride: config,
|
|
109
174
|
});
|
|
110
175
|
},
|
|
176
|
+
/**
|
|
177
|
+
* Declares a parent resource for nested routes
|
|
178
|
+
*/
|
|
179
|
+
parent(namespace, paramName) {
|
|
180
|
+
const parentConfig = {
|
|
181
|
+
namespace,
|
|
182
|
+
paramName: paramName ?? deriveParentParamName(namespace),
|
|
183
|
+
};
|
|
184
|
+
return createBuilder({
|
|
185
|
+
...state,
|
|
186
|
+
parentResource: parentConfig,
|
|
187
|
+
});
|
|
188
|
+
},
|
|
111
189
|
/**
|
|
112
190
|
* Finalizes as a query procedure
|
|
113
191
|
*/
|
|
@@ -147,6 +225,7 @@ function compileProcedure(type, handler, state) {
|
|
|
147
225
|
middlewares: typedMiddlewares,
|
|
148
226
|
guards: state.guards,
|
|
149
227
|
restOverride: state.restOverride,
|
|
228
|
+
parentResource: state.parentResource,
|
|
150
229
|
// Store pre-compiled executor for performance
|
|
151
230
|
_precompiledExecutor: precompiledExecutor,
|
|
152
231
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/procedure/builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/procedure/builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import type { BaseContext } from '@veloxts/core';
|
|
13
13
|
import type { ZodType, ZodTypeDef } from 'zod';
|
|
14
|
-
import type { CompiledProcedure, GuardLike, MiddlewareFunction, ProcedureHandler, RestRouteOverride } from '../types.js';
|
|
14
|
+
import type { CompiledProcedure, GuardLike, MiddlewareFunction, ParentResourceConfig, ProcedureHandler, RestRouteOverride } from '../types.js';
|
|
15
15
|
/**
|
|
16
16
|
* Internal state type that accumulates type information through the builder chain
|
|
17
17
|
*
|
|
@@ -186,6 +186,35 @@ export interface ProcedureBuilder<TInput = unknown, TOutput = unknown, TContext
|
|
|
186
186
|
* ```
|
|
187
187
|
*/
|
|
188
188
|
rest(config: RestRouteOverride): ProcedureBuilder<TInput, TOutput, TContext>;
|
|
189
|
+
/**
|
|
190
|
+
* Declares a parent resource for nested routes
|
|
191
|
+
*
|
|
192
|
+
* When a procedure has a parent resource, the REST path will be nested
|
|
193
|
+
* under the parent: `/${parentNamespace}/:${parentParam}/${childNamespace}/:id`
|
|
194
|
+
*
|
|
195
|
+
* The input schema should include the parent parameter (e.g., `postId`) for
|
|
196
|
+
* proper type safety and runtime validation.
|
|
197
|
+
*
|
|
198
|
+
* @param namespace - Parent resource namespace (e.g., 'posts', 'users')
|
|
199
|
+
* @param paramName - Optional custom parameter name (default: `${singularNamespace}Id`)
|
|
200
|
+
* @returns Same builder (no type changes)
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* // Generates: GET /posts/:postId/comments/:id
|
|
205
|
+
* const getComment = procedure()
|
|
206
|
+
* .parent('posts')
|
|
207
|
+
* .input(z.object({ postId: z.string(), id: z.string() }))
|
|
208
|
+
* .query(async ({ input }) => { ... });
|
|
209
|
+
*
|
|
210
|
+
* // With custom param name: GET /posts/:post_id/comments/:id
|
|
211
|
+
* const getComment = procedure()
|
|
212
|
+
* .parent('posts', 'post_id')
|
|
213
|
+
* .input(z.object({ post_id: z.string(), id: z.string() }))
|
|
214
|
+
* .query(async ({ input }) => { ... });
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
parent(namespace: string, paramName?: string): ProcedureBuilder<TInput, TOutput, TContext>;
|
|
189
218
|
/**
|
|
190
219
|
* Finalizes the procedure as a query (read-only operation)
|
|
191
220
|
*
|
|
@@ -242,6 +271,8 @@ export interface BuilderRuntimeState {
|
|
|
242
271
|
guards: GuardLike<unknown>[];
|
|
243
272
|
/** REST route override */
|
|
244
273
|
restOverride?: RestRouteOverride;
|
|
274
|
+
/** Parent resource configuration for nested routes */
|
|
275
|
+
parentResource?: ParentResourceConfig;
|
|
245
276
|
}
|
|
246
277
|
/**
|
|
247
278
|
* Type for the procedures object passed to defineProcedures
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/procedure/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/procedure/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/rest/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOtF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,kBAAkB;IAClB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAClF;AAED;;;GAGG;AACH,UAAU,2BAA4B,SAAQ,kBAAkB;IAC9D;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,EAAE,CAW/E;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/rest/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGjG,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOtF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,kBAAkB;IAClB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,6BAA6B;IAC7B,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CAClF;AAED;;;GAGG;AACH,UAAU,2BAA4B,SAAQ,kBAAkB;IAC9D;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,EAAE,CAW/E;AA0ND;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,mBAAmB,EAAE,EAClC,OAAO,GAAE,2BAAgC,GACxC,IAAI,CAgCN;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,mBAAmB,EAAE,EAClC,MAAM,SAAS,GACd,KAAK,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBnF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,mBAAmB,EAAE,EAClC,OAAO,GAAE,kBAAuB,GAC/B,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAInC;AAED;;;GAGG;AACH,KAAK,kBAAkB,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,IAAI,CAClB,WAAW,EAAE,mBAAmB,EAAE,EAClC,cAAc,GAAE,kBAAuB,GACtC,UAAU,CAsDZ"}
|
package/dist/rest/adapter.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { ConfigurationError } from '@veloxts/core';
|
|
11
11
|
import { executeProcedure } from '../procedure/builder.js';
|
|
12
|
-
import { buildRestPath, parseNamingConvention } from './naming.js';
|
|
12
|
+
import { buildNestedRestPath, buildRestPath, parseNamingConvention } from './naming.js';
|
|
13
13
|
// ============================================================================
|
|
14
14
|
// Route Generation
|
|
15
15
|
// ============================================================================
|
|
@@ -37,6 +37,9 @@ export function generateRestRoutes(collection) {
|
|
|
37
37
|
/**
|
|
38
38
|
* Generate a REST route for a single procedure
|
|
39
39
|
*
|
|
40
|
+
* Handles both flat routes (e.g., /users/:id) and nested routes
|
|
41
|
+
* (e.g., /posts/:postId/comments/:id) when a parent resource is configured.
|
|
42
|
+
*
|
|
40
43
|
* @internal
|
|
41
44
|
*/
|
|
42
45
|
function generateRouteForProcedure(name, procedure, namespace) {
|
|
@@ -45,6 +48,8 @@ function generateRouteForProcedure(name, procedure, namespace) {
|
|
|
45
48
|
const override = procedure.restOverride;
|
|
46
49
|
// Must have both method and path for override
|
|
47
50
|
if (override.method && override.path) {
|
|
51
|
+
// For manual overrides with full path, use as-is
|
|
52
|
+
// The user is responsible for including parent segments if needed
|
|
48
53
|
return {
|
|
49
54
|
method: override.method,
|
|
50
55
|
path: override.path,
|
|
@@ -55,9 +60,14 @@ function generateRouteForProcedure(name, procedure, namespace) {
|
|
|
55
60
|
// Partial override - try to fill in missing parts from convention
|
|
56
61
|
const convention = parseNamingConvention(name, procedure.type);
|
|
57
62
|
if (convention) {
|
|
63
|
+
// Build path based on whether there's a parent resource
|
|
64
|
+
const path = override.path ??
|
|
65
|
+
(procedure.parentResource
|
|
66
|
+
? buildNestedRestPath(procedure.parentResource, namespace, convention)
|
|
67
|
+
: buildRestPath(namespace, convention));
|
|
58
68
|
return {
|
|
59
69
|
method: override.method ?? convention.method,
|
|
60
|
-
path
|
|
70
|
+
path,
|
|
61
71
|
procedureName: name,
|
|
62
72
|
procedure,
|
|
63
73
|
};
|
|
@@ -68,9 +78,13 @@ function generateRouteForProcedure(name, procedure, namespace) {
|
|
|
68
78
|
// Try to infer from naming convention
|
|
69
79
|
const mapping = parseNamingConvention(name, procedure.type);
|
|
70
80
|
if (mapping) {
|
|
81
|
+
// Build path based on whether there's a parent resource
|
|
82
|
+
const path = procedure.parentResource
|
|
83
|
+
? buildNestedRestPath(procedure.parentResource, namespace, mapping)
|
|
84
|
+
: buildRestPath(namespace, mapping);
|
|
71
85
|
return {
|
|
72
86
|
method: mapping.method,
|
|
73
|
-
path
|
|
87
|
+
path,
|
|
74
88
|
procedureName: name,
|
|
75
89
|
procedure,
|
|
76
90
|
};
|
|
@@ -129,27 +143,38 @@ function isPlainObject(value) {
|
|
|
129
143
|
* Gather input data from the request based on HTTP method
|
|
130
144
|
*
|
|
131
145
|
* - GET: Merge params and query
|
|
132
|
-
* - POST: Use body
|
|
146
|
+
* - POST: Use body, but merge params for nested routes (parent ID in URL)
|
|
133
147
|
* - PUT/PATCH: Merge params (for ID) and body (for data)
|
|
134
148
|
* - DELETE: Merge params and query (no body per REST conventions)
|
|
149
|
+
*
|
|
150
|
+
* For nested routes (e.g., /posts/:postId/comments), the parent param
|
|
151
|
+
* is extracted from the URL and merged with the body/query as appropriate.
|
|
135
152
|
*/
|
|
136
153
|
function gatherInput(request, route) {
|
|
137
154
|
const params = isPlainObject(request.params) ? request.params : {};
|
|
138
155
|
const query = isPlainObject(request.query) ? request.query : {};
|
|
139
156
|
const body = isPlainObject(request.body) ? request.body : {};
|
|
157
|
+
// Check if this is a nested route (has parent resource)
|
|
158
|
+
const hasParentResource = route.procedure.parentResource !== undefined;
|
|
140
159
|
switch (route.method) {
|
|
141
160
|
case 'GET':
|
|
142
|
-
// GET: params (for :id) + query (for filters/pagination)
|
|
161
|
+
// GET: params (for :id and parent params) + query (for filters/pagination)
|
|
143
162
|
return { ...params, ...query };
|
|
144
163
|
case 'DELETE':
|
|
145
|
-
// DELETE: params (for :id) + query (for options), no body per REST conventions
|
|
164
|
+
// DELETE: params (for :id and parent params) + query (for options), no body per REST conventions
|
|
146
165
|
return { ...params, ...query };
|
|
147
166
|
case 'PUT':
|
|
148
167
|
case 'PATCH':
|
|
149
|
-
// PUT/PATCH: params (for :id) + body (for data)
|
|
168
|
+
// PUT/PATCH: params (for :id and parent params) + body (for data)
|
|
150
169
|
return { ...params, ...body };
|
|
170
|
+
case 'POST':
|
|
171
|
+
// POST: For nested routes, merge params (for parent ID) with body
|
|
172
|
+
// For flat routes, use body only (no ID in params for creates)
|
|
173
|
+
if (hasParentResource) {
|
|
174
|
+
return { ...params, ...body };
|
|
175
|
+
}
|
|
176
|
+
return request.body;
|
|
151
177
|
default:
|
|
152
|
-
// POST: body only (no ID in params for creates)
|
|
153
178
|
return request.body;
|
|
154
179
|
}
|
|
155
180
|
}
|
package/dist/rest/adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/rest/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAoB,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/rest/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/rest/index.d.ts
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
export type { RestAdapterOptions, RestPlugin, RestRoute } from './adapter.js';
|
|
7
7
|
export { createRoutesRegistrar, generateRestRoutes, getRouteSummary, registerRestRoutes, rest, } from './adapter.js';
|
|
8
8
|
export type { RestMapping } from './naming.js';
|
|
9
|
-
export { buildRestPath, followsNamingConvention, inferResourceName, parseNamingConvention, } from './naming.js';
|
|
9
|
+
export { buildNestedRestPath, buildRestPath, followsNamingConvention, inferResourceName, parseNamingConvention, } from './naming.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/rest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAEL,qBAAqB,EAErB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAElB,IAAI,GACL,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAEL,qBAAqB,EAErB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAElB,IAAI,GACL,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
package/dist/rest/index.js
CHANGED
|
@@ -11,5 +11,5 @@ createRoutesRegistrar,
|
|
|
11
11
|
generateRestRoutes, getRouteSummary, registerRestRoutes,
|
|
12
12
|
// Succinct API (preferred)
|
|
13
13
|
rest, } from './adapter.js';
|
|
14
|
-
export { buildRestPath, followsNamingConvention, inferResourceName, parseNamingConvention, } from './naming.js';
|
|
14
|
+
export { buildNestedRestPath, buildRestPath, followsNamingConvention, inferResourceName, parseNamingConvention, } from './naming.js';
|
|
15
15
|
//# sourceMappingURL=index.js.map
|
package/dist/rest/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,4BAA4B;AAC5B,OAAO;AACL,0BAA0B;AAC1B,qBAAqB;AACrB,qBAAqB;AACrB,kBAAkB,EAClB,eAAe,EACf,kBAAkB;AAClB,2BAA2B;AAC3B,IAAI,GACL,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rest/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,4BAA4B;AAC5B,OAAO;AACL,0BAA0B;AAC1B,qBAAqB;AACrB,qBAAqB;AACrB,kBAAkB,EAClB,eAAe,EACf,kBAAkB;AAClB,2BAA2B;AAC3B,IAAI,GACL,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
|
package/dist/rest/naming.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module rest/naming
|
|
8
8
|
*/
|
|
9
|
-
import type { HttpMethod, ProcedureType } from '../types.js';
|
|
9
|
+
import type { HttpMethod, ParentResourceConfig, ProcedureType } from '../types.js';
|
|
10
10
|
/**
|
|
11
11
|
* Result of parsing a procedure name into REST route info
|
|
12
12
|
*/
|
|
@@ -58,6 +58,31 @@ export declare function parseNamingConvention(name: string, type: ProcedureType)
|
|
|
58
58
|
* ```
|
|
59
59
|
*/
|
|
60
60
|
export declare function buildRestPath(namespace: string, mapping: RestMapping): string;
|
|
61
|
+
/**
|
|
62
|
+
* Build a nested REST path with parent resource prefix
|
|
63
|
+
*
|
|
64
|
+
* Creates paths like `/posts/:postId/comments/:id` for nested resources.
|
|
65
|
+
*
|
|
66
|
+
* @param parentResource - Parent resource configuration
|
|
67
|
+
* @param childNamespace - Child resource namespace (e.g., 'comments')
|
|
68
|
+
* @param mapping - REST mapping from parseNamingConvention
|
|
69
|
+
* @returns Full nested path
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const parent = { namespace: 'posts', paramName: 'postId' };
|
|
74
|
+
*
|
|
75
|
+
* buildNestedRestPath(parent, 'comments', { method: 'GET', path: '/:id', hasIdParam: true })
|
|
76
|
+
* // Returns: '/posts/:postId/comments/:id'
|
|
77
|
+
*
|
|
78
|
+
* buildNestedRestPath(parent, 'comments', { method: 'GET', path: '/', hasIdParam: false })
|
|
79
|
+
* // Returns: '/posts/:postId/comments'
|
|
80
|
+
*
|
|
81
|
+
* buildNestedRestPath(parent, 'comments', { method: 'POST', path: '/', hasIdParam: false })
|
|
82
|
+
* // Returns: '/posts/:postId/comments'
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare function buildNestedRestPath(parentResource: ParentResourceConfig, childNamespace: string, mapping: RestMapping): string;
|
|
61
86
|
/**
|
|
62
87
|
* Infer the resource name from a procedure name
|
|
63
88
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/rest/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/rest/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMnF;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAgHD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,WAAW,GAAG,SAAS,CAoBhG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CAU7E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,oBAAoB,EACpC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,WAAW,GACnB,MAAM,CAcR;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQlE;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAElF"}
|
package/dist/rest/naming.js
CHANGED
|
@@ -165,6 +165,42 @@ export function buildRestPath(namespace, mapping) {
|
|
|
165
165
|
// Otherwise append the path (e.g., '/:id')
|
|
166
166
|
return `${basePath}${mapping.path}`;
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Build a nested REST path with parent resource prefix
|
|
170
|
+
*
|
|
171
|
+
* Creates paths like `/posts/:postId/comments/:id` for nested resources.
|
|
172
|
+
*
|
|
173
|
+
* @param parentResource - Parent resource configuration
|
|
174
|
+
* @param childNamespace - Child resource namespace (e.g., 'comments')
|
|
175
|
+
* @param mapping - REST mapping from parseNamingConvention
|
|
176
|
+
* @returns Full nested path
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* const parent = { namespace: 'posts', paramName: 'postId' };
|
|
181
|
+
*
|
|
182
|
+
* buildNestedRestPath(parent, 'comments', { method: 'GET', path: '/:id', hasIdParam: true })
|
|
183
|
+
* // Returns: '/posts/:postId/comments/:id'
|
|
184
|
+
*
|
|
185
|
+
* buildNestedRestPath(parent, 'comments', { method: 'GET', path: '/', hasIdParam: false })
|
|
186
|
+
* // Returns: '/posts/:postId/comments'
|
|
187
|
+
*
|
|
188
|
+
* buildNestedRestPath(parent, 'comments', { method: 'POST', path: '/', hasIdParam: false })
|
|
189
|
+
* // Returns: '/posts/:postId/comments'
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
export function buildNestedRestPath(parentResource, childNamespace, mapping) {
|
|
193
|
+
// Build parent path segment: /{parentNamespace}/:{parentParamName}
|
|
194
|
+
const parentPath = `/${parentResource.namespace}/:${parentResource.paramName}`;
|
|
195
|
+
// Build child path segment
|
|
196
|
+
const childBasePath = `/${childNamespace}`;
|
|
197
|
+
// If mapping path is just '/', don't add extra suffix
|
|
198
|
+
if (mapping.path === '/') {
|
|
199
|
+
return `${parentPath}${childBasePath}`;
|
|
200
|
+
}
|
|
201
|
+
// Otherwise append the path (e.g., '/:id')
|
|
202
|
+
return `${parentPath}${childBasePath}${mapping.path}`;
|
|
203
|
+
}
|
|
168
204
|
/**
|
|
169
205
|
* Infer the resource name from a procedure name
|
|
170
206
|
*
|
package/dist/rest/naming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/rest/naming.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/rest/naming.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -190,6 +190,34 @@ export interface RestRouteOverride {
|
|
|
190
190
|
/** Custom path pattern (e.g., '/users/:id/activate') */
|
|
191
191
|
path?: string;
|
|
192
192
|
}
|
|
193
|
+
/**
|
|
194
|
+
* Parent resource configuration for nested routes
|
|
195
|
+
*
|
|
196
|
+
* Defines the parent resource relationship for generating nested REST routes
|
|
197
|
+
* like `/posts/:postId/comments/:id`.
|
|
198
|
+
*
|
|
199
|
+
* @example
|
|
200
|
+
* ```typescript
|
|
201
|
+
* // Default param name: posts -> postId
|
|
202
|
+
* procedure().parent('posts')
|
|
203
|
+
*
|
|
204
|
+
* // Custom param name
|
|
205
|
+
* procedure().parent('posts', 'post_id')
|
|
206
|
+
* ```
|
|
207
|
+
*/
|
|
208
|
+
export interface ParentResourceConfig {
|
|
209
|
+
/**
|
|
210
|
+
* Parent resource namespace (e.g., 'posts', 'users')
|
|
211
|
+
* Used to build the parent path segment: `/${namespace}/:${paramName}`
|
|
212
|
+
*/
|
|
213
|
+
readonly namespace: string;
|
|
214
|
+
/**
|
|
215
|
+
* Parent resource parameter name in the path
|
|
216
|
+
* Defaults to `${singularNamespace}Id` if not specified
|
|
217
|
+
* (e.g., 'posts' -> 'postId', 'users' -> 'userId')
|
|
218
|
+
*/
|
|
219
|
+
readonly paramName: string;
|
|
220
|
+
}
|
|
193
221
|
/**
|
|
194
222
|
* Compiled procedure with all metadata and handlers
|
|
195
223
|
*
|
|
@@ -219,6 +247,20 @@ export interface CompiledProcedure<TInput = unknown, TOutput = unknown, TContext
|
|
|
219
247
|
readonly guards: ReadonlyArray<GuardLike<TContext>>;
|
|
220
248
|
/** REST route override (if specified) */
|
|
221
249
|
readonly restOverride?: RestRouteOverride;
|
|
250
|
+
/**
|
|
251
|
+
* Parent resource configuration for nested routes
|
|
252
|
+
*
|
|
253
|
+
* When specified, the REST path will be prefixed with the parent resource:
|
|
254
|
+
* `/${parent.namespace}/:${parent.paramName}/${childNamespace}/:id`
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* // With parentResource: { namespace: 'posts', paramName: 'postId' }
|
|
259
|
+
* // and namespace: 'comments'
|
|
260
|
+
* // Generates: /posts/:postId/comments/:id
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
readonly parentResource?: ParentResourceConfig;
|
|
222
264
|
/**
|
|
223
265
|
* Pre-compiled middleware chain executor
|
|
224
266
|
*
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veloxts/router",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "Procedure definitions with tRPC and REST routing for VeloxTS framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"dependencies": {
|
|
28
28
|
"@trpc/server": "11.7.2",
|
|
29
29
|
"fastify": "5.6.2",
|
|
30
|
-
"@veloxts/core": "0.3.
|
|
31
|
-
"@veloxts/validation": "0.3.
|
|
30
|
+
"@veloxts/core": "0.3.6",
|
|
31
|
+
"@veloxts/validation": "0.3.6"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"@vitest/coverage-v8": "4.0.15",
|