@venizia/ignis 0.0.8-8 → 0.0.9-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.
Files changed (25) hide show
  1. package/dist/base/controllers/common/types.d.ts +24 -4
  2. package/dist/base/controllers/common/types.d.ts.map +1 -1
  3. package/dist/base/controllers/common/types.js.map +1 -1
  4. package/dist/base/controllers/factory/controller.d.ts +85 -31
  5. package/dist/base/controllers/factory/controller.d.ts.map +1 -1
  6. package/dist/base/controllers/factory/controller.js +68 -49
  7. package/dist/base/controllers/factory/controller.js.map +1 -1
  8. package/dist/base/controllers/factory/definition.d.ts +105 -33
  9. package/dist/base/controllers/factory/definition.d.ts.map +1 -1
  10. package/dist/base/controllers/factory/definition.js +17 -9
  11. package/dist/base/controllers/factory/definition.js.map +1 -1
  12. package/dist/base/middlewares/app-error.middleware.d.ts.map +1 -1
  13. package/dist/base/middlewares/app-error.middleware.js +8 -4
  14. package/dist/base/middlewares/app-error.middleware.js.map +1 -1
  15. package/dist/base/middlewares/request-spy.middleware.d.ts.map +1 -1
  16. package/dist/base/middlewares/request-spy.middleware.js +2 -1
  17. package/dist/base/middlewares/request-spy.middleware.js.map +1 -1
  18. package/dist/components/auth/authenticate/common/types.d.ts +8 -2
  19. package/dist/components/auth/authenticate/common/types.d.ts.map +1 -1
  20. package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
  21. package/dist/components/auth/authenticate/controllers/factory.js +30 -4
  22. package/dist/components/auth/authenticate/controllers/factory.js.map +1 -1
  23. package/dist/components/health-check/controller.d.ts +1 -5
  24. package/dist/components/health-check/controller.d.ts.map +1 -1
  25. package/package.json +23 -22
@@ -3,9 +3,10 @@ import type { IAuthorizationSpec } from '../../../components/auth/authorize/comm
3
3
  import { TAnyObjectSchema } from '../../../utilities/schema.utility';
4
4
  import type { RouteConfig as HonoRouteConfig } from '@hono/zod-openapi';
5
5
  import { createRoute, Hook, OpenAPIHono, z } from '@hono/zod-openapi';
6
- import { IConfigurable, ValueOrPromise } from '@venizia/ignis-helpers';
6
+ import { AnyType, IConfigurable, ValueOrPromise } from '@venizia/ignis-helpers';
7
7
  import type { TypedResponse } from 'hono';
8
8
  import { Context, Env, Schema } from 'hono';
9
+ import { ContentfulStatusCode, StatusCode } from 'hono/utils/http-status';
9
10
  /** Typed validation results for route handlers. */
10
11
  export interface IValidRequestProps<JsonType = unknown, QueryType = unknown, ParamType = unknown, HeaderType = unknown, CookieType = unknown, FormType = unknown> {
11
12
  json?: JsonType;
@@ -15,17 +16,29 @@ export interface IValidRequestProps<JsonType = unknown, QueryType = unknown, Par
15
16
  cookie?: CookieType;
16
17
  form?: FormType;
17
18
  }
19
+ export type TJsonResponse<ResponseBody = unknown, ResponseStatusCode extends StatusCode = StatusCode> = Response & TypedResponse<ResponseBody, ResponseStatusCode, 'json'>;
20
+ /**
21
+ * Polymorphic response body for endpoints that honor the `x-request-count-data`
22
+ * header — returns either the count-wrapped shape `{ count, data }` or the raw
23
+ * payload `T`. Pass the unwrapped payload type as `T`; for arrays use
24
+ * `TCountResponse<TThing[]>`.
25
+ */
26
+ export type TCountResponse<TData = unknown> = TData | {
27
+ count: number;
28
+ data: TData;
29
+ };
18
30
  /** Lightweight typed context that bypasses RouteHandler inference. */
