@veloxts/router 0.3.1 → 0.3.3
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/README.md +78 -21
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/rest/adapter.d.ts.map +1 -1
- package/dist/rest/adapter.js +46 -22
- package/dist/rest/adapter.js.map +1 -1
- package/dist/rest/naming.d.ts.map +1 -1
- package/dist/rest/naming.js +49 -13
- package/dist/rest/naming.js.map +1 -1
- package/package.json +8 -7
package/README.md
CHANGED
|
@@ -133,8 +133,24 @@ const userProcedures = defineProcedures('users', {
|
|
|
133
133
|
return ctx.db.user.create({ data: input });
|
|
134
134
|
}),
|
|
135
135
|
|
|
136
|
-
//
|
|
136
|
+
// PUT /api/users/:id - Full update
|
|
137
137
|
updateUser: procedure()
|
|
138
|
+
.input(z.object({
|
|
139
|
+
id: z.string().uuid(),
|
|
140
|
+
name: z.string().min(1),
|
|
141
|
+
email: z.string().email(),
|
|
142
|
+
}))
|
|
143
|
+
.output(UserSchema)
|
|
144
|
+
.mutation(async ({ input, ctx }) => {
|
|
145
|
+
const { id, ...data } = input;
|
|
146
|
+
return ctx.db.user.update({
|
|
147
|
+
where: { id },
|
|
148
|
+
data,
|
|
149
|
+
});
|
|
150
|
+
}),
|
|
151
|
+
|
|
152
|
+
// PATCH /api/users/:id - Partial update
|
|
153
|
+
patchUser: procedure()
|
|
138
154
|
.input(z.object({
|
|
139
155
|
id: z.string().uuid(),
|
|
140
156
|
name: z.string().min(1).optional(),
|
|
@@ -148,6 +164,15 @@ const userProcedures = defineProcedures('users', {
|
|
|
148
164
|
data,
|
|
149
165
|
});
|
|
150
166
|
}),
|
|
167
|
+
|
|
168
|
+
// DELETE /api/users/:id
|
|
169
|
+
deleteUser: procedure()
|
|
170
|
+
.input(z.object({ id: z.string().uuid() }))
|
|
171
|
+
.output(z.object({ success: z.boolean() }))
|
|
172
|
+
.mutation(async ({ input, ctx }) => {
|
|
173
|
+
await ctx.db.user.delete({ where: { id: input.id } });
|
|
174
|
+
return { success: true };
|
|
175
|
+
}),
|
|
151
176
|
});
|
|
152
177
|
```
|
|
153
178
|
|
|
@@ -155,21 +180,35 @@ const userProcedures = defineProcedures('users', {
|
|
|
155
180
|
|
|
156
181
|
VeloxTS automatically generates REST endpoints from procedure names using **naming conventions**:
|
|
157
182
|
|
|
158
|
-
###
|
|
183
|
+
### Supported Naming Patterns
|
|
159
184
|
|
|
160
|
-
| Procedure Name | HTTP Method | REST Path | Notes |
|
|
161
|
-
|
|
162
|
-
| `getUser` | GET | `/users/:id` | Single resource |
|
|
163
|
-
| `listUsers` | GET | `/users` | Collection |
|
|
164
|
-
| `
|
|
185
|
+
| Procedure Name | HTTP Method | REST Path | Status Code | Notes |
|
|
186
|
+
|---------------|-------------|-----------|-------------|-------|
|
|
187
|
+
| `getUser` | GET | `/users/:id` | 200 | Single resource |
|
|
188
|
+
| `listUsers` | GET | `/users` | 200 | Collection |
|
|
189
|
+
| `findUsers` | GET | `/users` | 200 | Search/filter |
|
|
190
|
+
| `createUser` | POST | `/users` | 201 | Create resource |
|
|
191
|
+
| `addUser` | POST | `/users` | 201 | Create resource |
|
|
192
|
+
| `updateUser` | PUT | `/users/:id` | 200 | Full update |
|
|
193
|
+
| `editUser` | PUT | `/users/:id` | 200 | Full update |
|
|
194
|
+
| `patchUser` | PATCH | `/users/:id` | 200 | Partial update |
|
|
195
|
+
| `deleteUser` | DELETE | `/users/:id` | 200/204 | Delete resource |
|
|
196
|
+
| `removeUser` | DELETE | `/users/:id` | 200/204 | Delete resource |
|
|
165
197
|
|
|
166
|
-
###
|
|
198
|
+
### Input Gathering
|
|
167
199
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
200
|
+
Different HTTP methods gather inputs from different request parts:
|
|
201
|
+
|
|
202
|
+
- **GET/DELETE**: `params` (route parameters) + `query` (query string)
|
|
203
|
+
- **POST**: `body` only
|
|
204
|
+
- **PUT/PATCH**: `params` (route parameters) + `body`
|
|
205
|
+
|
|
206
|
+
### Status Codes
|
|
207
|
+
|
|
208
|
+
- **GET**: 200 OK
|
|
209
|
+
- **POST**: 201 Created
|
|
210
|
+
- **PUT/PATCH**: 200 OK
|
|
211
|
+
- **DELETE**: 200 OK (with response body) or 204 No Content (if handler returns null)
|
|
173
212
|
|
|
174
213
|
### Custom REST Paths
|
|
175
214
|
|
|
@@ -461,8 +500,27 @@ export const userProcedures = defineProcedures('users', {
|
|
|
461
500
|
return ctx.db.user.create({ data: input });
|
|
462
501
|
}),
|
|
463
502
|
|
|
464
|
-
// PUT /users/:id
|
|
465
|
-
|
|
503
|
+
// PUT /users/:id
|
|
504
|
+
updateUser: procedure()
|
|
505
|
+
.input(z.object({
|
|
506
|
+
id: z.string().uuid(),
|
|
507
|
+
name: z.string().min(1).max(100),
|
|
508
|
+
email: z.string().email(),
|
|
509
|
+
}))
|
|
510
|
+
.output(UserSchema)
|
|
511
|
+
.mutation(async ({ input, ctx }) => {
|
|
512
|
+
const { id, ...data } = input;
|
|
513
|
+
return ctx.db.user.update({ where: { id }, data });
|
|
514
|
+
}),
|
|
515
|
+
|
|
516
|
+
// DELETE /users/:id
|
|
517
|
+
deleteUser: procedure()
|
|
518
|
+
.input(z.object({ id: z.string().uuid() }))
|
|
519
|
+
.output(z.object({ success: z.boolean() }))
|
|
520
|
+
.mutation(async ({ input, ctx }) => {
|
|
521
|
+
await ctx.db.user.delete({ where: { id: input.id } });
|
|
522
|
+
return { success: true };
|
|
523
|
+
}),
|
|
466
524
|
});
|
|
467
525
|
```
|
|
468
526
|
|
|
@@ -613,21 +671,20 @@ await registerRestRoutes(app.server, {
|
|
|
613
671
|
// Generates: GET /api/v1/users/:id
|
|
614
672
|
```
|
|
615
673
|
|
|
616
|
-
##
|
|
617
|
-
|
|
618
|
-
The current v0.1.0 release supports:
|
|
674
|
+
## Current Features
|
|
619
675
|
|
|
620
676
|
**Included:**
|
|
621
677
|
- Query procedures (GET)
|
|
622
|
-
- Mutation procedures (POST)
|
|
678
|
+
- Mutation procedures (POST, PUT, PATCH, DELETE)
|
|
679
|
+
- Full REST verb support with smart input gathering
|
|
680
|
+
- Proper HTTP status codes (201, 204, etc.)
|
|
623
681
|
- Input/output validation with Zod
|
|
624
682
|
- Naming convention-based REST mapping
|
|
625
683
|
- Custom REST path overrides
|
|
626
684
|
- tRPC adapter for type-safe internal calls
|
|
627
685
|
- Middleware support
|
|
628
686
|
|
|
629
|
-
**
|
|
630
|
-
- Full REST verbs (PUT, PATCH, DELETE)
|
|
687
|
+
**Planned for Future Releases:**
|
|
631
688
|
- Nested resource routing
|
|
632
689
|
- OpenAPI/Swagger documentation generation
|
|
633
690
|
- Rate limiting middleware
|
package/dist/index.d.ts
CHANGED
|
@@ -37,7 +37,8 @@
|
|
|
37
37
|
*
|
|
38
38
|
* @module @veloxts/router
|
|
39
39
|
*/
|
|
40
|
-
|
|
40
|
+
/** Router package version */
|
|
41
|
+
export declare const ROUTER_VERSION: string;
|
|
41
42
|
export type { CompiledProcedure, ContextExtensions, ContextFactory, ExtendedContext, HttpMethod, InferProcedureContext, InferProcedureInput, InferProcedureOutput, InferProcedureTypes, MiddlewareArgs, MiddlewareFunction, MiddlewareNext, MiddlewareResult, ProcedureCollection, ProcedureHandler, ProcedureHandlerArgs, ProcedureRecord, ProcedureType, RestRouteOverride, } from './types.js';
|
|
42
43
|
export { PROCEDURE_METHOD_MAP, } from './types.js';
|
|
43
44
|
export { defineProcedures, executeProcedure, isCompiledProcedure, isProcedureCollection, procedure, } from './procedure/builder.js';
|
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;
|
|
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,EACf,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,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,EACL,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,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
|
@@ -37,8 +37,12 @@
|
|
|
37
37
|
*
|
|
38
38
|
* @module @veloxts/router
|
|
39
39
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
import { createRequire } from 'node:module';
|
|
41
|
+
// Read version from package.json dynamically
|
|
42
|
+
const require = createRequire(import.meta.url);
|
|
43
|
+
const packageJson = require('../package.json');
|
|
44
|
+
/** Router package version */
|
|
45
|
+
export const ROUTER_VERSION = packageJson.version ?? '0.0.0-unknown';
|
|
42
46
|
export {
|
|
43
47
|
// Constants
|
|
44
48
|
PROCEDURE_METHOD_MAP, } from './types.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,
|
|
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;AA+B7E,OAAO;AACL,YAAY;AACZ,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,+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,EACL,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,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":"adapter.d.ts","sourceRoot":"","sources":["../../src/rest/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG7E,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;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,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;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,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG7E,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;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,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;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,EAAE,CAW/E;AA6KD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,eAAe,EACvB,WAAW,EAAE,mBAAmB,EAAE,EAClC,OAAO,GAAE,kBAAuB,GAC/B,IAAI,CA8BN;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;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,mBAAmB,EAAE,EAClC,OAAO,GAAE,kBAAuB,GAC/B,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAInC"}
|
package/dist/rest/adapter.js
CHANGED
|
@@ -68,10 +68,6 @@ function generateRouteForProcedure(name, procedure, namespace) {
|
|
|
68
68
|
// Try to infer from naming convention
|
|
69
69
|
const mapping = parseNamingConvention(name, procedure.type);
|
|
70
70
|
if (mapping) {
|
|
71
|
-
// MVP: Only allow GET and POST
|
|
72
|
-
if (mapping.method !== 'GET' && mapping.method !== 'POST') {
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
71
|
return {
|
|
76
72
|
method: mapping.method,
|
|
77
73
|
path: buildRestPath(namespace, mapping),
|
|
@@ -92,7 +88,8 @@ function generateRouteForProcedure(name, procedure, namespace) {
|
|
|
92
88
|
* 1. Extracts input from request (params, query, body)
|
|
93
89
|
* 2. Gets context from request decorator
|
|
94
90
|
* 3. Executes the procedure (validation, middleware, handler)
|
|
95
|
-
* 4.
|
|
91
|
+
* 4. Sets appropriate HTTP status code
|
|
92
|
+
* 5. Returns the result
|
|
96
93
|
*/
|
|
97
94
|
function createRouteHandler(route) {
|
|
98
95
|
return async (request, reply) => {
|
|
@@ -102,9 +99,22 @@ function createRouteHandler(route) {
|
|
|
102
99
|
const ctx = getContextFromRequest(request);
|
|
103
100
|
// Execute the procedure
|
|
104
101
|
const result = await executeProcedure(route.procedure, input, ctx);
|
|
105
|
-
//
|
|
106
|
-
|
|
107
|
-
|
|
102
|
+
// Set appropriate HTTP status codes based on method and result
|
|
103
|
+
switch (route.method) {
|
|
104
|
+
case 'POST':
|
|
105
|
+
// 201 Created for new resources
|
|
106
|
+
if (route.procedureName.startsWith('create') || route.procedureName.startsWith('add')) {
|
|
107
|
+
reply.status(201);
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
110
|
+
case 'DELETE':
|
|
111
|
+
// 204 No Content if result is null/undefined/empty, otherwise 200 OK
|
|
112
|
+
if (result === null || result === undefined) {
|
|
113
|
+
reply.status(204);
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
break;
|
|
117
|
+
// GET, PUT, PATCH default to 200 OK (Fastify default)
|
|
108
118
|
}
|
|
109
119
|
return result;
|
|
110
120
|
};
|
|
@@ -120,19 +130,29 @@ function isPlainObject(value) {
|
|
|
120
130
|
*
|
|
121
131
|
* - GET: Merge params and query
|
|
122
132
|
* - POST: Use body
|
|
133
|
+
* - PUT/PATCH: Merge params (for ID) and body (for data)
|
|
134
|
+
* - DELETE: Merge params and query (no body per REST conventions)
|
|
123
135
|
*/
|
|
124
136
|
function gatherInput(request, route) {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
...query
|
|
132
|
-
|
|
137
|
+
const params = isPlainObject(request.params) ? request.params : {};
|
|
138
|
+
const query = isPlainObject(request.query) ? request.query : {};
|
|
139
|
+
const body = isPlainObject(request.body) ? request.body : {};
|
|
140
|
+
switch (route.method) {
|
|
141
|
+
case 'GET':
|
|
142
|
+
// GET: params (for :id) + query (for filters/pagination)
|
|
143
|
+
return { ...params, ...query };
|
|
144
|
+
case 'DELETE':
|
|
145
|
+
// DELETE: params (for :id) + query (for options), no body per REST conventions
|
|
146
|
+
return { ...params, ...query };
|
|
147
|
+
case 'PUT':
|
|
148
|
+
case 'PATCH':
|
|
149
|
+
// PUT/PATCH: params (for :id) + body (for data)
|
|
150
|
+
return { ...params, ...body };
|
|
151
|
+
case 'POST':
|
|
152
|
+
default:
|
|
153
|
+
// POST: body only (no ID in params for creates)
|
|
154
|
+
return request.body;
|
|
133
155
|
}
|
|
134
|
-
// POST, PUT, PATCH, DELETE: Use body
|
|
135
|
-
return request.body;
|
|
136
156
|
}
|
|
137
157
|
/**
|
|
138
158
|
* Extract context from Fastify request
|
|
@@ -203,10 +223,14 @@ export function registerRestRoutes(server, collections, options = {}) {
|
|
|
203
223
|
case 'POST':
|
|
204
224
|
server.post(fullPath, handler);
|
|
205
225
|
break;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
226
|
+
case 'PUT':
|
|
227
|
+
server.put(fullPath, handler);
|
|
228
|
+
break;
|
|
229
|
+
case 'PATCH':
|
|
230
|
+
server.patch(fullPath, handler);
|
|
231
|
+
break;
|
|
232
|
+
case 'DELETE':
|
|
233
|
+
server.delete(fullPath, handler);
|
|
210
234
|
break;
|
|
211
235
|
}
|
|
212
236
|
}
|
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;AA8BnE,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAA+B;IAChE,MAAM,MAAM,GAAgB,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC/E,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAS,yBAAyB,CAChC,IAAY,EACZ,SAA4B,EAC5B,SAAiB;IAEjB,uCAAuC;IACvC,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC;QAExC,8CAA8C;QAC9C,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,aAAa,EAAE,IAAI;gBACnB,SAAS;aACV,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/D,IAAI,UAAU,EAAE,CAAC;YACf,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM;gBAC5C,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,aAAa,CAAC,SAAS,EAAE,UAAU,CAAC;gBAC3D,aAAa,EAAE,IAAI;gBACnB,SAAS;aACV,CAAC;QACJ,CAAC;QAED,yCAAyC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACZ
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/rest/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAM7D;;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;
|
|
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;AAM7D;;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;;;;;;;;;;;;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
|
@@ -10,20 +10,21 @@
|
|
|
10
10
|
// Naming Patterns
|
|
11
11
|
// ============================================================================
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* REST naming patterns - Full verb support
|
|
14
14
|
*
|
|
15
15
|
* Pattern matching is done by prefix:
|
|
16
|
-
* - get<Resource> -> GET /:id
|
|
17
|
-
* - list<Resources> -> GET /
|
|
18
|
-
* - find<Resource> -> GET /
|
|
19
|
-
* - create<Resource> -> POST /
|
|
20
|
-
* - add<Resource> -> POST /
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* -
|
|
24
|
-
* - delete<Resource> -> DELETE /:id
|
|
16
|
+
* - get<Resource> -> GET /:id (single resource)
|
|
17
|
+
* - list<Resources> -> GET / (collection)
|
|
18
|
+
* - find<Resource> -> GET / (search/filter)
|
|
19
|
+
* - create<Resource> -> POST / (create new)
|
|
20
|
+
* - add<Resource> -> POST / (alias for create)
|
|
21
|
+
* - update<Resource> -> PUT /:id (full update)
|
|
22
|
+
* - edit<Resource> -> PUT /:id (alias for update)
|
|
23
|
+
* - patch<Resource> -> PATCH /:id (partial update)
|
|
24
|
+
* - delete<Resource> -> DELETE /:id (remove resource)
|
|
25
|
+
* - remove<Resource> -> DELETE /:id (alias for delete)
|
|
25
26
|
*/
|
|
26
|
-
const
|
|
27
|
+
const NAMING_PATTERNS = [
|
|
27
28
|
// GET with ID - single resource retrieval
|
|
28
29
|
{
|
|
29
30
|
pattern: /^get([A-Z][a-zA-Z]*)$/,
|
|
@@ -59,6 +60,41 @@ const MVP_NAMING_PATTERNS = [
|
|
|
59
60
|
hasIdParam: false,
|
|
60
61
|
procedureType: 'mutation',
|
|
61
62
|
},
|
|
63
|
+
// PUT - full update
|
|
64
|
+
{
|
|
65
|
+
pattern: /^update([A-Z][a-zA-Z]*)$/,
|
|
66
|
+
method: 'PUT',
|
|
67
|
+
hasIdParam: true,
|
|
68
|
+
procedureType: 'mutation',
|
|
69
|
+
},
|
|
70
|
+
// PUT - edit resource (alias)
|
|
71
|
+
{
|
|
72
|
+
pattern: /^edit([A-Z][a-zA-Z]*)$/,
|
|
73
|
+
method: 'PUT',
|
|
74
|
+
hasIdParam: true,
|
|
75
|
+
procedureType: 'mutation',
|
|
76
|
+
},
|
|
77
|
+
// PATCH - partial update
|
|
78
|
+
{
|
|
79
|
+
pattern: /^patch([A-Z][a-zA-Z]*)$/,
|
|
80
|
+
method: 'PATCH',
|
|
81
|
+
hasIdParam: true,
|
|
82
|
+
procedureType: 'mutation',
|
|
83
|
+
},
|
|
84
|
+
// DELETE - remove resource
|
|
85
|
+
{
|
|
86
|
+
pattern: /^delete([A-Z][a-zA-Z]*)$/,
|
|
87
|
+
method: 'DELETE',
|
|
88
|
+
hasIdParam: true,
|
|
89
|
+
procedureType: 'mutation',
|
|
90
|
+
},
|
|
91
|
+
// DELETE - remove resource (alias)
|
|
92
|
+
{
|
|
93
|
+
pattern: /^remove([A-Z][a-zA-Z]*)$/,
|
|
94
|
+
method: 'DELETE',
|
|
95
|
+
hasIdParam: true,
|
|
96
|
+
procedureType: 'mutation',
|
|
97
|
+
},
|
|
62
98
|
];
|
|
63
99
|
// ============================================================================
|
|
64
100
|
// Parsing Functions
|
|
@@ -86,7 +122,7 @@ const MVP_NAMING_PATTERNS = [
|
|
|
86
122
|
* ```
|
|
87
123
|
*/
|
|
88
124
|
export function parseNamingConvention(name, type) {
|
|
89
|
-
for (const pattern of
|
|
125
|
+
for (const pattern of NAMING_PATTERNS) {
|
|
90
126
|
// Check if procedure type matches
|
|
91
127
|
if (pattern.procedureType !== type) {
|
|
92
128
|
continue;
|
|
@@ -143,7 +179,7 @@ export function buildRestPath(namespace, mapping) {
|
|
|
143
179
|
* ```
|
|
144
180
|
*/
|
|
145
181
|
export function inferResourceName(name) {
|
|
146
|
-
for (const pattern of
|
|
182
|
+
for (const pattern of NAMING_PATTERNS) {
|
|
147
183
|
const match = pattern.pattern.exec(name);
|
|
148
184
|
if (match) {
|
|
149
185
|
return match[1];
|
package/dist/rest/naming.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/rest/naming.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkCH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/rest/naming.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.3",
|
|
4
4
|
"description": "Procedure definitions with tRPC and REST routing for VeloxTS framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,17 +14,18 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@trpc/server": "11.7.2",
|
|
16
16
|
"fastify": "5.6.2",
|
|
17
|
-
"@veloxts/core": "0.3.
|
|
18
|
-
"@veloxts/validation": "0.3.
|
|
17
|
+
"@veloxts/core": "0.3.3",
|
|
18
|
+
"@veloxts/validation": "0.3.3"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
+
"@vitest/coverage-v8": "4.0.15",
|
|
21
22
|
"typescript": "5.9.3",
|
|
22
|
-
"
|
|
23
|
-
"
|
|
23
|
+
"vitest": "4.0.15",
|
|
24
|
+
"zod": "3.24.4"
|
|
24
25
|
},
|
|
25
26
|
"peerDependencies": {
|
|
26
|
-
"
|
|
27
|
-
"
|
|
27
|
+
"fastify": "^5.0.0",
|
|
28
|
+
"zod": "^3.24.0"
|
|
28
29
|
},
|
|
29
30
|
"peerDependenciesMeta": {
|
|
30
31
|
"zod": {
|