@eecho/express 0.1.0 → 0.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/api/api.d.ts CHANGED
@@ -1,7 +1,8 @@
1
- import type { NextFunction, Request as ExpressRequest, Response as ExpressResponse, Router } from 'express';
1
+ import type { RequestHandler, Router } from 'express';
2
2
  import type { ServerAPISpecification } from '@eecho/definition';
3
3
  import type { APIHandler, ExpressMiddleware } from './api.type.js';
4
- export declare function setMiddleware<TResult>(middleware: ExpressMiddleware<TResult>): (request: ExpressRequest, response: ExpressResponse, next: NextFunction) => Promise<void | Awaited<TResult>>;
4
+ /** Forwards both thrown errors and rejected promises to Express error handling. */
5
+ export declare function setMiddleware(middleware: ExpressMiddleware): RequestHandler;
5
6
  export declare function setAPIEndpoint<TSpec extends ServerAPISpecification>(input: {
6
7
  router: Router;
7
8
  apiSpec: TSpec;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,IAAI,cAAc,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE5G,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGnE,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,iBAAiB,CAAC,OAAO,CAAC,IACnE,SAAS,cAAc,EAAE,UAAU,eAAe,EAAE,MAAM,YAAY,sCAG/E;AAED,wBAAgB,cAAc,CAAC,KAAK,SAAS,sBAAsB,EAAE,KAAK,EAAE;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC1B,QA6BA"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAyC,MAAM,eAAe,CAAC;AAc1G,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,UAAU,EAAE,iBAAiB,GAAG,cAAc,CAQ3E;AAED,wBAAgB,cAAc,CAAC,KAAK,SAAS,sBAAsB,EAAE,KAAK,EAAE;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;CAC1B,QAuBA"}
package/dist/api/api.js CHANGED
@@ -1,7 +1,19 @@
1
- import { parseRequestParams, registerRoute } from './api.util.js';
1
+ function parseRequestParams(request, requestSpec) {
2
+ const { queryParams, body } = requestSpec;
3
+ return {
4
+ query: (queryParams ? queryParams.parse(request.query) : {}),
5
+ body: (body ? body.parse(request.body) : {}),
6
+ };
7
+ }
8
+ /** Forwards both thrown errors and rejected promises to Express error handling. */
2
9
  export function setMiddleware(middleware) {
3
- return (request, response, next) => {
4
- return Promise.resolve(middleware(request, response, next)).catch(next);
10
+ return async (request, response, next) => {
11
+ try {
12
+ await middleware(request, response, next);
13
+ }
14
+ catch (error) {
15
+ next(error);
16
+ }
5
17
  };
6
18
  }
7
19
  export function setAPIEndpoint(input) {
@@ -9,18 +21,13 @@ export function setAPIEndpoint(input) {
9
21
  if (apiEndpoint !== apiSpec.APIEndpoint || method !== apiSpec.Method) {
10
22
  throw new Error('Route endpoint and method must match the API specification.');
11
23
  }
12
- const apiMiddleware = setMiddleware((request, response, next) => {
13
- const { queryParams, bodyParams } = parseRequestParams(request, apiSpec.Request);
14
- return handler({
15
- req: request,
16
- res: response,
17
- next,
18
- params: {
19
- query: queryParams,
20
- body: bodyParams,
21
- },
22
- });
23
- });
24
- registerRoute(router, method, apiEndpoint, [...middlewares, apiMiddleware]);
24
+ const apiMiddleware = setMiddleware((request, response, next) => handler({
25
+ req: request,
26
+ res: response,
27
+ next,
28
+ params: parseRequestParams(request, apiSpec.Request),
29
+ }));
30
+ const route = method.toLowerCase();
31
+ router[route](apiEndpoint, ...middlewares, apiMiddleware);
25
32
  }
26
33
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,UAAU,aAAa,CAAU,UAAsC;IAC3E,OAAO,CAAC,OAAuB,EAAE,QAAyB,EAAE,IAAkB,EAAE,EAAE;QAChF,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAuC,KAOpE;IACC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,GAAG,EAAE,EAChB,WAAW,GAAG,OAAO,CAAC,WAAW,EACjC,MAAM,GAAG,OAAO,CAAC,MAAM,GACxB,GAAG,KAAK,CAAC;IAEV,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW,IAAI,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QAC9D,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAQ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAExF,OAAO,OAAO,CAAC;YACb,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,QAAQ;YACb,IAAI;YACJ,MAAM,EAAE;gBACN,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,UAAU;aACjB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAC9E,CAAC"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api/api.ts"],"names":[],"mappings":"AAMA,SAAS,kBAAkB,CACzB,OAAuB,EACvB,WAA6B;IAE7B,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAE1C,OAAO;QACL,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAA8B;QACzF,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAA6B;KACzE,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,aAAa,CAAC,UAA6B;IACzD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAuC,KAOpE;IACC,MAAM,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,GAAG,EAAE,EAChB,WAAW,GAAG,OAAO,CAAC,WAAW,EACjC,MAAM,GAAG,OAAO,CAAC,MAAM,GACxB,GAAG,KAAK,CAAC;IAEV,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW,IAAI,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC;QACvE,GAAG,EAAE,OAAO;QACZ,GAAG,EAAE,QAAQ;QACb,IAAI;QACJ,MAAM,EAAE,kBAAkB,CAAQ,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;KAC5D,CAAC,CAAC,CAAC;IACJ,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,EAAiD,CAAC;IAElF,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,WAAW,EAAE,aAAa,CAAC,CAAC;AAC5D,CAAC"}
@@ -1,5 +1,3 @@
1
- import type { NextFunction, Request, Response } from 'express';
2
- type ExpressExceptionMiddleware = (error: Error, request: Request, response: Response, next: NextFunction) => void;
3
- export declare const ExceptionMiddleware: ExpressExceptionMiddleware;
4
- export {};
1
+ import type { ErrorRequestHandler } from 'express';
2
+ export declare const ExceptionMiddleware: ErrorRequestHandler;
5
3
  //# sourceMappingURL=api.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.middleware.d.ts","sourceRoot":"","sources":["../../src/api/api.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAG/D,KAAK,0BAA0B,GAAG,CAChC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,YAAY,KACf,IAAI,CAAC;AAEV,eAAO,MAAM,mBAAmB,EAAE,0BA0BjC,CAAC"}
1
+ {"version":3,"file":"api.middleware.d.ts","sourceRoot":"","sources":["../../src/api/api.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAInD,eAAO,MAAM,mBAAmB,EAAE,mBA0BjC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { ZodError } from 'zod';
2
+ // Express recognizes error middleware by its four declared parameters, so `_next` must stay.
2
3
  export const ExceptionMiddleware = (error, request, response, _next) => {
3
4
  if (error instanceof ZodError) {
4
5
  response.status(400).json({
@@ -1 +1 @@
1
- {"version":3,"file":"api.middleware.js","sourceRoot":"","sources":["../../src/api/api.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAS/B,MAAM,CAAC,MAAM,mBAAmB,GAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IACjG,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aACjF;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK;KACN,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,uBAAuB;SAC9B;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"api.middleware.js","sourceRoot":"","sources":["../../src/api/api.middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE/B,6FAA6F;AAC7F,MAAM,CAAC,MAAM,mBAAmB,GAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;IAC1F,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACxB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;aACjF;SACF,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,GAAG,EAAE,OAAO,CAAC,WAAW;QACxB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACpC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK;KACN,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE,KAAK;QACd,KAAK,EAAE;YACL,IAAI,EAAE,uBAAuB;SAC9B;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -3,9 +3,7 @@ import type { ClientSession, Filter, FindOneAndUpdateOptions, MongoClient, Updat
3
3
  import { z } from 'zod';
4
4
  import { extractCreateFieldWithSystem } from '@eecho/definition';
5
5
  import type { Definition, DefinitionDocument, SearchField, SortField, UpdateField, ViewDefinition } from '@eecho/definition';
6
- type CreateDocument<TDefinition extends Definition> = {
7
- [K in keyof ReturnType<typeof extractCreateFieldWithSystem<TDefinition>>]: z.input<ReturnType<typeof extractCreateFieldWithSystem<TDefinition>>[K]>;
8
- };
6
+ type CreateDocument<TDefinition extends Definition> = z.input<z.ZodObject<ReturnType<typeof extractCreateFieldWithSystem<TDefinition>>>>;
9
7
  export declare function genRepository<TDefinition extends Definition>(params: {
10
8
  definition: TDefinition;
11
9
  dbClient: Promise<MongoClient>;
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.generator.d.ts","sourceRoot":"","sources":["../../../src/generator/mongo/mongo.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EACV,aAAa,EAEb,MAAM,EACN,uBAAuB,EACvB,WAAW,EAGX,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,4BAA4B,EAM7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAElB,WAAW,EACX,SAAS,EACT,WAAW,EACX,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,KAAK,cAAc,CAAC,WAAW,SAAS,UAAU,IAAI;KACnD,CAAC,IAAI,MAAM,UAAU,CAAC,OAAO,4BAA4B,CAAC,WAAW,CAAC,CAAC,GACtE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC3E,CAAC;AA+HF,wBAAgB,aAAa,CAAC,WAAW,SAAS,UAAU,EAAE,MAAM,EAAE;IACpE,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;qBAayB;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAE9B,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;KACnC;mBAuBoB;QACnB,QAAQ,EAAE,MAAM,iCAAQ,CAAC;QACzB,YAAY,EAAE,YAAY,iCAAQ,CAAC;QACnC,SAAS,CAAC,EAAE,uBAAuB,CAAC;KACrC;0BAgBQ;QACL,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;KAChC,YACS;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE;uBAY9B;QAAE,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,CAAA;KAAE,YACrC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE;EAc1C;AA+BD,wBAAgB,iBAAiB,CAAC,WAAW,SAAS,cAAc,EAAE,MAAM,EAAE;IAC5E,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAChC;qBAkCyB;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEhD,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;KACrD;EAiCJ"}
1
+ {"version":3,"file":"mongo.generator.d.ts","sourceRoot":"","sources":["../../../src/generator/mongo/mongo.generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EACV,aAAa,EAEb,MAAM,EACN,uBAAuB,EACvB,WAAW,EAGX,YAAY,EACb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,4BAA4B,EAM7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAElB,WAAW,EACX,SAAS,EACT,WAAW,EACX,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,KAAK,cAAc,CAAC,WAAW,SAAS,UAAU,IAAI,CAAC,CAAC,KAAK,CAC3D,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC,CAC1E,CAAC;AA2HF,wBAAgB,aAAa,CAAC,WAAW,SAAS,UAAU,EAAE,MAAM,EAAE;IACpE,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;qBAayB;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAE9B,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;KACnC;mBAuBoB;QACnB,QAAQ,EAAE,MAAM,iCAAQ,CAAC;QACzB,YAAY,EAAE,YAAY,iCAAQ,CAAC;QACnC,SAAS,CAAC,EAAE,uBAAuB,CAAC;KACrC;0BAgBQ;QACL,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAC;QACvB,IAAI,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;KAChC,YACS;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE;uBAY9B;QAAE,KAAK,EAAE,cAAc,CAAC,WAAW,CAAC,EAAE,CAAA;KAAE,YACrC;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE;EAc1C;AA+BD,wBAAgB,iBAAiB,CAAC,WAAW,SAAS,cAAc,EAAE,MAAM,EAAE;IAC5E,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAChC;qBAkCyB;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEhD,MAAM,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC,CAAC;KACrD;EAiCJ"}
@@ -13,6 +13,9 @@ function getSortableFields(definition) {
13
13
  function escapeRegularExpression(value) {
14
14
  return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
15
15
  }
16
+ function toObjectId(value) {
17
+ return value instanceof ObjectId ? value : new ObjectId(String(value));
18
+ }
16
19
  function buildSearchQuery(filter, searchableFields, objectIdFields) {
17
20
  if (!filter) {
18
21
  return {};
@@ -24,12 +27,10 @@ function buildSearchQuery(filter, searchableFields, objectIdFields) {
24
27
  throw new Error(`Invalid search field: ${key}`);
25
28
  }
26
29
  if (objectIdFields.has(key)) {
27
- const objectIdValue = (item) => (item === null || item instanceof ObjectId
28
- ? item
29
- : new ObjectId(String(item)));
30
+ const toNullableObjectId = (item) => item === null ? item : toObjectId(item);
30
31
  return Array.isArray(value)
31
- ? [key, { $in: value.map(objectIdValue) }]
32
- : [key, objectIdValue(value)];
32
+ ? [key, { $in: value.map(toNullableObjectId) }]
33
+ : [key, toNullableObjectId(value)];
33
34
  }
34
35
  if (Array.isArray(value)) {
35
36
  return [key, { $in: value }];
@@ -68,10 +69,7 @@ function convertObjectIdFields(document, objectIdFields) {
68
69
  if (!objectIdFields.has(key) || value === null || value === undefined) {
69
70
  return [key, value];
70
71
  }
71
- if (Array.isArray(value)) {
72
- return [key, value.map((item) => item instanceof ObjectId ? item : new ObjectId(String(item)))];
73
- }
74
- return [key, value instanceof ObjectId ? value : new ObjectId(String(value))];
72
+ return [key, Array.isArray(value) ? value.map(toObjectId) : toObjectId(value)];
75
73
  }));
76
74
  }
77
75
  function validatePagination(page, limit) {
@@ -115,7 +113,7 @@ export function genRepository(params) {
115
113
  },
116
114
  async updateItemById(input, options) {
117
115
  const collection = await getCollection();
118
- return collection.updateOne({ _id: { $eq: input._id instanceof ObjectId ? input._id : new ObjectId(input._id) } }, { $set: input.data }, { session: options?.session });
116
+ return collection.updateOne({ _id: { $eq: toObjectId(input._id) } }, { $set: input.data }, { session: options?.session });
119
117
  },
120
118
  async createItems(input, options) {
121
119
  const collection = await getCollection();
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.generator.js","sourceRoot":"","sources":["../../../src/generator/mongo/mongo.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongo.generator.js","sourceRoot":"","sources":["../../../src/generator/mongo/mongo.generator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
- import { genAPISpec } from './generator/mongo/mongo.api.generator.js';
1
+ import { genAPIDefinition } from '@eecho/definition';
2
2
  import { genRepository, genViewRepository } from './generator/mongo/mongo.generator.js';
3
3
  export { setAPIEndpoint, setMiddleware } from './api/api.js';
4
4
  export { ExceptionMiddleware } from './api/api.middleware.js';
5
+ export type { APIHandler, ExpressMiddleware } from './api/api.type.js';
5
6
  export { registerMongoReadEndpoint } from './generator/mongo/mongo.endpoint.js';
6
7
  export declare const MongoGenerator: {
7
- genAPISpec: typeof genAPISpec;
8
+ genAPISpec: typeof genAPIDefinition;
8
9
  genRepository: typeof genRepository;
9
10
  genViewRepository: typeof genViewRepository;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,eAAO,MAAM,cAAc;;;;CAI1B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,eAAO,MAAM,cAAc;;;;CAK1B,CAAC"}
package/dist/index.js CHANGED
@@ -1,10 +1,11 @@
1
- import { genAPISpec } from './generator/mongo/mongo.api.generator.js';
1
+ import { genAPIDefinition } from '@eecho/definition';
2
2
  import { genRepository, genViewRepository } from './generator/mongo/mongo.generator.js';
3
3
  export { setAPIEndpoint, setMiddleware } from './api/api.js';
4
4
  export { ExceptionMiddleware } from './api/api.middleware.js';
5
5
  export { registerMongoReadEndpoint } from './generator/mongo/mongo.endpoint.js';
6
6
  export const MongoGenerator = {
7
- genAPISpec,
7
+ // Compatibility alias: the database-agnostic contract is owned by @eecho/definition.
8
+ genAPISpec: genAPIDefinition,
8
9
  genRepository,
9
10
  genViewRepository,
10
11
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU;IACV,aAAa;IACb,iBAAiB;CAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAExF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,qFAAqF;IACrF,UAAU,EAAE,gBAAgB;IAC5B,aAAa;IACb,iBAAiB;CAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eecho/express",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Express and MongoDB adapters for shared EEcho API contracts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,7 +23,7 @@
23
23
  "author": "",
24
24
  "license": "MIT",
25
25
  "dependencies": {
26
- "@eecho/definition": "^0.1.0",
26
+ "@eecho/definition": "^0.2.0",
27
27
  "express": "^5.1.0",
28
28
  "mongodb": "^6.20.0",
29
29
  "zod": "^4.1.12"
@@ -1,9 +0,0 @@
1
- import type { Request as ExpressRequest, Router } from 'express';
2
- import type { ServerAPISpecification } from '@eecho/definition';
3
- import type { ExpressMiddleware, ExtractBodyParams, ExtractQueryParams } from './api.type.js';
4
- export declare function parseRequestParams<TSpec extends ServerAPISpecification>(request: ExpressRequest, requestSpec: TSpec['Request']): {
5
- queryParams: ExtractQueryParams<TSpec>;
6
- bodyParams: ExtractBodyParams<TSpec>;
7
- };
8
- export declare function registerRoute(router: Router, method: ServerAPISpecification['Method'], endpoint: string, middlewares: readonly ExpressMiddleware[]): void;
9
- //# sourceMappingURL=api.util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.util.d.ts","sourceRoot":"","sources":["../../src/api/api.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9F,wBAAgB,kBAAkB,CAAC,KAAK,SAAS,sBAAsB,EACrE,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;;;EAU9B;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,sBAAsB,CAAC,QAAQ,CAAC,EACxC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,SAAS,iBAAiB,EAAE,QAmB1C"}
@@ -1,29 +0,0 @@
1
- export function parseRequestParams(request, requestSpec) {
2
- const queryParams = requestSpec.queryParams
3
- ? requestSpec.queryParams.parse(request.query)
4
- : {};
5
- const bodyParams = requestSpec.body
6
- ? requestSpec.body.parse(request.body)
7
- : {};
8
- return { queryParams, bodyParams };
9
- }
10
- export function registerRoute(router, method, endpoint, middlewares) {
11
- switch (method) {
12
- case 'GET':
13
- router.get(endpoint, ...middlewares);
14
- break;
15
- case 'POST':
16
- router.post(endpoint, ...middlewares);
17
- break;
18
- case 'PUT':
19
- router.put(endpoint, ...middlewares);
20
- break;
21
- case 'PATCH':
22
- router.patch(endpoint, ...middlewares);
23
- break;
24
- case 'DELETE':
25
- router.delete(endpoint, ...middlewares);
26
- break;
27
- }
28
- }
29
- //# sourceMappingURL=api.util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.util.js","sourceRoot":"","sources":["../../src/api/api.util.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,kBAAkB,CAChC,OAAuB,EACvB,WAA6B;IAE7B,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW;QACzC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAA8B;QAC3E,CAAC,CAAC,EAA+B,CAAC;IACpC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI;QACjC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAA6B;QAClE,CAAC,CAAC,EAA8B,CAAC;IAEnC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,MAAwC,EACxC,QAAgB,EAChB,WAAyC;IAEzC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,KAAK;YACR,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;YACtC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;YACrC,MAAM;QACR,KAAK,OAAO;YACV,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;YACvC,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,WAAW,CAAC,CAAC;YACxC,MAAM;IACV,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export { genAPIDefinition as genAPISpec } from '@eecho/definition';
2
- //# sourceMappingURL=mongo.api.generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo.api.generator.d.ts","sourceRoot":"","sources":["../../../src/generator/mongo/mongo.api.generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,4 +0,0 @@
1
- // Compatibility alias. The shared transport contract is database-agnostic and
2
- // is now owned by @eecho/definition.
3
- export { genAPIDefinition as genAPISpec } from '@eecho/definition';
4
- //# sourceMappingURL=mongo.api.generator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo.api.generator.js","sourceRoot":"","sources":["../../../src/generator/mongo/mongo.api.generator.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qCAAqC;AACrC,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,mBAAmB,CAAC"}