@classytic/arc 1.0.8 → 2.1.2
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 +247 -794
- package/bin/arc.js +91 -52
- package/dist/EventTransport-BD2U0BTc.d.mts +100 -0
- package/dist/EventTransport-BD2U0BTc.d.mts.map +1 -0
- package/dist/HookSystem-BsGV-j2l.mjs +405 -0
- package/dist/HookSystem-BsGV-j2l.mjs.map +1 -0
- package/dist/ResourceRegistry-DsN4KJjV.mjs +250 -0
- package/dist/ResourceRegistry-DsN4KJjV.mjs.map +1 -0
- package/dist/adapters/index.d.mts +5 -0
- package/dist/adapters/index.mjs +3 -0
- package/dist/audit/index.d.mts +82 -0
- package/dist/audit/index.d.mts.map +1 -0
- package/dist/audit/index.mjs +276 -0
- package/dist/audit/index.mjs.map +1 -0
- package/dist/audit/mongodb.d.mts +5 -0
- package/dist/audit/mongodb.mjs +3 -0
- package/dist/audited-C3T5DTUx.mjs +141 -0
- package/dist/audited-C3T5DTUx.mjs.map +1 -0
- package/dist/auth/index.d.mts +189 -0
- package/dist/auth/index.d.mts.map +1 -0
- package/dist/auth/index.mjs +1102 -0
- package/dist/auth/index.mjs.map +1 -0
- package/dist/auth/redis-session.d.mts +44 -0
- package/dist/auth/redis-session.d.mts.map +1 -0
- package/dist/auth/redis-session.mjs +76 -0
- package/dist/auth/redis-session.mjs.map +1 -0
- package/dist/betterAuthOpenApi-BrHKeSAx.mjs +250 -0
- package/dist/betterAuthOpenApi-BrHKeSAx.mjs.map +1 -0
- package/dist/cache/index.d.mts +146 -0
- package/dist/cache/index.d.mts.map +1 -0
- package/dist/cache/index.mjs +92 -0
- package/dist/cache/index.mjs.map +1 -0
- package/dist/caching-Bl28lYsR.mjs +94 -0
- package/dist/caching-Bl28lYsR.mjs.map +1 -0
- package/dist/chunk-C7Uep-_p.mjs +20 -0
- package/dist/circuitBreaker-DeY4FCjs.mjs +1097 -0
- package/dist/circuitBreaker-DeY4FCjs.mjs.map +1 -0
- package/dist/cli/commands/describe.d.mts +19 -0
- package/dist/cli/commands/describe.d.mts.map +1 -0
- package/dist/cli/commands/describe.mjs +239 -0
- package/dist/cli/commands/describe.mjs.map +1 -0
- package/dist/cli/commands/docs.d.mts +14 -0
- package/dist/cli/commands/docs.d.mts.map +1 -0
- package/dist/cli/commands/docs.mjs +53 -0
- package/dist/cli/commands/docs.mjs.map +1 -0
- package/dist/cli/commands/{generate.d.ts → generate.d.mts} +3 -1
- package/dist/cli/commands/generate.d.mts.map +1 -0
- package/dist/cli/commands/generate.mjs +358 -0
- package/dist/cli/commands/generate.mjs.map +1 -0
- package/dist/cli/commands/{init.d.ts → init.d.mts} +12 -8
- package/dist/cli/commands/init.d.mts.map +1 -0
- package/dist/cli/commands/{init.js → init.mjs} +807 -616
- package/dist/cli/commands/init.mjs.map +1 -0
- package/dist/cli/commands/introspect.d.mts +11 -0
- package/dist/cli/commands/introspect.d.mts.map +1 -0
- package/dist/cli/commands/introspect.mjs +76 -0
- package/dist/cli/commands/introspect.mjs.map +1 -0
- package/dist/cli/index.d.mts +17 -0
- package/dist/cli/index.d.mts.map +1 -0
- package/dist/cli/index.mjs +157 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/constants-DdXFXQtN.mjs +85 -0
- package/dist/constants-DdXFXQtN.mjs.map +1 -0
- package/dist/core/index.d.mts +5 -0
- package/dist/core/index.mjs +4 -0
- package/dist/createApp-CUgNqegw.mjs +560 -0
- package/dist/createApp-CUgNqegw.mjs.map +1 -0
- package/dist/defineResource-k0_BDn8v.mjs +2197 -0
- package/dist/defineResource-k0_BDn8v.mjs.map +1 -0
- package/dist/discovery/index.d.mts +47 -0
- package/dist/discovery/index.d.mts.map +1 -0
- package/dist/discovery/index.mjs +110 -0
- package/dist/discovery/index.mjs.map +1 -0
- package/dist/docs/index.d.mts +163 -0
- package/dist/docs/index.d.mts.map +1 -0
- package/dist/docs/index.mjs +73 -0
- package/dist/docs/index.mjs.map +1 -0
- package/dist/elevation-BRy3yFWT.mjs +113 -0
- package/dist/elevation-BRy3yFWT.mjs.map +1 -0
- package/dist/elevation-B_2dRLVP.d.mts +88 -0
- package/dist/elevation-B_2dRLVP.d.mts.map +1 -0
- package/dist/errorHandler-BbcgBmIH.d.mts +73 -0
- package/dist/errorHandler-BbcgBmIH.d.mts.map +1 -0
- package/dist/errorHandler-C1okiriz.mjs +109 -0
- package/dist/errorHandler-C1okiriz.mjs.map +1 -0
- package/dist/errors-B9bZok84.mjs +212 -0
- package/dist/errors-B9bZok84.mjs.map +1 -0
- package/dist/errors-ChKiFz62.d.mts +125 -0
- package/dist/errors-ChKiFz62.d.mts.map +1 -0
- package/dist/eventPlugin-CTrLH3mt.d.mts +125 -0
- package/dist/eventPlugin-CTrLH3mt.d.mts.map +1 -0
- package/dist/eventPlugin-DGR_B2on.mjs +230 -0
- package/dist/eventPlugin-DGR_B2on.mjs.map +1 -0
- package/dist/events/index.d.mts +54 -0
- package/dist/events/index.d.mts.map +1 -0
- package/dist/events/index.mjs +52 -0
- package/dist/events/index.mjs.map +1 -0
- package/dist/events/transports/redis-stream-entry.d.mts +2 -0
- package/dist/events/transports/redis-stream-entry.mjs +178 -0
- package/dist/events/transports/redis-stream-entry.mjs.map +1 -0
- package/dist/events/transports/redis.d.mts +77 -0
- package/dist/events/transports/redis.d.mts.map +1 -0
- package/dist/events/transports/redis.mjs +125 -0
- package/dist/events/transports/redis.mjs.map +1 -0
- package/dist/externalPaths-DlINfKbP.d.mts +51 -0
- package/dist/externalPaths-DlINfKbP.d.mts.map +1 -0
- package/dist/factory/index.d.mts +64 -0
- package/dist/factory/index.d.mts.map +1 -0
- package/dist/factory/index.mjs +3 -0
- package/dist/fastifyAdapter-BkrGrlFi.d.mts +217 -0
- package/dist/fastifyAdapter-BkrGrlFi.d.mts.map +1 -0
- package/dist/fields-DyaDVX4J.d.mts +110 -0
- package/dist/fields-DyaDVX4J.d.mts.map +1 -0
- package/dist/fields-iagOozy0.mjs +115 -0
- package/dist/fields-iagOozy0.mjs.map +1 -0
- package/dist/hooks/index.d.mts +4 -0
- package/dist/hooks/index.mjs +3 -0
- package/dist/idempotency/index.d.mts +97 -0
- package/dist/idempotency/index.d.mts.map +1 -0
- package/dist/idempotency/index.mjs +320 -0
- package/dist/idempotency/index.mjs.map +1 -0
- package/dist/idempotency/mongodb.d.mts +2 -0
- package/dist/idempotency/mongodb.mjs +115 -0
- package/dist/idempotency/mongodb.mjs.map +1 -0
- package/dist/idempotency/redis.d.mts +2 -0
- package/dist/idempotency/redis.mjs +104 -0
- package/dist/idempotency/redis.mjs.map +1 -0
- package/dist/index.d.mts +261 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +105 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integrations/event-gateway.d.mts +47 -0
- package/dist/integrations/event-gateway.d.mts.map +1 -0
- package/dist/integrations/event-gateway.mjs +44 -0
- package/dist/integrations/event-gateway.mjs.map +1 -0
- package/dist/integrations/index.d.mts +5 -0
- package/dist/integrations/index.mjs +1 -0
- package/dist/integrations/jobs.d.mts +104 -0
- package/dist/integrations/jobs.d.mts.map +1 -0
- package/dist/integrations/jobs.mjs +124 -0
- package/dist/integrations/jobs.mjs.map +1 -0
- package/dist/integrations/streamline.d.mts +61 -0
- package/dist/integrations/streamline.d.mts.map +1 -0
- package/dist/integrations/streamline.mjs +126 -0
- package/dist/integrations/streamline.mjs.map +1 -0
- package/dist/integrations/websocket.d.mts +83 -0
- package/dist/integrations/websocket.d.mts.map +1 -0
- package/dist/integrations/websocket.mjs +289 -0
- package/dist/integrations/websocket.mjs.map +1 -0
- package/dist/interface-B01JvPVc.d.mts +78 -0
- package/dist/interface-B01JvPVc.d.mts.map +1 -0
- package/dist/interface-CZe8IkMf.d.mts +55 -0
- package/dist/interface-CZe8IkMf.d.mts.map +1 -0
- package/dist/interface-Ch8HU9uM.d.mts +1098 -0
- package/dist/interface-Ch8HU9uM.d.mts.map +1 -0
- package/dist/introspectionPlugin-rFdO8ZUa.mjs +54 -0
- package/dist/introspectionPlugin-rFdO8ZUa.mjs.map +1 -0
- package/dist/keys-BqNejWup.mjs +43 -0
- package/dist/keys-BqNejWup.mjs.map +1 -0
- package/dist/logger-Df2O2WsW.mjs +79 -0
- package/dist/logger-Df2O2WsW.mjs.map +1 -0
- package/dist/memory-cQgelFOj.mjs +144 -0
- package/dist/memory-cQgelFOj.mjs.map +1 -0
- package/dist/migrations/index.d.mts +157 -0
- package/dist/migrations/index.d.mts.map +1 -0
- package/dist/migrations/index.mjs +261 -0
- package/dist/migrations/index.mjs.map +1 -0
- package/dist/mongodb-BfJVlUJH.mjs +94 -0
- package/dist/mongodb-BfJVlUJH.mjs.map +1 -0
- package/dist/mongodb-CGzRbfAK.d.mts +119 -0
- package/dist/mongodb-CGzRbfAK.d.mts.map +1 -0
- package/dist/mongodb-JN-9JA7K.d.mts +72 -0
- package/dist/mongodb-JN-9JA7K.d.mts.map +1 -0
- package/dist/openapi-G3Cw7XuM.mjs +524 -0
- package/dist/openapi-G3Cw7XuM.mjs.map +1 -0
- package/dist/org/index.d.mts +69 -0
- package/dist/org/index.d.mts.map +1 -0
- package/dist/org/index.mjs +514 -0
- package/dist/org/index.mjs.map +1 -0
- package/dist/org/types.d.mts +83 -0
- package/dist/org/types.d.mts.map +1 -0
- package/dist/org/types.mjs +1 -0
- package/dist/permissions/index.d.mts +279 -0
- package/dist/permissions/index.d.mts.map +1 -0
- package/dist/permissions/index.mjs +579 -0
- package/dist/permissions/index.mjs.map +1 -0
- package/dist/plugins/index.d.mts +173 -0
- package/dist/plugins/index.d.mts.map +1 -0
- package/dist/plugins/index.mjs +523 -0
- package/dist/plugins/index.mjs.map +1 -0
- package/dist/plugins/response-cache.d.mts +88 -0
- package/dist/plugins/response-cache.d.mts.map +1 -0
- package/dist/plugins/response-cache.mjs +284 -0
- package/dist/plugins/response-cache.mjs.map +1 -0
- package/dist/plugins/tracing-entry.d.mts +2 -0
- package/dist/plugins/tracing-entry.mjs +186 -0
- package/dist/plugins/tracing-entry.mjs.map +1 -0
- package/dist/pluralize-CEweyOEm.mjs +87 -0
- package/dist/pluralize-CEweyOEm.mjs.map +1 -0
- package/dist/policies/{index.d.ts → index.d.mts} +204 -169
- package/dist/policies/index.d.mts.map +1 -0
- package/dist/policies/index.mjs +322 -0
- package/dist/policies/index.mjs.map +1 -0
- package/dist/presets/{index.d.ts → index.d.mts} +63 -131
- package/dist/presets/index.d.mts.map +1 -0
- package/dist/presets/index.mjs +144 -0
- package/dist/presets/index.mjs.map +1 -0
- package/dist/presets/multiTenant.d.mts +25 -0
- package/dist/presets/multiTenant.d.mts.map +1 -0
- package/dist/presets/multiTenant.mjs +114 -0
- package/dist/presets/multiTenant.mjs.map +1 -0
- package/dist/presets-BITljm96.mjs +120 -0
- package/dist/presets-BITljm96.mjs.map +1 -0
- package/dist/presets-DzSMwlKj.d.mts +58 -0
- package/dist/presets-DzSMwlKj.d.mts.map +1 -0
- package/dist/prisma-DJbMt3yf.mjs +628 -0
- package/dist/prisma-DJbMt3yf.mjs.map +1 -0
- package/dist/prisma-Dg9GoVdj.d.mts +275 -0
- package/dist/prisma-Dg9GoVdj.d.mts.map +1 -0
- package/dist/queryCachePlugin-7THaI5mt.d.mts +72 -0
- package/dist/queryCachePlugin-7THaI5mt.d.mts.map +1 -0
- package/dist/queryCachePlugin-DMBnp2Q0.mjs +139 -0
- package/dist/queryCachePlugin-DMBnp2Q0.mjs.map +1 -0
- package/dist/redis-D-JAeLtm.d.mts +50 -0
- package/dist/redis-D-JAeLtm.d.mts.map +1 -0
- package/dist/redis-stream-Bdh_vUU8.d.mts +104 -0
- package/dist/redis-stream-Bdh_vUU8.d.mts.map +1 -0
- package/dist/registry/index.d.mts +12 -0
- package/dist/registry/index.d.mts.map +1 -0
- package/dist/registry/index.mjs +4 -0
- package/dist/requestContext-QQD6ROJc.mjs +56 -0
- package/dist/requestContext-QQD6ROJc.mjs.map +1 -0
- package/dist/schemaConverter-BwrmWroW.mjs +99 -0
- package/dist/schemaConverter-BwrmWroW.mjs.map +1 -0
- package/dist/schemas/index.d.mts +64 -0
- package/dist/schemas/index.d.mts.map +1 -0
- package/dist/schemas/index.mjs +83 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/scope/index.d.mts +22 -0
- package/dist/scope/index.d.mts.map +1 -0
- package/dist/scope/index.mjs +66 -0
- package/dist/scope/index.mjs.map +1 -0
- package/dist/sessionManager-jPKLbHE0.d.mts +187 -0
- package/dist/sessionManager-jPKLbHE0.d.mts.map +1 -0
- package/dist/sse-B3c3_yZp.mjs +124 -0
- package/dist/sse-B3c3_yZp.mjs.map +1 -0
- package/dist/testing/index.d.mts +908 -0
- package/dist/testing/index.d.mts.map +1 -0
- package/dist/testing/index.mjs +1977 -0
- package/dist/testing/index.mjs.map +1 -0
- package/dist/tracing-Cc7vVQPp.d.mts +71 -0
- package/dist/tracing-Cc7vVQPp.d.mts.map +1 -0
- package/dist/typeGuards-DhMNLuvU.mjs +10 -0
- package/dist/typeGuards-DhMNLuvU.mjs.map +1 -0
- package/dist/types/index.d.mts +947 -0
- package/dist/types/index.d.mts.map +1 -0
- package/dist/types/index.mjs +15 -0
- package/dist/types/index.mjs.map +1 -0
- package/dist/types-Beqn1Un7.mjs +39 -0
- package/dist/types-Beqn1Un7.mjs.map +1 -0
- package/dist/types-CIgB7UUl.d.mts +446 -0
- package/dist/types-CIgB7UUl.d.mts.map +1 -0
- package/dist/types-aYB4V7uN.d.mts +87 -0
- package/dist/types-aYB4V7uN.d.mts.map +1 -0
- package/dist/utils/index.d.mts +748 -0
- package/dist/utils/index.d.mts.map +1 -0
- package/dist/utils/index.mjs +6 -0
- package/package.json +198 -70
- package/dist/BaseController-nNRS3vpA.d.ts +0 -233
- package/dist/adapters/index.d.ts +0 -237
- package/dist/adapters/index.js +0 -668
- package/dist/arcCorePlugin-CAjBQtZB.d.ts +0 -273
- package/dist/audit/index.d.ts +0 -195
- package/dist/audit/index.js +0 -319
- package/dist/auth/index.d.ts +0 -47
- package/dist/auth/index.js +0 -174
- package/dist/cli/commands/docs.d.ts +0 -11
- package/dist/cli/commands/docs.js +0 -474
- package/dist/cli/commands/generate.js +0 -334
- package/dist/cli/commands/introspect.d.ts +0 -8
- package/dist/cli/commands/introspect.js +0 -338
- package/dist/cli/index.d.ts +0 -4
- package/dist/cli/index.js +0 -3269
- package/dist/core/index.d.ts +0 -220
- package/dist/core/index.js +0 -2764
- package/dist/createApp-CjN9zZSL.d.ts +0 -77
- package/dist/docs/index.d.ts +0 -166
- package/dist/docs/index.js +0 -658
- package/dist/errors-8WIxGS_6.d.ts +0 -122
- package/dist/events/index.d.ts +0 -117
- package/dist/events/index.js +0 -89
- package/dist/factory/index.d.ts +0 -38
- package/dist/factory/index.js +0 -1647
- package/dist/hooks/index.d.ts +0 -4
- package/dist/hooks/index.js +0 -199
- package/dist/idempotency/index.d.ts +0 -323
- package/dist/idempotency/index.js +0 -500
- package/dist/index-D5QTob1X.d.ts +0 -1322
- package/dist/index.d.ts +0 -135
- package/dist/index.js +0 -4729
- package/dist/migrations/index.d.ts +0 -185
- package/dist/migrations/index.js +0 -274
- package/dist/org/index.d.ts +0 -129
- package/dist/org/index.js +0 -220
- package/dist/permissions/index.d.ts +0 -144
- package/dist/permissions/index.js +0 -103
- package/dist/plugins/index.d.ts +0 -46
- package/dist/plugins/index.js +0 -1069
- package/dist/policies/index.js +0 -196
- package/dist/presets/index.js +0 -384
- package/dist/presets/multiTenant.d.ts +0 -39
- package/dist/presets/multiTenant.js +0 -112
- package/dist/registry/index.d.ts +0 -16
- package/dist/registry/index.js +0 -253
- package/dist/testing/index.d.ts +0 -618
- package/dist/testing/index.js +0 -48015
- package/dist/types/index.d.ts +0 -4
- package/dist/types/index.js +0 -8
- package/dist/types-B99TBmFV.d.ts +0 -76
- package/dist/types-zpN48n6B.d.ts +0 -143
- package/dist/utils/index.d.ts +0 -679
- package/dist/utils/index.js +0 -914
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/utils/responseSchemas.ts","../../src/utils/stateMachine.ts","../../src/utils/circuitBreaker.ts","../../src/utils/queryParser.ts","../../src/utils/typeGuards.ts","../../src/utils/schemaConverter.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { C as ArcQueryParser, S as wrapResponse, _ as paginateWrapper, a as createCircuitBreaker, b as responses, c as deleteResponse, d as getListQueryParams, f as itemResponse, g as mutationResponse, h as messageWrapper, i as CircuitState, l as errorResponseSchema, m as listResponse, n as CircuitBreakerError, o as createCircuitBreakerRegistry, p as itemWrapper, r as CircuitBreakerRegistry, s as createStateMachine, t as CircuitBreaker, u as getDefaultCrudSchemas, v as paginationSchema, w as createQueryParser, x as successResponseSchema, y as queryParams } from "../circuitBreaker-DeY4FCjs.mjs";
|
|
2
|
+
import { a as OrgAccessDeniedError, c as ServiceUnavailableError, d as createError, f as isArcError, i as NotFoundError, l as UnauthorizedError, n as ConflictError, o as OrgRequiredError, r as ForbiddenError, s as RateLimitError, t as ArcError, u as ValidationError } from "../errors-B9bZok84.mjs";
|
|
3
|
+
import { t as hasEvents } from "../typeGuards-DhMNLuvU.mjs";
|
|
4
|
+
import { a as toJsonSchema, i as isZodSchema, n as convertRouteSchema, r as isJsonSchema, t as convertOpenApiSchemas } from "../schemaConverter-BwrmWroW.mjs";
|
|
5
|
+
|
|
6
|
+
export { ArcError, ArcQueryParser, CircuitBreaker, CircuitBreakerError, CircuitBreakerRegistry, CircuitState, ConflictError, ForbiddenError, NotFoundError, OrgAccessDeniedError, OrgRequiredError, RateLimitError, ServiceUnavailableError, UnauthorizedError, ValidationError, convertOpenApiSchemas, convertRouteSchema, createCircuitBreaker, createCircuitBreakerRegistry, createError, createQueryParser, createStateMachine, deleteResponse, errorResponseSchema, getDefaultCrudSchemas, getListQueryParams, hasEvents, isArcError, isJsonSchema, isZodSchema, itemResponse, itemWrapper, listResponse, messageWrapper, mutationResponse, paginateWrapper, paginationSchema, queryParams, responses, successResponseSchema, toJsonSchema, wrapResponse };
|
package/package.json
CHANGED
|
@@ -1,100 +1,172 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@classytic/arc",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Resource-oriented backend framework for Fastify
|
|
3
|
+
"version": "2.1.2",
|
|
4
|
+
"description": "Resource-oriented backend framework for Fastify — clean, minimal, powerful, tree-shakable",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": {
|
|
8
|
-
"types": "./dist/index.d.
|
|
9
|
-
"default": "./dist/index.
|
|
8
|
+
"types": "./dist/index.d.mts",
|
|
9
|
+
"default": "./dist/index.mjs"
|
|
10
10
|
},
|
|
11
11
|
"./permissions": {
|
|
12
|
-
"types": "./dist/permissions/index.d.
|
|
13
|
-
"default": "./dist/permissions/index.
|
|
12
|
+
"types": "./dist/permissions/index.d.mts",
|
|
13
|
+
"default": "./dist/permissions/index.mjs"
|
|
14
|
+
},
|
|
15
|
+
"./cache": {
|
|
16
|
+
"types": "./dist/cache/index.d.mts",
|
|
17
|
+
"default": "./dist/cache/index.mjs"
|
|
14
18
|
},
|
|
15
19
|
"./types": {
|
|
16
|
-
"types": "./dist/types/index.d.
|
|
17
|
-
"default": "./dist/types/index.
|
|
20
|
+
"types": "./dist/types/index.d.mts",
|
|
21
|
+
"default": "./dist/types/index.mjs"
|
|
18
22
|
},
|
|
19
23
|
"./adapters": {
|
|
20
|
-
"types": "./dist/adapters/index.d.
|
|
21
|
-
"default": "./dist/adapters/index.
|
|
24
|
+
"types": "./dist/adapters/index.d.mts",
|
|
25
|
+
"default": "./dist/adapters/index.mjs"
|
|
22
26
|
},
|
|
23
27
|
"./core": {
|
|
24
|
-
"types": "./dist/core/index.d.
|
|
25
|
-
"default": "./dist/core/index.
|
|
28
|
+
"types": "./dist/core/index.d.mts",
|
|
29
|
+
"default": "./dist/core/index.mjs"
|
|
26
30
|
},
|
|
27
31
|
"./presets": {
|
|
28
|
-
"types": "./dist/presets/index.d.
|
|
29
|
-
"default": "./dist/presets/index.
|
|
32
|
+
"types": "./dist/presets/index.d.mts",
|
|
33
|
+
"default": "./dist/presets/index.mjs"
|
|
30
34
|
},
|
|
31
35
|
"./presets/tenant": {
|
|
32
|
-
"types": "./dist/presets/multiTenant.d.
|
|
33
|
-
"default": "./dist/presets/multiTenant.
|
|
36
|
+
"types": "./dist/presets/multiTenant.d.mts",
|
|
37
|
+
"default": "./dist/presets/multiTenant.mjs"
|
|
34
38
|
},
|
|
35
39
|
"./auth": {
|
|
36
|
-
"types": "./dist/auth/index.d.
|
|
37
|
-
"default": "./dist/auth/index.
|
|
40
|
+
"types": "./dist/auth/index.d.mts",
|
|
41
|
+
"default": "./dist/auth/index.mjs"
|
|
38
42
|
},
|
|
39
43
|
"./org": {
|
|
40
|
-
"types": "./dist/org/index.d.
|
|
41
|
-
"default": "./dist/org/index.
|
|
44
|
+
"types": "./dist/org/index.d.mts",
|
|
45
|
+
"default": "./dist/org/index.mjs"
|
|
46
|
+
},
|
|
47
|
+
"./org/types": {
|
|
48
|
+
"types": "./dist/org/types.d.mts",
|
|
49
|
+
"default": "./dist/org/types.mjs"
|
|
42
50
|
},
|
|
43
51
|
"./hooks": {
|
|
44
|
-
"types": "./dist/hooks/index.d.
|
|
45
|
-
"default": "./dist/hooks/index.
|
|
52
|
+
"types": "./dist/hooks/index.d.mts",
|
|
53
|
+
"default": "./dist/hooks/index.mjs"
|
|
46
54
|
},
|
|
47
55
|
"./registry": {
|
|
48
|
-
"types": "./dist/registry/index.d.
|
|
49
|
-
"default": "./dist/registry/index.
|
|
56
|
+
"types": "./dist/registry/index.d.mts",
|
|
57
|
+
"default": "./dist/registry/index.mjs"
|
|
50
58
|
},
|
|
51
59
|
"./utils": {
|
|
52
|
-
"types": "./dist/utils/index.d.
|
|
53
|
-
"default": "./dist/utils/index.
|
|
60
|
+
"types": "./dist/utils/index.d.mts",
|
|
61
|
+
"default": "./dist/utils/index.mjs"
|
|
54
62
|
},
|
|
55
63
|
"./cli": {
|
|
56
|
-
"types": "./dist/cli/index.d.
|
|
57
|
-
"default": "./dist/cli/index.
|
|
64
|
+
"types": "./dist/cli/index.d.mts",
|
|
65
|
+
"default": "./dist/cli/index.mjs"
|
|
58
66
|
},
|
|
59
67
|
"./plugins": {
|
|
60
|
-
"types": "./dist/plugins/index.d.
|
|
61
|
-
"default": "./dist/plugins/index.
|
|
68
|
+
"types": "./dist/plugins/index.d.mts",
|
|
69
|
+
"default": "./dist/plugins/index.mjs"
|
|
70
|
+
},
|
|
71
|
+
"./plugins/tracing": {
|
|
72
|
+
"types": "./dist/plugins/tracing-entry.d.mts",
|
|
73
|
+
"default": "./dist/plugins/tracing-entry.mjs"
|
|
62
74
|
},
|
|
63
75
|
"./audit": {
|
|
64
|
-
"types": "./dist/audit/index.d.
|
|
65
|
-
"default": "./dist/audit/index.
|
|
76
|
+
"types": "./dist/audit/index.d.mts",
|
|
77
|
+
"default": "./dist/audit/index.mjs"
|
|
78
|
+
},
|
|
79
|
+
"./audit/mongodb": {
|
|
80
|
+
"types": "./dist/audit/mongodb.d.mts",
|
|
81
|
+
"default": "./dist/audit/mongodb.mjs"
|
|
66
82
|
},
|
|
67
83
|
"./docs": {
|
|
68
|
-
"types": "./dist/docs/index.d.
|
|
69
|
-
"default": "./dist/docs/index.
|
|
84
|
+
"types": "./dist/docs/index.d.mts",
|
|
85
|
+
"default": "./dist/docs/index.mjs"
|
|
70
86
|
},
|
|
71
87
|
"./idempotency": {
|
|
72
|
-
"types": "./dist/idempotency/index.d.
|
|
73
|
-
"default": "./dist/idempotency/index.
|
|
88
|
+
"types": "./dist/idempotency/index.d.mts",
|
|
89
|
+
"default": "./dist/idempotency/index.mjs"
|
|
90
|
+
},
|
|
91
|
+
"./idempotency/redis": {
|
|
92
|
+
"types": "./dist/idempotency/redis.d.mts",
|
|
93
|
+
"default": "./dist/idempotency/redis.mjs"
|
|
94
|
+
},
|
|
95
|
+
"./idempotency/mongodb": {
|
|
96
|
+
"types": "./dist/idempotency/mongodb.d.mts",
|
|
97
|
+
"default": "./dist/idempotency/mongodb.mjs"
|
|
74
98
|
},
|
|
75
99
|
"./events": {
|
|
76
|
-
"types": "./dist/events/index.d.
|
|
77
|
-
"default": "./dist/events/index.
|
|
100
|
+
"types": "./dist/events/index.d.mts",
|
|
101
|
+
"default": "./dist/events/index.mjs"
|
|
102
|
+
},
|
|
103
|
+
"./events/redis": {
|
|
104
|
+
"types": "./dist/events/transports/redis.d.mts",
|
|
105
|
+
"default": "./dist/events/transports/redis.mjs"
|
|
106
|
+
},
|
|
107
|
+
"./events/redis-stream": {
|
|
108
|
+
"types": "./dist/events/transports/redis-stream-entry.d.mts",
|
|
109
|
+
"default": "./dist/events/transports/redis-stream-entry.mjs"
|
|
78
110
|
},
|
|
79
111
|
"./testing": {
|
|
80
|
-
"types": "./dist/testing/index.d.
|
|
81
|
-
"default": "./dist/testing/index.
|
|
112
|
+
"types": "./dist/testing/index.d.mts",
|
|
113
|
+
"default": "./dist/testing/index.mjs"
|
|
82
114
|
},
|
|
83
115
|
"./policies": {
|
|
84
|
-
"types": "./dist/policies/index.d.
|
|
85
|
-
"default": "./dist/policies/index.
|
|
116
|
+
"types": "./dist/policies/index.d.mts",
|
|
117
|
+
"default": "./dist/policies/index.mjs"
|
|
86
118
|
},
|
|
87
119
|
"./factory": {
|
|
88
|
-
"types": "./dist/factory/index.d.
|
|
89
|
-
"default": "./dist/factory/index.
|
|
120
|
+
"types": "./dist/factory/index.d.mts",
|
|
121
|
+
"default": "./dist/factory/index.mjs"
|
|
122
|
+
},
|
|
123
|
+
"./schemas": {
|
|
124
|
+
"types": "./dist/schemas/index.d.mts",
|
|
125
|
+
"default": "./dist/schemas/index.mjs"
|
|
90
126
|
},
|
|
91
127
|
"./migrations": {
|
|
92
|
-
"types": "./dist/migrations/index.d.
|
|
93
|
-
"default": "./dist/migrations/index.
|
|
128
|
+
"types": "./dist/migrations/index.d.mts",
|
|
129
|
+
"default": "./dist/migrations/index.mjs"
|
|
130
|
+
},
|
|
131
|
+
"./discovery": {
|
|
132
|
+
"types": "./dist/discovery/index.d.mts",
|
|
133
|
+
"default": "./dist/discovery/index.mjs"
|
|
134
|
+
},
|
|
135
|
+
"./integrations": {
|
|
136
|
+
"types": "./dist/integrations/index.d.mts",
|
|
137
|
+
"default": "./dist/integrations/index.mjs"
|
|
138
|
+
},
|
|
139
|
+
"./integrations/streamline": {
|
|
140
|
+
"types": "./dist/integrations/streamline.d.mts",
|
|
141
|
+
"default": "./dist/integrations/streamline.mjs"
|
|
142
|
+
},
|
|
143
|
+
"./integrations/websocket": {
|
|
144
|
+
"types": "./dist/integrations/websocket.d.mts",
|
|
145
|
+
"default": "./dist/integrations/websocket.mjs"
|
|
146
|
+
},
|
|
147
|
+
"./integrations/jobs": {
|
|
148
|
+
"types": "./dist/integrations/jobs.d.mts",
|
|
149
|
+
"default": "./dist/integrations/jobs.mjs"
|
|
150
|
+
},
|
|
151
|
+
"./integrations/event-gateway": {
|
|
152
|
+
"types": "./dist/integrations/event-gateway.d.mts",
|
|
153
|
+
"default": "./dist/integrations/event-gateway.mjs"
|
|
154
|
+
},
|
|
155
|
+
"./auth/redis": {
|
|
156
|
+
"types": "./dist/auth/redis-session.d.mts",
|
|
157
|
+
"default": "./dist/auth/redis-session.mjs"
|
|
158
|
+
},
|
|
159
|
+
"./plugins/response-cache": {
|
|
160
|
+
"types": "./dist/plugins/response-cache.d.mts",
|
|
161
|
+
"default": "./dist/plugins/response-cache.mjs"
|
|
162
|
+
},
|
|
163
|
+
"./scope": {
|
|
164
|
+
"types": "./dist/scope/index.d.mts",
|
|
165
|
+
"default": "./dist/scope/index.mjs"
|
|
94
166
|
}
|
|
95
167
|
},
|
|
96
|
-
"main": "./dist/index.
|
|
97
|
-
"types": "./dist/index.d.
|
|
168
|
+
"main": "./dist/index.mjs",
|
|
169
|
+
"types": "./dist/index.d.mts",
|
|
98
170
|
"bin": {
|
|
99
171
|
"arc": "./bin/arc.js"
|
|
100
172
|
},
|
|
@@ -104,8 +176,8 @@
|
|
|
104
176
|
"bin"
|
|
105
177
|
],
|
|
106
178
|
"scripts": {
|
|
107
|
-
"build": "
|
|
108
|
-
"dev": "
|
|
179
|
+
"build": "tsdown",
|
|
180
|
+
"dev": "tsdown --watch",
|
|
109
181
|
"typecheck": "tsc --noEmit",
|
|
110
182
|
"test": "vitest run",
|
|
111
183
|
"test:watch": "vitest",
|
|
@@ -116,23 +188,48 @@
|
|
|
116
188
|
"prepublishOnly": "npm run typecheck && npm test && npm run build"
|
|
117
189
|
},
|
|
118
190
|
"engines": {
|
|
119
|
-
"node": ">=
|
|
191
|
+
"node": ">=22"
|
|
120
192
|
},
|
|
121
193
|
"peerDependencies": {
|
|
122
|
-
"@classytic/mongokit": "^3.
|
|
123
|
-
"
|
|
124
|
-
"mongoose": "^8.0.0 || ^9.0.0",
|
|
194
|
+
"@classytic/mongokit": "^3.2.3",
|
|
195
|
+
"@classytic/streamline": ">=1.0.0",
|
|
125
196
|
"@fastify/cors": "^11.0.0",
|
|
126
197
|
"@fastify/helmet": "^13.0.0",
|
|
198
|
+
"@fastify/jwt": "^10.0.0",
|
|
199
|
+
"@fastify/multipart": "^9.0.0",
|
|
127
200
|
"@fastify/rate-limit": "^10.0.0",
|
|
128
201
|
"@fastify/sensible": "^6.0.0",
|
|
202
|
+
"@fastify/type-provider-typebox": "^6.0.0",
|
|
129
203
|
"@fastify/under-pressure": "^9.0.0",
|
|
130
|
-
"@fastify/
|
|
204
|
+
"@fastify/websocket": "^11.0.0",
|
|
205
|
+
"@opentelemetry/api": "^1.0.0",
|
|
206
|
+
"@opentelemetry/auto-instrumentations-node": ">=0.40.0",
|
|
207
|
+
"@opentelemetry/exporter-trace-otlp-http": ">=0.50.0",
|
|
208
|
+
"@opentelemetry/instrumentation-http": ">=0.50.0",
|
|
209
|
+
"@opentelemetry/instrumentation-mongodb": ">=0.40.0",
|
|
210
|
+
"@opentelemetry/sdk-node": ">=0.50.0",
|
|
211
|
+
"@sinclair/typebox": "^0.34.0",
|
|
212
|
+
"better-auth": ">=1.0.0",
|
|
213
|
+
"bullmq": "^5.0.0",
|
|
214
|
+
"fastify": "^5.7.4",
|
|
131
215
|
"fastify-raw-body": "^5.0.0",
|
|
132
|
-
"
|
|
216
|
+
"ioredis": "^5.0.0",
|
|
217
|
+
"mongodb": "^6.0.0 || ^7.0.0",
|
|
218
|
+
"mongoose": "^8.0.0 || ^9.0.0",
|
|
219
|
+
"pino-pretty": "^13.0.0",
|
|
220
|
+
"zod": "^4.0.0"
|
|
133
221
|
},
|
|
134
222
|
"peerDependenciesMeta": {
|
|
135
|
-
"@
|
|
223
|
+
"@classytic/mongokit": {
|
|
224
|
+
"optional": true
|
|
225
|
+
},
|
|
226
|
+
"mongodb": {
|
|
227
|
+
"optional": true
|
|
228
|
+
},
|
|
229
|
+
"mongoose": {
|
|
230
|
+
"optional": true
|
|
231
|
+
},
|
|
232
|
+
"better-auth": {
|
|
136
233
|
"optional": true
|
|
137
234
|
},
|
|
138
235
|
"@fastify/cors": {
|
|
@@ -141,6 +238,9 @@
|
|
|
141
238
|
"@fastify/helmet": {
|
|
142
239
|
"optional": true
|
|
143
240
|
},
|
|
241
|
+
"@fastify/jwt": {
|
|
242
|
+
"optional": true
|
|
243
|
+
},
|
|
144
244
|
"@fastify/rate-limit": {
|
|
145
245
|
"optional": true
|
|
146
246
|
},
|
|
@@ -153,16 +253,13 @@
|
|
|
153
253
|
"@fastify/multipart": {
|
|
154
254
|
"optional": true
|
|
155
255
|
},
|
|
156
|
-
"fastify
|
|
157
|
-
"optional": true
|
|
158
|
-
},
|
|
159
|
-
"pino-pretty": {
|
|
256
|
+
"@fastify/websocket": {
|
|
160
257
|
"optional": true
|
|
161
258
|
},
|
|
162
|
-
"
|
|
259
|
+
"fastify-raw-body": {
|
|
163
260
|
"optional": true
|
|
164
261
|
},
|
|
165
|
-
"
|
|
262
|
+
"pino-pretty": {
|
|
166
263
|
"optional": true
|
|
167
264
|
},
|
|
168
265
|
"@opentelemetry/api": {
|
|
@@ -182,23 +279,49 @@
|
|
|
182
279
|
},
|
|
183
280
|
"@opentelemetry/auto-instrumentations-node": {
|
|
184
281
|
"optional": true
|
|
282
|
+
},
|
|
283
|
+
"ioredis": {
|
|
284
|
+
"optional": true
|
|
285
|
+
},
|
|
286
|
+
"@sinclair/typebox": {
|
|
287
|
+
"optional": true
|
|
288
|
+
},
|
|
289
|
+
"@fastify/type-provider-typebox": {
|
|
290
|
+
"optional": true
|
|
291
|
+
},
|
|
292
|
+
"bullmq": {
|
|
293
|
+
"optional": true
|
|
294
|
+
},
|
|
295
|
+
"@classytic/streamline": {
|
|
296
|
+
"optional": true
|
|
297
|
+
},
|
|
298
|
+
"zod": {
|
|
299
|
+
"optional": true
|
|
185
300
|
}
|
|
186
301
|
},
|
|
187
302
|
"dependencies": {
|
|
188
|
-
"fastify-plugin": "^5.0.1"
|
|
303
|
+
"fastify-plugin": "^5.0.1",
|
|
304
|
+
"qs": "^6.14.1"
|
|
189
305
|
},
|
|
190
306
|
"devDependencies": {
|
|
191
|
-
"@classytic/mongokit": "^3.
|
|
192
|
-
"@fastify/jwt": "^
|
|
307
|
+
"@classytic/mongokit": "^3.2.3",
|
|
308
|
+
"@fastify/jwt": "^10.0.0",
|
|
193
309
|
"@fastify/multipart": "^9.0.0",
|
|
194
|
-
"@
|
|
310
|
+
"@fastify/websocket": "^11.0.0",
|
|
311
|
+
"@fastify/type-provider-typebox": "^6.0.0",
|
|
312
|
+
"@sinclair/typebox": "^0.34.0",
|
|
195
313
|
"@types/node": "^22.10.0",
|
|
314
|
+
"@types/qs": "^6.14.0",
|
|
315
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
196
316
|
"fastify-raw-body": "^5.0.0",
|
|
197
317
|
"jsonwebtoken": "^9.0.0",
|
|
318
|
+
"mongodb": "^7.1.0",
|
|
198
319
|
"mongodb-memory-server": "^11.0.1",
|
|
199
|
-
"
|
|
320
|
+
"tsdown": "^0.20.3",
|
|
200
321
|
"typescript": "^5.7.2",
|
|
201
|
-
"vitest": "^3.0.0"
|
|
322
|
+
"vitest": "^3.0.0",
|
|
323
|
+
"ws": "^8.0.0",
|
|
324
|
+
"zod": "^4.3.6"
|
|
202
325
|
},
|
|
203
326
|
"keywords": [
|
|
204
327
|
"fastify",
|
|
@@ -210,7 +333,12 @@
|
|
|
210
333
|
"framework",
|
|
211
334
|
"resource",
|
|
212
335
|
"multi-tenant",
|
|
213
|
-
"typescript"
|
|
336
|
+
"typescript",
|
|
337
|
+
"tree-shakable",
|
|
338
|
+
"serverless",
|
|
339
|
+
"websocket",
|
|
340
|
+
"jobs",
|
|
341
|
+
"workflow"
|
|
214
342
|
],
|
|
215
343
|
"author": "Classytic",
|
|
216
344
|
"license": "MIT",
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import { A as AnyRecord, I as IController, R as RouteSchemaOptions, Q as QueryParserInterface, a as IRequestContext, S as ServiceContext, C as ControllerQueryOptions, b as RequestContext, H as HookSystem, c as IControllerResponse, P as PaginatedResult } from './index-D5QTob1X.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Base Controller - Framework-Agnostic CRUD Operations
|
|
5
|
-
*
|
|
6
|
-
* Implements IController interface for framework portability.
|
|
7
|
-
* Works with Fastify, Express, Next.js, or any framework via adapter pattern.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* import { BaseController } from '@classytic/arc';
|
|
11
|
-
*
|
|
12
|
-
* // Use Arc's default query parser (works out of the box)
|
|
13
|
-
* class ProductController extends BaseController {
|
|
14
|
-
* constructor(repository: CrudRepository) {
|
|
15
|
-
* super(repository);
|
|
16
|
-
* }
|
|
17
|
-
* }
|
|
18
|
-
*
|
|
19
|
-
* // Or use MongoKit's parser for advanced MongoDB features ($lookup, aggregations)
|
|
20
|
-
* import { QueryParser } from '@classytic/mongokit';
|
|
21
|
-
* defineResource({
|
|
22
|
-
* name: 'product',
|
|
23
|
-
* queryParser: new QueryParser(),
|
|
24
|
-
* // ...
|
|
25
|
-
* });
|
|
26
|
-
*
|
|
27
|
-
* // Or use a custom parser for SQL databases
|
|
28
|
-
* defineResource({
|
|
29
|
-
* name: 'user',
|
|
30
|
-
* queryParser: new PgQueryParser(),
|
|
31
|
-
* // ...
|
|
32
|
-
* });
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Flexible repository interface that accepts any repository shape
|
|
37
|
-
* Core CRUD methods use flexible signatures to work with any implementation
|
|
38
|
-
* Custom methods can be added via the index signature
|
|
39
|
-
*
|
|
40
|
-
* @example
|
|
41
|
-
* // MongoKit repository with custom methods
|
|
42
|
-
* interface MyRepository extends FlexibleRepository {
|
|
43
|
-
* findByEmail(email: string): Promise<User>;
|
|
44
|
-
* customMethod(): Promise<void>;
|
|
45
|
-
* }
|
|
46
|
-
*/
|
|
47
|
-
interface FlexibleRepository {
|
|
48
|
-
getAll(...args: any[]): Promise<any>;
|
|
49
|
-
getById(...args: any[]): Promise<any>;
|
|
50
|
-
create(...args: any[]): Promise<any>;
|
|
51
|
-
update(...args: any[]): Promise<any>;
|
|
52
|
-
delete(...args: any[]): Promise<any>;
|
|
53
|
-
[key: string]: any;
|
|
54
|
-
}
|
|
55
|
-
interface BaseControllerOptions {
|
|
56
|
-
/** Schema options for field sanitization */
|
|
57
|
-
schemaOptions?: RouteSchemaOptions;
|
|
58
|
-
/**
|
|
59
|
-
* Query parser instance
|
|
60
|
-
* Default: Arc built-in query parser (adapter-agnostic).
|
|
61
|
-
* You can swap in MongoKit QueryParser, pgkit parser, etc.
|
|
62
|
-
*/
|
|
63
|
-
queryParser?: QueryParserInterface;
|
|
64
|
-
/** Maximum limit for pagination (default: 100) */
|
|
65
|
-
maxLimit?: number;
|
|
66
|
-
/** Default limit for pagination (default: 20) */
|
|
67
|
-
defaultLimit?: number;
|
|
68
|
-
/** Default sort field (default: '-createdAt') */
|
|
69
|
-
defaultSort?: string;
|
|
70
|
-
/** Resource name for hook execution (e.g., 'product' → 'product.created') */
|
|
71
|
-
resourceName?: string;
|
|
72
|
-
/** Disable automatic event emission (default: false) */
|
|
73
|
-
disableEvents?: boolean;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Framework-agnostic base controller implementing MongoKit's IController
|
|
77
|
-
*
|
|
78
|
-
* @template TDoc - The document type
|
|
79
|
-
* @template TRepository - The repository type (defaults to CrudRepository<TDoc>, preserves custom methods when specified)
|
|
80
|
-
*
|
|
81
|
-
* Use with Fastify adapter for Fastify integration (see createFastifyAdapter in createCrudRouter)
|
|
82
|
-
*
|
|
83
|
-
* @example
|
|
84
|
-
* // Without custom repository type (backward compatible)
|
|
85
|
-
* class SimpleController extends BaseController<Product> {
|
|
86
|
-
* constructor(repository: CrudRepository<Product>) {
|
|
87
|
-
* super(repository);
|
|
88
|
-
* }
|
|
89
|
-
* }
|
|
90
|
-
*
|
|
91
|
-
* @example
|
|
92
|
-
* // With custom repository type (type-safe access to custom methods)
|
|
93
|
-
* class ProductController extends BaseController<Product, ProductRepository> {
|
|
94
|
-
* constructor(repository: ProductRepository) {
|
|
95
|
-
* super(repository);
|
|
96
|
-
* }
|
|
97
|
-
*
|
|
98
|
-
* async customMethod(context: IRequestContext) {
|
|
99
|
-
* // TypeScript knows about ProductRepository's custom methods
|
|
100
|
-
* return await this.repository.findByCategory(...);
|
|
101
|
-
* }
|
|
102
|
-
* }
|
|
103
|
-
*/
|
|
104
|
-
declare class BaseController<TDoc = AnyRecord, TRepository extends FlexibleRepository = FlexibleRepository> implements IController<TDoc> {
|
|
105
|
-
protected repository: TRepository;
|
|
106
|
-
protected schemaOptions: RouteSchemaOptions;
|
|
107
|
-
protected queryParser: QueryParserInterface;
|
|
108
|
-
protected maxLimit: number;
|
|
109
|
-
protected defaultLimit: number;
|
|
110
|
-
protected defaultSort: string;
|
|
111
|
-
protected resourceName?: string;
|
|
112
|
-
protected disableEvents: boolean;
|
|
113
|
-
/** Preset field names for dynamic param reading */
|
|
114
|
-
protected _presetFields: {
|
|
115
|
-
slugField?: string;
|
|
116
|
-
parentField?: string;
|
|
117
|
-
};
|
|
118
|
-
constructor(repository: TRepository, options?: BaseControllerOptions);
|
|
119
|
-
/**
|
|
120
|
-
* Inject resource options from defineResource
|
|
121
|
-
*/
|
|
122
|
-
_setResourceOptions(options: {
|
|
123
|
-
schemaOptions?: RouteSchemaOptions;
|
|
124
|
-
presetFields?: {
|
|
125
|
-
slugField?: string;
|
|
126
|
-
parentField?: string;
|
|
127
|
-
};
|
|
128
|
-
resourceName?: string;
|
|
129
|
-
queryParser?: QueryParserInterface;
|
|
130
|
-
}): void;
|
|
131
|
-
/**
|
|
132
|
-
* Build service context from IRequestContext
|
|
133
|
-
*/
|
|
134
|
-
protected _buildContext(req: IRequestContext): ServiceContext;
|
|
135
|
-
/**
|
|
136
|
-
* Parse query into QueryOptions using queryParser
|
|
137
|
-
*/
|
|
138
|
-
protected _parseQueryOptions(req: IRequestContext): ControllerQueryOptions;
|
|
139
|
-
/**
|
|
140
|
-
* Apply org and policy filters
|
|
141
|
-
*/
|
|
142
|
-
protected _applyFilters(options: ControllerQueryOptions, req: IRequestContext): ControllerQueryOptions;
|
|
143
|
-
/**
|
|
144
|
-
* Build filter for single-item operations (get/update/delete)
|
|
145
|
-
* Combines ID filter with policy/org filters for proper security enforcement
|
|
146
|
-
*/
|
|
147
|
-
protected _buildIdFilter(id: string, req: IRequestContext): AnyRecord;
|
|
148
|
-
/**
|
|
149
|
-
* Check if a value matches a MongoDB query operator
|
|
150
|
-
*/
|
|
151
|
-
protected _matchesOperator(itemValue: unknown, operator: string, filterValue: unknown): boolean;
|
|
152
|
-
/**
|
|
153
|
-
* Forbidden paths that could lead to prototype pollution
|
|
154
|
-
*/
|
|
155
|
-
private static readonly FORBIDDEN_PATHS;
|
|
156
|
-
/**
|
|
157
|
-
* Get nested value from object using dot notation (e.g., "owner.id")
|
|
158
|
-
* Security: Validates path against forbidden patterns to prevent prototype pollution
|
|
159
|
-
*/
|
|
160
|
-
protected _getNestedValue(obj: AnyRecord, path: string): unknown;
|
|
161
|
-
/**
|
|
162
|
-
* Check if item matches a single filter condition
|
|
163
|
-
* Supports nested paths (e.g., "owner.id", "metadata.status")
|
|
164
|
-
*/
|
|
165
|
-
protected _matchesFilter(item: AnyRecord, key: string, filterValue: unknown): boolean;
|
|
166
|
-
/**
|
|
167
|
-
* Check if item matches policy filters (for get/update/delete operations)
|
|
168
|
-
* Validates that fetched item satisfies all policy constraints
|
|
169
|
-
* Supports MongoDB query operators: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin, $exists, $regex, $and, $or
|
|
170
|
-
*/
|
|
171
|
-
protected _checkPolicyFilters(item: AnyRecord, req: IRequestContext): boolean;
|
|
172
|
-
/** Parse lean option (default: true for performance) */
|
|
173
|
-
protected _parseLean(leanValue: unknown): boolean;
|
|
174
|
-
/** Get blocked fields from schema options */
|
|
175
|
-
protected _getBlockedFields(schemaOptions: RouteSchemaOptions): string[];
|
|
176
|
-
/**
|
|
177
|
-
* Convert parsed select object to string format
|
|
178
|
-
* Converts { name: 1, email: 1, password: 0 } → 'name email -password'
|
|
179
|
-
*/
|
|
180
|
-
protected _selectToString(select: string | string[] | Record<string, 0 | 1> | undefined): string | undefined;
|
|
181
|
-
/** Sanitize select fields */
|
|
182
|
-
protected _sanitizeSelect(select: string | undefined, schemaOptions: RouteSchemaOptions): string | undefined;
|
|
183
|
-
/** Sanitize populate fields */
|
|
184
|
-
protected _sanitizePopulate(populate: unknown, schemaOptions: RouteSchemaOptions): string[] | undefined;
|
|
185
|
-
/** Check org scope for a document */
|
|
186
|
-
protected _checkOrgScope(item: AnyRecord | null, arcContext: RequestContext | undefined): boolean;
|
|
187
|
-
/** Check ownership for update/delete (ownedByUser preset) */
|
|
188
|
-
protected _checkOwnership(item: AnyRecord | null, req: IRequestContext): boolean;
|
|
189
|
-
/**
|
|
190
|
-
* Get hook system from context (instance-scoped) or fall back to global singleton
|
|
191
|
-
* This allows proper isolation when running multiple app instances (e.g., in tests)
|
|
192
|
-
*/
|
|
193
|
-
protected _getHooks(req: IRequestContext): HookSystem;
|
|
194
|
-
/**
|
|
195
|
-
* List resources with filtering, pagination, sorting
|
|
196
|
-
* Implements IController.list()
|
|
197
|
-
*/
|
|
198
|
-
list(req: IRequestContext): Promise<IControllerResponse<PaginatedResult<TDoc>>>;
|
|
199
|
-
/**
|
|
200
|
-
* Get single resource by ID
|
|
201
|
-
* Implements IController.get()
|
|
202
|
-
*/
|
|
203
|
-
get(req: IRequestContext): Promise<IControllerResponse<TDoc>>;
|
|
204
|
-
/**
|
|
205
|
-
* Create new resource
|
|
206
|
-
* Implements IController.create()
|
|
207
|
-
*/
|
|
208
|
-
create(req: IRequestContext): Promise<IControllerResponse<TDoc>>;
|
|
209
|
-
/**
|
|
210
|
-
* Update existing resource
|
|
211
|
-
* Implements IController.update()
|
|
212
|
-
*/
|
|
213
|
-
update(req: IRequestContext): Promise<IControllerResponse<TDoc>>;
|
|
214
|
-
/**
|
|
215
|
-
* Delete resource
|
|
216
|
-
* Implements IController.delete()
|
|
217
|
-
*/
|
|
218
|
-
delete(req: IRequestContext): Promise<IControllerResponse<{
|
|
219
|
-
message: string;
|
|
220
|
-
}>>;
|
|
221
|
-
/** Get resource by slug (slugLookup preset) */
|
|
222
|
-
getBySlug(req: IRequestContext): Promise<IControllerResponse<TDoc>>;
|
|
223
|
-
/** Get soft-deleted resources (softDelete preset) */
|
|
224
|
-
getDeleted(req: IRequestContext): Promise<IControllerResponse<PaginatedResult<TDoc>>>;
|
|
225
|
-
/** Restore soft-deleted resource (softDelete preset) */
|
|
226
|
-
restore(req: IRequestContext): Promise<IControllerResponse<TDoc>>;
|
|
227
|
-
/** Get hierarchical tree (tree preset) */
|
|
228
|
-
getTree(req: IRequestContext): Promise<IControllerResponse<TDoc[]>>;
|
|
229
|
-
/** Get children of parent (tree preset) */
|
|
230
|
-
getChildren(req: IRequestContext): Promise<IControllerResponse<TDoc[]>>;
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
export { BaseController as B, type BaseControllerOptions as a };
|