19
- export type TContext<RouteEnv extends Env = Env, ValidTargetKey extends string = string> = Omit<Context<RouteEnv>, 'req'> & {
31
+ export type TContext<RouteEnv extends Env = Env, ValidTargetKey extends string = string, ResponseBody = unknown> = Omit<Context<RouteEnv>, 'req' | 'json'> & {
20
32
  req: Omit<Context<RouteEnv>['req'], 'valid'> & {
21
33
  valid<T = unknown>(target: ValidTargetKey): T;
22
34
  };
35
+ json<StatusCode extends ContentfulStatusCode = 200>(body: ResponseBody, status?: StatusCode): TJsonResponse<ResponseBody, StatusCode>;
23
36
  };
24
- export type TRouteContext<RouteEnv extends Env = Env> = TContext<RouteEnv, keyof IValidRequestProps>;
37
+ export type TRouteContext<RouteEnv extends Env = Env, ResponseBody = unknown> = TContext<RouteEnv, keyof IValidRequestProps, ResponseBody>;
25
38
  /** Casts middleware context to TContext (safe -- structurally identical to Context). */
26
39
  export declare const asTypedContext: <E extends Env>(context: unknown) => TContext<E, string>;
27
40
  /** Lightweight handler type using TTypedContext to avoid heavy RouteHandler inference. */
28
- export type TRouteHandler<ResponseType = unknown, RouteEnv extends Env = Env> = (context: TRouteContext<RouteEnv>) => ValueOrPromise<Response | TypedResponse<ResponseType>>;
41
+ export type TRouteHandler<ResponseType = unknown, RouteEnv extends Env = Env> = (context: TRouteContext<RouteEnv, ResponseType>) => ValueOrPromise<Response | TypedResponse<ResponseType>>;
29
42
  /** Registered route with its configuration and router instance. */
30
43
  export interface IDefineRouteOptions<RouteConfig extends HonoRouteConfig, RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/'> {
31
44
  configs: ReturnType<typeof createRoute<string, RouteConfig>>;
@@ -94,7 +107,13 @@ export type TResponseHeaderObject = {
94
107
  };
95
108
  /** OpenAPI response headers format */
96
109
  export type TResponseHeaders = Record<string, TResponseHeaderObject>;
110
+ type TInferDistributive<S> = S extends z.ZodType ? z.infer<S> : never;
111
+ export type TResponseBodyOf<R extends {
112
+ responses: AnyType;
113
+ }> = TInferDistributive<R['responses'][keyof R['responses']]['content']['application/json']['schema']>;
97
114
  export type TCustomizableRouteConfig = TRouteAuthConfig & {
115
+ /** Whether this route is registered. Defaults to true. */
116
+ enabled?: boolean;
98
117
  request?: {
99
118
  params?: TAnyObjectSchema;
100
119
  query?: TAnyObjectSchema;
@@ -118,4 +137,5 @@ export interface ICustomizableRoutes<RouteConfig extends TCustomizableRouteConfi
118
137
  deleteById?: RouteConfig;
119
138
  deleteBy?: RouteConfig;
120
139
  }
140
+ export {};
121
141
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":";;;AAyCA,wFAAwF;AACjF,MAAM,cAAc,GAAG,CAAgB,OAAgB,EAAuB,EAAE;IACrF,OAAO,OAA8B,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":";;;AA2DA,wFAAwF;AACjF,MAAM,cAAc,GAAG,CAAgB,OAAgB,EAAuB,EAAE;IACrF,OAAO,OAA8B,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
@@ -19,6 +19,12 @@ export interface ICrudControllerOptions<EntitySchema extends TTableSchemaWithId,
19
19
  name: string;
20
20
  basePath: string;
21
21
  readonly?: boolean;
22
+ /**
23
+ * Whitelist of routes to enable. When provided, only the listed routes are registered.
24
+ * Takes priority over per-route `enabled` flag in `routes`.
25
+ * @example enabledRoutes: ['count'] // only registers GET /count
26
+ */
27
+ enabledRoutes?: Array<keyof ICustomizableRoutes>;
22
28
  isStrict?: {
23
29
  path?: boolean;
24
30
  requestSchema?: boolean;
@@ -55,43 +61,39 @@ export declare class ControllerFactory extends BaseHelper {
55
61
  /** GET /count */
56
62
  count(opts: {
57
63
  context: TRouteContext<RouteEnv>;
58
- }): Promise<Response & import("hono").TypedResponse<any, 200, "json">>;
64
+ }): Promise<import("../common").TJsonResponse<unknown, 200>>;
59
65
  /** GET / - Returns paginated list with Content-Range header. */
60
66
  find(opts: {
61
67
  context: TRouteContext<RouteEnv>;
62
- }): Promise<Response & import("hono").TypedResponse<any, 200, "json">>;
68
+ }): Promise<import("../common").TJsonResponse<unknown, 200>>;
63
69
  /** GET /:id */
64
70
  findById(opts: {
65
71
  context: TRouteContext<RouteEnv>;
66
- }): Promise<Response & import("hono").TypedResponse<any, 200, "json">>;
72
+ }): Promise<import("../common").TJsonResponse<unknown, 200>>;
67
73
  /** GET /find-one */
68
74
  findOne(opts: {
69
75
  context: TRouteContext<RouteEnv>;
70
- }): Promise<Response & import("hono").TypedResponse<any, 200, "json">>;
76
+ }): Promise<import("../common").TJsonResponse<unknown, 200>>;
71
77
  /** POST / */
72
78
  create(opts: {
73
79
  context: TRouteContext<RouteEnv>;
74
- }): Promise<Response & import("hono").TypedResponse<any, 201, "json">>;
80
+ }): Promise<import("../common").TJsonResponse<unknown, 201>>;
75
81
  /** PATCH /:id */
76
82
  updateById(opts: {
77
83
  context: TRouteContext<RouteEnv>;
78
- }): Promise<Response & import("hono").TypedResponse<any, 200, "json">>;
84
+ }): Promise<import("../common").TJsonResponse<unknown, 200>>;
79
85
  /** PATCH / */
80
86
  updateBy(opts: {
81
87
  context: TRouteContext<RouteEnv>;
82
- }): Promise<(Response & import("hono").TypedResponse<any, 200, "json">) | (Response & import("hono").TypedResponse<{
83
- message: string;
84
- }, 400, "json">)>;
88
+ }): Promise<import("../common").TJsonResponse<unknown, 200> | import("../common").TJsonResponse<unknown, 400>>;
85
89
  /** DELETE /:id */
86
90
  deleteById(opts: {
87
91
  context: TRouteContext<RouteEnv>;
88
- }): Promise<Response & import("hono").TypedResponse<any, 200, "json">>;
92
+ }): Promise<import("../common").TJsonResponse<unknown, 200>>;
89
93
  /** DELETE / */
90
94
  deleteBy(opts: {
91
95
  context: TRouteContext<RouteEnv>;
92
- }): Promise<(Response & import("hono").TypedResponse<any, 200, "json">) | (Response & import("hono").TypedResponse<{
93
- message: string;
94
- }, 400, "json">)>;
96
+ }): Promise<import("../common").TJsonResponse<unknown, 200> | import("../common").TJsonResponse<unknown, 400>>;
95
97
  /** Registers all CRUD route handlers. */
96
98
  binding(): ValueOrPromise<void>;
97
99
  toHonoHandler<ResponseType = unknown>(opts: {
@@ -138,7 +140,9 @@ export declare class ControllerFactory extends BaseHelper {
138
140
  description: string;
139
141
  content: {
140
142
  'application/json': {
141
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
143
+ schema: z.ZodObject<{
144
+ count: z.ZodDefault<z.ZodNumber>;
145
+ }, z.core.$strip>;
142
146
  };
143
147
  };
144
148
  required: boolean | undefined;
@@ -147,7 +151,9 @@ export declare class ControllerFactory extends BaseHelper {
147
151
  description: string;
148
152
  content: {
149
153
  'application/json': {
150
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
154
+ schema: z.ZodObject<{
155
+ count: z.ZodDefault<z.ZodNumber>;
156
+ }, z.core.$strip>;
151
157
  };
152
158
  };
153
159
  required: boolean | undefined;
@@ -193,7 +199,10 @@ export declare class ControllerFactory extends BaseHelper {
193
199
  description: string;
194
200
  content: {
195
201
  'application/json': {
196
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
202
+ schema: z.ZodUnion<readonly [z.ZodObject<{
203
+ count: z.ZodDefault<z.ZodNumber>;
204
+ data: z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>;
205
+ }, z.core.$strip>, z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>]>;
197
206
  };
198
207
  };
199
208
  required: boolean | undefined;
@@ -202,7 +211,10 @@ export declare class ControllerFactory extends BaseHelper {
202
211
  description: string;
203
212
  content: {
204
213
  'application/json': {
205
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
214
+ schema: z.ZodUnion<readonly [z.ZodObject<{
215
+ count: z.ZodDefault<z.ZodNumber>;
216
+ data: z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>;
217
+ }, z.core.$strip>, z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>]>;
206
218
  };
207
219
  };
208
220
  required: boolean | undefined;
@@ -253,7 +265,10 @@ export declare class ControllerFactory extends BaseHelper {
253
265
  description: string;
254
266
  content: {
255
267
  'application/json': {
256
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
268
+ schema: z.ZodUnion<readonly [z.ZodObject<{
269
+ count: z.ZodDefault<z.ZodNumber>;
270
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
271
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
257
272
  };
258
273
  };
259
274
  required: boolean | undefined;
@@ -262,7 +277,10 @@ export declare class ControllerFactory extends BaseHelper {
262
277
  description: string;
263
278
  content: {
264
279
  'application/json': {
265
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
280
+ schema: z.ZodUnion<readonly [z.ZodObject<{
281
+ count: z.ZodDefault<z.ZodNumber>;
282
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
283
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
266
284
  };
267
285
  };
268
286
  required: boolean | undefined;
@@ -308,7 +326,10 @@ export declare class ControllerFactory extends BaseHelper {
308
326
  description: string;
309
327
  content: {
310
328
  'application/json': {
311
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
329
+ schema: z.ZodUnion<readonly [z.ZodObject<{
330
+ count: z.ZodDefault<z.ZodNumber>;
331
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
332
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
312
333
  };
313
334
  };
314
335
  required: boolean | undefined;
@@ -317,7 +338,10 @@ export declare class ControllerFactory extends BaseHelper {
317
338
  description: string;
318
339
  content: {
319
340
  'application/json': {
320
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
341
+ schema: z.ZodUnion<readonly [z.ZodObject<{
342
+ count: z.ZodDefault<z.ZodNumber>;
343
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
344
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
321
345
  };
322
346
  };
323
347
  required: boolean | undefined;
@@ -369,7 +393,10 @@ export declare class ControllerFactory extends BaseHelper {
369
393
  description: string;
370
394
  content: {
371
395
  'application/json': {
372
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
396
+ schema: z.ZodUnion<readonly [z.ZodObject<{
397
+ count: z.ZodDefault<z.ZodNumber>;
398
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
399
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
373
400
  };
374
401
  };
375
402
  required: boolean | undefined;
@@ -378,7 +405,10 @@ export declare class ControllerFactory extends BaseHelper {
378
405
  description: string;
379
406
  content: {
380
407
  'application/json': {
381
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
408
+ schema: z.ZodUnion<readonly [z.ZodObject<{
409
+ count: z.ZodDefault<z.ZodNumber>;
410
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
411
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
382
412
  };
383
413
  };
384
414
  required: boolean | undefined;
@@ -435,7 +465,10 @@ export declare class ControllerFactory extends BaseHelper {
435
465
  description: string;
436
466
  content: {
437
467
  'application/json': {
438
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
468
+ schema: z.ZodUnion<readonly [z.ZodObject<{
469
+ count: z.ZodDefault<z.ZodNumber>;
470
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
471
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
439
472
  };
440
473
  };
441
474
  required: boolean | undefined;
@@ -444,7 +477,10 @@ export declare class ControllerFactory extends BaseHelper {
444
477
  description: string;
445
478
  content: {
446
479
  'application/json': {
447
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
480
+ schema: z.ZodUnion<readonly [z.ZodObject<{
481
+ count: z.ZodDefault<z.ZodNumber>;
482
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
483
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
448
484
  };
449
485
  };
450
486
  required: boolean | undefined;
@@ -499,7 +535,10 @@ export declare class ControllerFactory extends BaseHelper {
499
535
  description: string;
500
536
  content: {
501
537
  'application/json': {
502
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
538
+ schema: z.ZodUnion<readonly [z.ZodObject<{
539
+ count: z.ZodDefault<z.ZodNumber>;
540
+ data: z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>;
541
+ }, z.core.$strip>, z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>]>;
503
542
  };
504
543
  };
505
544
  required: boolean | undefined;
@@ -508,7 +547,10 @@ export declare class ControllerFactory extends BaseHelper {
508
547
  description: string;
509
548
  content: {
510
549
  'application/json': {
511
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
550
+ schema: z.ZodUnion<readonly [z.ZodObject<{
551
+ count: z.ZodDefault<z.ZodNumber>;
552
+ data: z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>;
553
+ }, z.core.$strip>, z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>]>;
512
554
  };
513
555
  };
514
556
  required: boolean | undefined;
@@ -556,7 +598,10 @@ export declare class ControllerFactory extends BaseHelper {
556
598
  description: string;
557
599
  content: {
558
600
  'application/json': {
559
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
601
+ schema: z.ZodUnion<readonly [z.ZodObject<{
602
+ count: z.ZodDefault<z.ZodNumber>;
603
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
604
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
560
605
  };
561
606
  };
562
607
  required: boolean | undefined;
@@ -565,7 +610,10 @@ export declare class ControllerFactory extends BaseHelper {
565
610
  description: string;
566
611
  content: {
567
612
  'application/json': {
568
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
613
+ schema: z.ZodUnion<readonly [z.ZodObject<{
614
+ count: z.ZodDefault<z.ZodNumber>;
615
+ data: import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>;
616
+ }, z.core.$strip>, import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>]>;
569
617
  };
570
618
  };
571
619
  required: boolean | undefined;
@@ -611,7 +659,10 @@ export declare class ControllerFactory extends BaseHelper {
611
659
  description: string;
612
660
  content: {
613
661
  'application/json': {
614
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
662
+ schema: z.ZodUnion<readonly [z.ZodObject<{
663
+ count: z.ZodDefault<z.ZodNumber>;
664
+ data: z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>;
665
+ }, z.core.$strip>, z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>]>;
615
666
  };
616
667
  };
617
668
  required: boolean | undefined;
@@ -620,7 +671,10 @@ export declare class ControllerFactory extends BaseHelper {
620
671
  description: string;
621
672
  content: {
622
673
  'application/json': {
623
- schema: z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>;
674
+ schema: z.ZodUnion<readonly [z.ZodObject<{
675
+ count: z.ZodDefault<z.ZodNumber>;
676
+ data: z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>;
677
+ }, z.core.$strip>, z.ZodArray<import("drizzle-zod").BuildSchema<"insert", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"update", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined> | import("drizzle-zod").BuildSchema<"select", EntitySchema["_"]["columns"], undefined, true | Partial<Record<"string" | "number" | "bigint" | "boolean" | "date", true>> | undefined>>]>;
624
678
  };
625
679
  };
626
680
  required: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/factory/controller.ts"],"names":[],"mappings":"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"}
@@ -22,26 +22,21 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
22
22
  });
23
23
  }
24
24
  // 1. Resolve EntityClass
25
- let _entityClass = null;
26
- if ((0, ignis_inversion_1.isClass)(entity)) {
27
- _entityClass = entity;
28
- }
29
- else {
30
- _entityClass = entity();
31
- }
25
+ const _entityClass = (0, ignis_inversion_1.isClass)(entity) ? entity : entity();
32
26
  const entityInstance = new _entityClass();
33
27
  // 2. Define required CRU (Create - Retrieve - Update) schema
28
+ const entitySchema = {
29
+ select: entityInstance.getSchema({ type: constants_1.SchemaTypes.SELECT }),
30
+ create: entityInstance.getSchema({ type: constants_1.SchemaTypes.CREATE }),
31
+ update: entityInstance.getSchema({ type: constants_1.SchemaTypes.UPDATE }),
32
+ };
34
33
  const routeDefinitions = (0, definition_1.defineControllerRouteConfigs)({
35
34
  isStrict: isStrict.requestSchema ?? true,
36
35
  idType: (0, types_1.getIdType)({ entity: entityInstance.schema }),
37
36
  authenticate,
38
37
  authorize,
39
38
  routes,
40
- schema: {
41
- select: entityInstance.getSchema({ type: constants_1.SchemaTypes.SELECT }),
42
- create: entityInstance.getSchema({ type: constants_1.SchemaTypes.CREATE }),
43
- update: entityInstance.getSchema({ type: constants_1.SchemaTypes.UPDATE }),
44
- },
39
+ schema: entitySchema,
45
40
  });
46
41
  // 3. Define class
47
42
  const _controller = class extends base_1.BaseRestController {
@@ -283,47 +278,71 @@ class ControllerFactory extends ignis_helpers_1.BaseHelper {
283
278
  }
284
279
  /** Registers all CRUD route handlers. */
285
280
  binding() {
286
- // Read routes always registered
287
- this.defineRoute({
288
- configs: routeDefinitions.COUNT,
289
- handler: async (context) => this.count({ context }),
290
- });
291
- this.defineRoute({
292
- configs: routeDefinitions.FIND,
293
- handler: async (context) => this.find({ context }),
294
- });
295
- this.defineRoute({
296
- configs: routeDefinitions.FIND_ONE,
297
- handler: async (context) => this.findOne({ context }),
298
- });
299
- this.defineRoute({
300
- configs: routeDefinitions.FIND_BY_ID,
301
- handler: async (context) => this.findById({ context }),
302
- });
281
+ const isEnabled = (routeKey) => {
282
+ if (controller.enabledRoutes) {
283
+ return controller.enabledRoutes.includes(routeKey);
284
+ }
285
+ return routes?.[routeKey]?.enabled !== false;
286
+ };
287
+ // Read routes — always registered (unless explicitly disabled)
288
+ if (isEnabled('count')) {
289
+ this.defineRoute({
290
+ configs: routeDefinitions.COUNT,
291
+ handler: async (context) => this.count({ context }),
292
+ });
293
+ }
294
+ if (isEnabled('find')) {
295
+ this.defineRoute({
296
+ configs: routeDefinitions.FIND,
297
+ handler: async (context) => this.find({ context }),
298
+ });
299
+ }
300
+ if (isEnabled('findOne')) {
301
+ this.defineRoute({
302
+ configs: routeDefinitions.FIND_ONE,
303
+ handler: async (context) => this.findOne({ context }),
304
+ });
305
+ }
306
+ if (isEnabled('findById')) {
307
+ this.defineRoute({
308
+ configs: routeDefinitions.FIND_BY_ID,
309
+ handler: async (context) => this.findById({ context }),
310
+ });
311
+ }
303
312
  // Write routes — skipped when readonly
304
313
  if (controller.readonly) {
305
314
  return;
306
315
  }
307
- this.defineRoute({
308
- configs: routeDefinitions.CREATE,
309
- handler: async (context) => this.create({ context }),
310
- });
311
- this.defineRoute({
312
- configs: routeDefinitions.UPDATE_BY_ID,
313
- handler: async (context) => this.updateById({ context }),
314
- });
315
- this.defineRoute({
316
- configs: routeDefinitions.UPDATE_BY,
317
- handler: async (context) => this.updateBy({ context }),
318
- });
319
- this.defineRoute({
320
- configs: routeDefinitions.DELETE_BY_ID,
321
- handler: async (context) => this.deleteById({ context }),
322
- });
323
- this.defineRoute({
324
- configs: routeDefinitions.DELETE_BY,
325
- handler: async (context) => this.deleteBy({ context }),
326
- });
316
+ if (isEnabled('create')) {
317
+ this.defineRoute({
318
+ configs: routeDefinitions.CREATE,
319
+ handler: async (context) => this.create({ context }),
320
+ });
321
+ }
322
+ if (isEnabled('updateById')) {
323
+ this.defineRoute({
324
+ configs: routeDefinitions.UPDATE_BY_ID,
325
+ handler: async (context) => this.updateById({ context }),
326
+ });
327
+ }
328
+ if (isEnabled('updateBy')) {
329
+ this.defineRoute({
330
+ configs: routeDefinitions.UPDATE_BY,
331
+ handler: async (context) => this.updateBy({ context }),
332
+ });
333
+ }
334
+ if (isEnabled('deleteById')) {
335
+ this.defineRoute({
336
+ configs: routeDefinitions.DELETE_BY_ID,
337
+ handler: async (context) => this.deleteById({ context }),
338
+ });
339
+ }
340
+ if (isEnabled('deleteBy')) {
341
+ this.defineRoute({
342
+ configs: routeDefinitions.DELETE_BY,
343
+ handler: async (context) => this.deleteBy({ context }),
344
+ });
345
+ }
327
346
  }
328
347
  };
329
348
  // Set the class name dynamically