@forklaunch/core 0.2.37 → 0.3.1
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/lib/{src/database/mikro/models/entities/base.entity.d.ts → base.entity-DNfmMOgd.d.mts} +3 -2
- package/lib/base.entity-DNfmMOgd.d.ts +27 -0
- package/lib/{src/cache/redisTtlCache.d.ts → cache/index.d.mts} +67 -4
- package/lib/cache/index.d.ts +130 -0
- package/lib/cache/index.js +133 -0
- package/lib/cache/index.mjs +105 -0
- package/lib/controllers/index.d.mts +5 -0
- package/lib/controllers/index.d.ts +5 -0
- package/lib/controllers/index.js +18 -0
- package/lib/controllers/index.mjs +0 -0
- package/lib/database/index.d.mts +37 -0
- package/lib/{src/database/mikro/models/entities/mongo.base.entity.d.ts → database/index.d.ts} +5 -2
- package/lib/database/index.js +78 -0
- package/lib/database/index.mjs +53 -0
- package/lib/dtoMapper/index.d.mts +215 -0
- package/lib/dtoMapper/index.d.ts +215 -0
- package/lib/dtoMapper/index.js +235 -0
- package/lib/dtoMapper/index.mjs +213 -0
- package/lib/http/index.d.mts +910 -0
- package/lib/http/index.d.ts +910 -0
- package/lib/http/index.js +2189 -0
- package/lib/http/index.mjs +2134 -0
- package/lib/services/index.d.mts +69 -0
- package/lib/services/index.d.ts +69 -0
- package/lib/services/index.js +244 -0
- package/lib/services/index.mjs +215 -0
- package/package.json +68 -55
- package/lib/src/cache/index.d.ts +0 -5
- package/lib/src/cache/index.d.ts.map +0 -1
- package/lib/src/cache/index.js +0 -4
- package/lib/src/cache/interfaces/ttlCache.interface.d.ts +0 -48
- package/lib/src/cache/interfaces/ttlCache.interface.d.ts.map +0 -1
- package/lib/src/cache/interfaces/ttlCache.interface.js +0 -1
- package/lib/src/cache/redisTtlCache.d.ts.map +0 -1
- package/lib/src/cache/redisTtlCache.js +0 -98
- package/lib/src/cache/types/ttlCacheRecord.types.d.ts +0 -14
- package/lib/src/cache/types/ttlCacheRecord.types.d.ts.map +0 -1
- package/lib/src/cache/types/ttlCacheRecord.types.js +0 -1
- package/lib/src/cache/utils/cacheKey.d.ts +0 -2
- package/lib/src/cache/utils/cacheKey.d.ts.map +0 -1
- package/lib/src/cache/utils/cacheKey.js +0 -3
- package/lib/src/controllers/index.d.ts +0 -2
- package/lib/src/controllers/index.d.ts.map +0 -1
- package/lib/src/controllers/index.js +0 -1
- package/lib/src/controllers/interfaces/controller.interface.d.ts +0 -4
- package/lib/src/controllers/interfaces/controller.interface.d.ts.map +0 -1
- package/lib/src/controllers/interfaces/controller.interface.js +0 -1
- package/lib/src/database/index.d.ts +0 -3
- package/lib/src/database/index.d.ts.map +0 -1
- package/lib/src/database/index.js +0 -2
- package/lib/src/database/mikro/models/entities/base.entity.d.ts.map +0 -1
- package/lib/src/database/mikro/models/entities/base.entity.js +0 -42
- package/lib/src/database/mikro/models/entities/mongo.base.entity.d.ts.map +0 -1
- package/lib/src/database/mikro/models/entities/mongo.base.entity.js +0 -51
- package/lib/src/dtoMapper/index.d.ts +0 -3
- package/lib/src/dtoMapper/index.d.ts.map +0 -1
- package/lib/src/dtoMapper/index.js +0 -2
- package/lib/src/dtoMapper/interfaces/dtoMapper.interface.d.ts +0 -18
- package/lib/src/dtoMapper/interfaces/dtoMapper.interface.d.ts.map +0 -1
- package/lib/src/dtoMapper/interfaces/dtoMapper.interface.js +0 -1
- package/lib/src/dtoMapper/models/baseDtoMapper.model.d.ts +0 -72
- package/lib/src/dtoMapper/models/baseDtoMapper.model.d.ts.map +0 -1
- package/lib/src/dtoMapper/models/baseDtoMapper.model.js +0 -76
- package/lib/src/dtoMapper/models/requestDtoMapper.model.d.ts +0 -68
- package/lib/src/dtoMapper/models/requestDtoMapper.model.d.ts.map +0 -1
- package/lib/src/dtoMapper/models/requestDtoMapper.model.js +0 -71
- package/lib/src/dtoMapper/models/responseDtoMapper.model.d.ts +0 -67
- package/lib/src/dtoMapper/models/responseDtoMapper.model.d.ts.map +0 -1
- package/lib/src/dtoMapper/models/responseDtoMapper.model.js +0 -68
- package/lib/src/dtoMapper/types/dtoMapper.types.d.ts +0 -9
- package/lib/src/dtoMapper/types/dtoMapper.types.d.ts.map +0 -1
- package/lib/src/dtoMapper/types/dtoMapper.types.js +0 -1
- package/lib/src/http/application/expressLikeApplication.d.ts +0 -21
- package/lib/src/http/application/expressLikeApplication.d.ts.map +0 -1
- package/lib/src/http/application/expressLikeApplication.js +0 -21
- package/lib/src/http/guards/isConstrainedForklaunchRouter.d.ts +0 -4
- package/lib/src/http/guards/isConstrainedForklaunchRouter.d.ts.map +0 -1
- package/lib/src/http/guards/isConstrainedForklaunchRouter.js +0 -5
- package/lib/src/http/guards/isExpressLikeSchemaHandler.d.ts +0 -5
- package/lib/src/http/guards/isExpressLikeSchemaHandler.d.ts.map +0 -1
- package/lib/src/http/guards/isExpressLikeSchemaHandler.js +0 -6
- package/lib/src/http/guards/isForklaunchExpressLikeRouter.d.ts +0 -5
- package/lib/src/http/guards/isForklaunchExpressLikeRouter.d.ts.map +0 -1
- package/lib/src/http/guards/isForklaunchExpressLikeRouter.js +0 -6
- package/lib/src/http/guards/isForklaunchRouter.d.ts +0 -4
- package/lib/src/http/guards/isForklaunchRouter.d.ts.map +0 -1
- package/lib/src/http/guards/isForklaunchRouter.js +0 -7
- package/lib/src/http/guards/isHttpContractDetails.d.ts +0 -7
- package/lib/src/http/guards/isHttpContractDetails.d.ts.map +0 -1
- package/lib/src/http/guards/isHttpContractDetails.js +0 -9
- package/lib/src/http/guards/isPathParamContractDetails.d.ts +0 -4
- package/lib/src/http/guards/isPathParamContractDetails.d.ts.map +0 -1
- package/lib/src/http/guards/isPathParamContractDetails.js +0 -10
- package/lib/src/http/guards/isResponseShape.d.ts +0 -3
- package/lib/src/http/guards/isResponseShape.d.ts.map +0 -1
- package/lib/src/http/guards/isResponseShape.js +0 -7
- package/lib/src/http/guards/isTypedHandler.d.ts +0 -5
- package/lib/src/http/guards/isTypedHandler.d.ts.map +0 -1
- package/lib/src/http/guards/isTypedHandler.js +0 -6
- package/lib/src/http/handlers/delete.d.ts +0 -9
- package/lib/src/http/handlers/delete.d.ts.map +0 -1
- package/lib/src/http/handlers/delete.js +0 -4
- package/lib/src/http/handlers/get.d.ts +0 -9
- package/lib/src/http/handlers/get.d.ts.map +0 -1
- package/lib/src/http/handlers/get.js +0 -4
- package/lib/src/http/handlers/head.d.ts +0 -9
- package/lib/src/http/handlers/head.d.ts.map +0 -1
- package/lib/src/http/handlers/head.js +0 -4
- package/lib/src/http/handlers/middleware.d.ts +0 -9
- package/lib/src/http/handlers/middleware.d.ts.map +0 -1
- package/lib/src/http/handlers/middleware.js +0 -4
- package/lib/src/http/handlers/options.d.ts +0 -9
- package/lib/src/http/handlers/options.d.ts.map +0 -1
- package/lib/src/http/handlers/options.js +0 -4
- package/lib/src/http/handlers/patch.d.ts +0 -9
- package/lib/src/http/handlers/patch.d.ts.map +0 -1
- package/lib/src/http/handlers/patch.js +0 -4
- package/lib/src/http/handlers/post.d.ts +0 -9
- package/lib/src/http/handlers/post.d.ts.map +0 -1
- package/lib/src/http/handlers/post.js +0 -4
- package/lib/src/http/handlers/put.d.ts +0 -9
- package/lib/src/http/handlers/put.d.ts.map +0 -1
- package/lib/src/http/handlers/put.js +0 -4
- package/lib/src/http/handlers/trace.d.ts +0 -9
- package/lib/src/http/handlers/trace.d.ts.map +0 -1
- package/lib/src/http/handlers/trace.js +0 -4
- package/lib/src/http/handlers/typedAuthHandler.d.ts +0 -5
- package/lib/src/http/handlers/typedAuthHandler.d.ts.map +0 -1
- package/lib/src/http/handlers/typedAuthHandler.js +0 -3
- package/lib/src/http/handlers/typedHandler.d.ts +0 -21
- package/lib/src/http/handlers/typedHandler.d.ts.map +0 -1
- package/lib/src/http/handlers/typedHandler.js +0 -30
- package/lib/src/http/index.d.ts +0 -23
- package/lib/src/http/index.d.ts.map +0 -1
- package/lib/src/http/index.js +0 -22
- package/lib/src/http/interfaces/expressLikeRouter.interface.d.ts +0 -24
- package/lib/src/http/interfaces/expressLikeRouter.interface.d.ts.map +0 -1
- package/lib/src/http/interfaces/expressLikeRouter.interface.js +0 -1
- package/lib/src/http/middleware/request/auth.middleware.d.ts +0 -16
- package/lib/src/http/middleware/request/auth.middleware.d.ts.map +0 -1
- package/lib/src/http/middleware/request/auth.middleware.js +0 -143
- package/lib/src/http/middleware/request/cors.middleware.d.ts +0 -13
- package/lib/src/http/middleware/request/cors.middleware.d.ts.map +0 -1
- package/lib/src/http/middleware/request/cors.middleware.js +0 -15
- package/lib/src/http/middleware/request/createContext.middleware.d.ts +0 -15
- package/lib/src/http/middleware/request/createContext.middleware.d.ts.map +0 -1
- package/lib/src/http/middleware/request/createContext.middleware.js +0 -26
- package/lib/src/http/middleware/request/enrichDetails.middleware.d.ts +0 -15
- package/lib/src/http/middleware/request/enrichDetails.middleware.d.ts.map +0 -1
- package/lib/src/http/middleware/request/enrichDetails.middleware.js +0 -19
- package/lib/src/http/middleware/request/parse.middleware.d.ts +0 -17
- package/lib/src/http/middleware/request/parse.middleware.d.ts.map +0 -1
- package/lib/src/http/middleware/request/parse.middleware.js +0 -43
- package/lib/src/http/middleware/response/parse.middleware.d.ts +0 -31
- package/lib/src/http/middleware/response/parse.middleware.d.ts.map +0 -1
- package/lib/src/http/middleware/response/parse.middleware.js +0 -52
- package/lib/src/http/openApiV3Generator/openApiV3Generator.d.ts +0 -14
- package/lib/src/http/openApiV3Generator/openApiV3Generator.d.ts.map +0 -1
- package/lib/src/http/openApiV3Generator/openApiV3Generator.js +0 -169
- package/lib/src/http/router/expressLikeRouter.d.ts +0 -138
- package/lib/src/http/router/expressLikeRouter.d.ts.map +0 -1
- package/lib/src/http/router/expressLikeRouter.js +0 -483
- package/lib/src/http/types/apiDefinition.types.d.ts +0 -260
- package/lib/src/http/types/apiDefinition.types.d.ts.map +0 -1
- package/lib/src/http/types/apiDefinition.types.js +0 -1
- package/lib/src/http/types/contractDetails.types.d.ts +0 -211
- package/lib/src/http/types/contractDetails.types.d.ts.map +0 -1
- package/lib/src/http/types/contractDetails.types.js +0 -1
- package/lib/src/http/types/expressLikeRouter.types.d.ts +0 -51
- package/lib/src/http/types/expressLikeRouter.types.d.ts.map +0 -1
- package/lib/src/http/types/expressLikeRouter.types.js +0 -1
- package/lib/src/http/types/router.types.d.ts +0 -32
- package/lib/src/http/types/router.types.d.ts.map +0 -1
- package/lib/src/http/types/router.types.js +0 -1
- package/lib/src/http/types/typedHandler.types.d.ts +0 -10
- package/lib/src/http/types/typedHandler.types.d.ts.map +0 -1
- package/lib/src/http/types/typedHandler.types.js +0 -1
- package/lib/src/http/utils/enrichExpressLikeSend.d.ts +0 -32
- package/lib/src/http/utils/enrichExpressLikeSend.d.ts.map +0 -1
- package/lib/src/http/utils/enrichExpressLikeSend.js +0 -50
- package/lib/src/http/utils/httpStatusCodes.d.ts +0 -75
- package/lib/src/http/utils/httpStatusCodes.d.ts.map +0 -1
- package/lib/src/http/utils/httpStatusCodes.js +0 -1039
- package/lib/src/services/configInjector.d.ts +0 -21
- package/lib/src/services/configInjector.d.ts.map +0 -1
- package/lib/src/services/configInjector.js +0 -90
- package/lib/src/services/index.d.ts +0 -5
- package/lib/src/services/index.d.ts.map +0 -1
- package/lib/src/services/index.js +0 -4
- package/lib/src/services/interfaces/baseService.d.ts +0 -15
- package/lib/src/services/interfaces/baseService.d.ts.map +0 -1
- package/lib/src/services/interfaces/baseService.js +0 -1
- package/lib/src/services/types/configInjector.types.d.ts +0 -25
- package/lib/src/services/types/configInjector.types.d.ts.map +0 -1
- package/lib/src/services/types/configInjector.types.js +0 -6
- package/lib/src/services/types/entityManager.types.d.ts +0 -4
- package/lib/src/services/types/entityManager.types.d.ts.map +0 -1
- package/lib/src/services/types/entityManager.types.js +0 -1
- package/lib/tests/configInjector.test.d.ts +0 -2
- package/lib/tests/configInjector.test.d.ts.map +0 -1
- package/lib/tests/configInjector.test.js +0 -105
- package/lib/tests/dtoMapper.test.d.ts +0 -2
- package/lib/tests/dtoMapper.test.d.ts.map +0 -1
- package/lib/tests/dtoMapper.test.js +0 -170
- package/lib/tests/expressLikeRouterInstantiation.test.d.ts +0 -2
- package/lib/tests/expressLikeRouterInstantiation.test.d.ts.map +0 -1
- package/lib/tests/expressLikeRouterInstantiation.test.js +0 -118
- package/lib/tests/http.middleware.test.d.ts +0 -2
- package/lib/tests/http.middleware.test.d.ts.map +0 -1
- package/lib/tests/http.middleware.test.js +0 -102
- package/lib/tests/openApiV3Generator.test.d.ts +0 -2
- package/lib/tests/openApiV3Generator.test.d.ts.map +0 -1
- package/lib/tests/openApiV3Generator.test.js +0 -66
- package/lib/tests/redisTtlCache.test.d.ts +0 -2
- package/lib/tests/redisTtlCache.test.d.ts.map +0 -1
- package/lib/tests/redisTtlCache.test.js +0 -49
- package/lib/tests/typedHandler.test.d.ts +0 -2
- package/lib/tests/typedHandler.test.d.ts.map +0 -1
- package/lib/tests/typedHandler.test.js +0 -3
- package/lib/vitest.config.d.ts +0 -3
- package/lib/vitest.config.d.ts.map +0 -1
- package/lib/vitest.config.js +0 -7
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,GAAG,GACd,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,4BAA4B,CAC3C,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare const head: <SV extends AnySchemaValidator, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, path: Path, contractDetails: PathParamHttpContractDetails<SV, Path, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]) => {
|
5
|
-
_typedHandler: true;
|
6
|
-
contractDetails: PathParamHttpContractDetails<SV, Path, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders>;
|
7
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
8
|
-
};
|
9
|
-
//# sourceMappingURL=head.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"head.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/head.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,IAAI,GACf,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,4BAA4B,CAC3C,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, MiddlewareContractDetails, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare const middleware: <SV extends AnySchemaValidator, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, path: Path, contractDetails: MiddlewareContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]) => {
|
5
|
-
_typedHandler: true;
|
6
|
-
contractDetails: MiddlewareContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
|
7
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
8
|
-
};
|
9
|
-
//# sourceMappingURL=middleware.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,UAAU,GACrB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,yBAAyB,CACxC,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare const options: <SV extends AnySchemaValidator, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, path: Path, contractDetails: PathParamHttpContractDetails<SV, Path, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]) => {
|
5
|
-
_typedHandler: true;
|
6
|
-
contractDetails: PathParamHttpContractDetails<SV, Path, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders>;
|
7
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
8
|
-
};
|
9
|
-
//# sourceMappingURL=options.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,OAAO,GAClB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,4BAA4B,CAC3C,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, HttpContractDetails, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare const patch: <SV extends AnySchemaValidator, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, path: Path, contractDetails: HttpContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]) => {
|
5
|
-
_typedHandler: true;
|
6
|
-
contractDetails: HttpContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
|
7
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
8
|
-
};
|
9
|
-
//# sourceMappingURL=patch.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"patch.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/patch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,KAAK,GAChB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,mBAAmB,CAClC,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, HttpContractDetails, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare const post: <SV extends AnySchemaValidator, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, path: Path, contractDetails: HttpContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]) => {
|
5
|
-
_typedHandler: true;
|
6
|
-
contractDetails: HttpContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
|
7
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
8
|
-
};
|
9
|
-
//# sourceMappingURL=post.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,IAAI,GACf,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,mBAAmB,CAClC,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, HttpContractDetails, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare const put: <SV extends AnySchemaValidator, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, path: Path, contractDetails: HttpContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]) => {
|
5
|
-
_typedHandler: true;
|
6
|
-
contractDetails: HttpContractDetails<SV, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
|
7
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
8
|
-
};
|
9
|
-
//# sourceMappingURL=put.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"put.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/put.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,GAAG,GACd,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,mBAAmB,CAClC,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,9 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare const trace: <SV extends AnySchemaValidator, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, path: Path, contractDetails: PathParamHttpContractDetails<SV, Path, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]) => {
|
5
|
-
_typedHandler: true;
|
6
|
-
contractDetails: PathParamHttpContractDetails<SV, Path, P, ResBodyMap, ReqQuery, ReqHeaders, ResHeaders>;
|
7
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
8
|
-
};
|
9
|
-
//# sourceMappingURL=trace.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"trace.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAGxC,eAAO,MAAM,KAAK,GAChB,EAAE,SAAS,kBAAkB,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAEvB,EAAE,QACd,IAAI,mBACO,4BAA4B,CAC3C,EAAE,EACF,IAAI,EACJ,CAAC,EACD,UAAU,EACV,QAAQ,EACR,UAAU,EACV,UAAU,CACX,eACY,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE;;;;CAcJ,CAAC"}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaAuthMapper } from '../types/apiDefinition.types';
|
3
|
-
import { Body, ContractDetails, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
export declare function typedAuthHandler<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>>(_schemaValidator: SV, _contractDetails: ContractDetails<SV, Method, `/${string}`, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, authHandler: ExpressLikeSchemaAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders>): ExpressLikeSchemaAuthMapper<SV, P, ReqBody, ReqQuery, ReqHeaders>;
|
5
|
-
//# sourceMappingURL=typedAuthHandler.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"typedAuthHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/typedAuthHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACL,IAAI,EACJ,eAAe,EACf,aAAa,EACb,MAAM,EACN,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC,wBAAgB,gBAAgB,CAC9B,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EAEpC,gBAAgB,EAAE,EAAE,EACpB,gBAAgB,EAAE,eAAe,CAC/B,EAAE,EACF,MAAM,EACN,IAAI,MAAM,EAAE,EACZ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,EACD,WAAW,EAAE,2BAA2B,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,qEAG/E"}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../types/apiDefinition.types';
|
3
|
-
import { Body, ContractDetails, HeadersObject, Method, ParamsObject, QueryObject, ResponsesObject } from '../types/contractDetails.types';
|
4
|
-
/**
|
5
|
-
* Router class that sets up routes and middleware for an Express router, for use with controller/routes pattern.
|
6
|
-
*
|
7
|
-
* @template SV - A type that extends AnySchemaValidator.
|
8
|
-
* @template contractDetails - The contract details.
|
9
|
-
* @template handlers - The handler middlware and handler.
|
10
|
-
*/
|
11
|
-
export declare function typedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, _path: Path, _contractMethod: ContractMethod, contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): {
|
12
|
-
_typedHandler: true;
|
13
|
-
contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
|
14
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
15
|
-
};
|
16
|
-
export declare function typedHandler<SV extends AnySchemaValidator, ContractMethod extends Method, Path extends `/${string}`, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(_schemaValidator: SV, _contractMethod: ContractMethod, contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>, ...handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[]): {
|
17
|
-
_typedHandler: true;
|
18
|
-
contractDetails: ContractDetails<SV, ContractMethod, Path, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders>;
|
19
|
-
handlers: ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>[];
|
20
|
-
};
|
21
|
-
//# sourceMappingURL=typedHandler.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"typedHandler.d.ts","sourceRoot":"","sources":["../../../../src/http/handlers/typedHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,IAAI,EACJ,eAAe,EACf,aAAa,EACb,MAAM,EACN,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,gCAAgC,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,EAAE,SAAS,kBAAkB,EAC7B,cAAc,SAAS,MAAM,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,gBAAgB,EAAE,EAAE,EACpB,KAAK,EAAE,IAAI,EACX,eAAe,EAAE,cAAc,EAC/B,eAAe,EAAE,eAAe,CAC9B,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,EACD,GAAG,QAAQ,EAAE,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE,GACF;IACD,aAAa,EAAE,IAAI,CAAC;IACpB,eAAe,EAAE,eAAe,CAC9B,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,CAAC;IACF,QAAQ,EAAE,wBAAwB,CAChC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE,CAAC;CACL,CAAC;AACF,wBAAgB,YAAY,CAC1B,EAAE,SAAS,kBAAkB,EAC7B,cAAc,SAAS,MAAM,EAC7B,IAAI,SAAS,IAAI,MAAM,EAAE,EACzB,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,gBAAgB,EAAE,EAAE,EACpB,eAAe,EAAE,cAAc,EAC/B,eAAe,EAAE,eAAe,CAC9B,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,EACD,GAAG,QAAQ,EAAE,wBAAwB,CACnC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE,GACF;IACD,aAAa,EAAE,IAAI,CAAC;IACpB,eAAe,EAAE,eAAe,CAC9B,EAAE,EACF,cAAc,EACd,IAAI,EACJ,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,CACX,CAAC;IACF,QAAQ,EAAE,wBAAwB,CAChC,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,EAAE,CAAC;CACL,CAAC"}
|
@@ -1,30 +0,0 @@
|
|
1
|
-
export function typedHandler(_schemaValidator, _pathOrContractDetails, contractMethodOrContractDetails, contractDetailsOrHandler, ...handlerArray) {
|
2
|
-
// TODO: Clean this up with guards
|
3
|
-
let contractDetails;
|
4
|
-
let handlers;
|
5
|
-
// If path is not provided
|
6
|
-
if (typeof contractMethodOrContractDetails === 'string') {
|
7
|
-
if (typeof contractDetailsOrHandler !== 'function') {
|
8
|
-
contractDetails = contractDetailsOrHandler;
|
9
|
-
}
|
10
|
-
else {
|
11
|
-
throw new Error('Invalid definition for contract details');
|
12
|
-
}
|
13
|
-
handlers = handlerArray;
|
14
|
-
}
|
15
|
-
// If path is provided
|
16
|
-
else {
|
17
|
-
contractDetails = contractMethodOrContractDetails;
|
18
|
-
if (typeof contractDetailsOrHandler === 'function') {
|
19
|
-
handlers = [contractDetailsOrHandler, ...handlerArray];
|
20
|
-
}
|
21
|
-
else {
|
22
|
-
throw new Error('Invalid definition for handler');
|
23
|
-
}
|
24
|
-
}
|
25
|
-
return {
|
26
|
-
_typedHandler: true,
|
27
|
-
contractDetails,
|
28
|
-
handlers
|
29
|
-
};
|
30
|
-
}
|
package/lib/src/http/index.d.ts
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
export * from './application/expressLikeApplication';
|
2
|
-
export * from './guards/isForklaunchRouter';
|
3
|
-
export * from './handlers/delete';
|
4
|
-
export * from './handlers/get';
|
5
|
-
export * from './handlers/head';
|
6
|
-
export * from './handlers/middleware';
|
7
|
-
export * from './handlers/options';
|
8
|
-
export * from './handlers/patch';
|
9
|
-
export * from './handlers/post';
|
10
|
-
export * from './handlers/put';
|
11
|
-
export * from './handlers/trace';
|
12
|
-
export * from './handlers/typedHandler';
|
13
|
-
export * from './interfaces/expressLikeRouter.interface';
|
14
|
-
export * from './openApiV3Generator/openApiV3Generator';
|
15
|
-
export * from './router/expressLikeRouter';
|
16
|
-
export * from './types/apiDefinition.types';
|
17
|
-
export * from './types/contractDetails.types';
|
18
|
-
export * from './types/expressLikeRouter.types';
|
19
|
-
export * from './types/router.types';
|
20
|
-
export * from './types/typedHandler.types';
|
21
|
-
export * from './utils/enrichExpressLikeSend';
|
22
|
-
export * from './utils/httpStatusCodes';
|
23
|
-
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0CAA0C,CAAC;AACzD,cAAc,yCAAyC,CAAC;AACxD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC"}
|
package/lib/src/http/index.js
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
export * from './application/expressLikeApplication';
|
2
|
-
export * from './guards/isForklaunchRouter';
|
3
|
-
export * from './handlers/delete';
|
4
|
-
export * from './handlers/get';
|
5
|
-
export * from './handlers/head';
|
6
|
-
export * from './handlers/middleware';
|
7
|
-
export * from './handlers/options';
|
8
|
-
export * from './handlers/patch';
|
9
|
-
export * from './handlers/post';
|
10
|
-
export * from './handlers/put';
|
11
|
-
export * from './handlers/trace';
|
12
|
-
export * from './handlers/typedHandler';
|
13
|
-
export * from './interfaces/expressLikeRouter.interface';
|
14
|
-
export * from './openApiV3Generator/openApiV3Generator';
|
15
|
-
export * from './router/expressLikeRouter';
|
16
|
-
export * from './types/apiDefinition.types';
|
17
|
-
export * from './types/contractDetails.types';
|
18
|
-
export * from './types/expressLikeRouter.types';
|
19
|
-
export * from './types/router.types';
|
20
|
-
export * from './types/typedHandler.types';
|
21
|
-
export * from './utils/enrichExpressLikeSend';
|
22
|
-
export * from './utils/httpStatusCodes';
|
@@ -1,24 +0,0 @@
|
|
1
|
-
export interface PathBasedHandler<RouterHandler> {
|
2
|
-
(path: string, ...handlers: RouterHandler[]): unknown;
|
3
|
-
}
|
4
|
-
export interface PathOrMiddlewareBasedHandler<RouterHandler> extends PathBasedHandler<RouterHandler> {
|
5
|
-
(...args: RouterHandler[]): unknown;
|
6
|
-
}
|
7
|
-
export interface NestableRouterBasedHandler<RouterHandler, Router> extends PathOrMiddlewareBasedHandler<RouterHandler> {
|
8
|
-
(...args: (Router | RouterHandler)[]): unknown;
|
9
|
-
(path: string, ...handlers: (Router | RouterHandler)[]): unknown;
|
10
|
-
}
|
11
|
-
export interface ExpressLikeRouter<RouterHandler, Router> {
|
12
|
-
use: NestableRouterBasedHandler<RouterHandler, Router>;
|
13
|
-
all: PathOrMiddlewareBasedHandler<RouterHandler>;
|
14
|
-
connect: PathOrMiddlewareBasedHandler<RouterHandler>;
|
15
|
-
get: PathBasedHandler<RouterHandler>;
|
16
|
-
post: PathBasedHandler<RouterHandler>;
|
17
|
-
put: PathBasedHandler<RouterHandler>;
|
18
|
-
patch: PathBasedHandler<RouterHandler>;
|
19
|
-
delete: PathBasedHandler<RouterHandler>;
|
20
|
-
options: PathBasedHandler<RouterHandler>;
|
21
|
-
head: PathBasedHandler<RouterHandler>;
|
22
|
-
trace: PathBasedHandler<RouterHandler>;
|
23
|
-
}
|
24
|
-
//# sourceMappingURL=expressLikeRouter.interface.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"expressLikeRouter.interface.d.ts","sourceRoot":"","sources":["../../../../src/http/interfaces/expressLikeRouter.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB,CAAC,aAAa;IAC7C,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B,CAAC,aAAa,CACzD,SAAQ,gBAAgB,CAAC,aAAa,CAAC;IACvC,CAAC,GAAG,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAC/D,SAAQ,4BAA4B,CAAC,aAAa,CAAC;IACnD,CAAC,GAAG,IAAI,EAAE,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,OAAO,CAAC;IAC/C,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,OAAO,CAAC;CAClE;AAED,MAAM,WAAW,iBAAiB,CAAC,aAAa,EAAE,MAAM;IACtD,GAAG,EAAE,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IACvD,GAAG,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACjD,OAAO,EAAE,4BAA4B,CAAC,aAAa,CAAC,CAAC;IACrD,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,GAAG,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACrC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;CACxC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1,16 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ForklaunchNextFunction, ForklaunchRequest, ForklaunchResponse, MapParamsSchema, MapReqBodySchema, MapReqHeadersSchema, MapReqQuerySchema, MapResBodyMapSchema, MapResHeadersSchema } from '../../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, ParamsObject, QueryObject, ResponsesObject } from '../../types/contractDetails.types';
|
4
|
-
/**
|
5
|
-
* Middleware to parse request authorization.
|
6
|
-
*
|
7
|
-
* @template SV - A type that extends AnySchemaValidator.
|
8
|
-
* @template Request - A type that extends ForklaunchRequest.
|
9
|
-
* @template Response - A type that extends ForklaunchResponse.
|
10
|
-
* @template NextFunction - A type that extends ForklaunchNextFunction.
|
11
|
-
* @param {Request} req - The request object.
|
12
|
-
* @param {Response} res - The response object.
|
13
|
-
* @param {NextFunction} [next] - The next middleware function.
|
14
|
-
*/
|
15
|
-
export declare function parseRequestAuth<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(req: ForklaunchRequest<SV, MapParamsSchema<SV, P>, MapReqBodySchema<SV, ReqBody>, MapReqQuerySchema<SV, ReqQuery>, MapReqHeadersSchema<SV, ReqHeaders>>, res: ForklaunchResponse<MapResBodyMapSchema<SV, ResBodyMap>, MapResHeadersSchema<SV, ResHeaders>, LocalsObj>, next?: ForklaunchNextFunction): Promise<void>;
|
16
|
-
//# sourceMappingURL=auth.middleware.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"auth.middleware.d.ts","sourceRoot":"","sources":["../../../../../src/http/middleware/request/auth.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,IAAI,EACJ,aAAa,EAEb,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,mCAAmC,CAAC;AA4K3C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,GAAG,EAAE,iBAAiB,CACpB,EAAE,EACF,eAAe,CAAC,EAAE,EAAE,CAAC,CAAC,EACtB,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,EAC7B,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,EAC/B,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,CACpC,EACD,GAAG,EAAE,kBAAkB,CACrB,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,mBAAmB,CAAC,EAAE,EAAE,UAAU,CAAC,EACnC,SAAS,CACV,EACD,IAAI,CAAC,EAAE,sBAAsB,iBA2B9B"}
|
@@ -1,143 +0,0 @@
|
|
1
|
-
import { jwtVerify } from 'jose';
|
2
|
-
const invalidAuthorizationTokenFormat = [
|
3
|
-
401,
|
4
|
-
'Invalid Authorization token format.'
|
5
|
-
];
|
6
|
-
const invalidAuthorizationSubject = [
|
7
|
-
403,
|
8
|
-
'Invalid Authorization subject.'
|
9
|
-
];
|
10
|
-
const invalidAuthorizationTokenPermissions = [
|
11
|
-
403,
|
12
|
-
'Invalid Authorization permissions.'
|
13
|
-
];
|
14
|
-
const invalidAuthorizationTokenRoles = [
|
15
|
-
403,
|
16
|
-
'Invalid Authorization roles.'
|
17
|
-
];
|
18
|
-
const invalidAuthorizationToken = [
|
19
|
-
403,
|
20
|
-
'Invalid Authorization token.'
|
21
|
-
];
|
22
|
-
const invalidAuthorizationLogin = [
|
23
|
-
403,
|
24
|
-
'Invalid Authorization login.'
|
25
|
-
];
|
26
|
-
/**
|
27
|
-
* Checks the authorization token for validity.
|
28
|
-
*
|
29
|
-
* @param {AuthMethod} [authorizationMethod] - The method of authorization.
|
30
|
-
* @param {string} [authorizationToken] - The authorization string.
|
31
|
-
* @returns {Promise<[401 | 403, string] | string | undefined>} - The result of the authorization check.
|
32
|
-
*/
|
33
|
-
async function checkAuthorizationToken(authorizationMethod, authorizationToken, req) {
|
34
|
-
if (authorizationToken == null) {
|
35
|
-
return [401, 'No Authorization token provided.'];
|
36
|
-
}
|
37
|
-
const [tokenPrefix, token] = authorizationToken.split(' ');
|
38
|
-
let resourceId;
|
39
|
-
switch (authorizationMethod.method) {
|
40
|
-
case 'jwt': {
|
41
|
-
if (tokenPrefix !== 'Bearer') {
|
42
|
-
return invalidAuthorizationTokenFormat;
|
43
|
-
}
|
44
|
-
try {
|
45
|
-
const decodedJwt = await jwtVerify(token, new TextEncoder().encode(
|
46
|
-
// TODO: Check this at application startup if there is any route with jwt checking
|
47
|
-
process.env.JWT_SECRET));
|
48
|
-
if (!decodedJwt.payload.sub) {
|
49
|
-
return invalidAuthorizationSubject;
|
50
|
-
}
|
51
|
-
resourceId = decodedJwt.payload.sub;
|
52
|
-
}
|
53
|
-
catch (error) {
|
54
|
-
// TODO: Log error
|
55
|
-
console.error(error);
|
56
|
-
return invalidAuthorizationToken;
|
57
|
-
}
|
58
|
-
break;
|
59
|
-
}
|
60
|
-
case 'basic': {
|
61
|
-
if (authorizationToken !== 'Basic') {
|
62
|
-
return invalidAuthorizationTokenFormat;
|
63
|
-
}
|
64
|
-
const [username, password] = Buffer.from(token, 'base64')
|
65
|
-
.toString('utf-8')
|
66
|
-
.split(':');
|
67
|
-
if (!username || !password) {
|
68
|
-
return invalidAuthorizationTokenFormat;
|
69
|
-
}
|
70
|
-
if (!authorizationMethod.login(username, password)) {
|
71
|
-
return invalidAuthorizationLogin;
|
72
|
-
}
|
73
|
-
resourceId = username;
|
74
|
-
break;
|
75
|
-
}
|
76
|
-
case 'other':
|
77
|
-
if (tokenPrefix !== authorizationMethod.tokenPrefix) {
|
78
|
-
return invalidAuthorizationTokenFormat;
|
79
|
-
}
|
80
|
-
resourceId = authorizationMethod.decodeResource(token);
|
81
|
-
break;
|
82
|
-
}
|
83
|
-
if (authorizationMethod.allowedPermissions ||
|
84
|
-
authorizationMethod.forbiddenPermissions) {
|
85
|
-
if (!authorizationMethod.mapPermissions) {
|
86
|
-
return [500, 'No permission mapping function provided.'];
|
87
|
-
}
|
88
|
-
const resourcePermissions = await authorizationMethod.mapPermissions(resourceId, req);
|
89
|
-
if (authorizationMethod.allowedPermissions) {
|
90
|
-
if (resourcePermissions.intersection(authorizationMethod.allowedPermissions)
|
91
|
-
.size === 0) {
|
92
|
-
return invalidAuthorizationTokenPermissions;
|
93
|
-
}
|
94
|
-
}
|
95
|
-
if (authorizationMethod.forbiddenPermissions) {
|
96
|
-
if (resourcePermissions.intersection(authorizationMethod.forbiddenPermissions).size !== 0) {
|
97
|
-
return invalidAuthorizationTokenPermissions;
|
98
|
-
}
|
99
|
-
}
|
100
|
-
}
|
101
|
-
if (authorizationMethod.allowedRoles || authorizationMethod.forbiddenRoles) {
|
102
|
-
if (!authorizationMethod.mapRoles) {
|
103
|
-
return [500, 'No role mapping function provided.'];
|
104
|
-
}
|
105
|
-
const resourceRoles = await authorizationMethod.mapRoles(resourceId, req);
|
106
|
-
if (authorizationMethod.allowedRoles) {
|
107
|
-
if (resourceRoles.intersection(authorizationMethod.allowedRoles).size === 0) {
|
108
|
-
return invalidAuthorizationTokenRoles;
|
109
|
-
}
|
110
|
-
}
|
111
|
-
if (authorizationMethod.forbiddenRoles) {
|
112
|
-
if (resourceRoles.intersection(authorizationMethod.forbiddenRoles).size !==
|
113
|
-
0) {
|
114
|
-
return invalidAuthorizationTokenRoles;
|
115
|
-
}
|
116
|
-
}
|
117
|
-
}
|
118
|
-
return [401, 'Invalid Authorization method.'];
|
119
|
-
}
|
120
|
-
/**
|
121
|
-
* Middleware to parse request authorization.
|
122
|
-
*
|
123
|
-
* @template SV - A type that extends AnySchemaValidator.
|
124
|
-
* @template Request - A type that extends ForklaunchRequest.
|
125
|
-
* @template Response - A type that extends ForklaunchResponse.
|
126
|
-
* @template NextFunction - A type that extends ForklaunchNextFunction.
|
127
|
-
* @param {Request} req - The request object.
|
128
|
-
* @param {Response} res - The response object.
|
129
|
-
* @param {NextFunction} [next] - The next middleware function.
|
130
|
-
*/
|
131
|
-
export async function parseRequestAuth(req, res, next) {
|
132
|
-
console.debug('[MIDDLEWARE] parseRequest started');
|
133
|
-
const auth = req.contractDetails.auth;
|
134
|
-
if (auth) {
|
135
|
-
const errorAndMessage = await checkAuthorizationToken(auth, req.headers[(auth.method === 'other' ? auth.headerName : undefined) ??
|
136
|
-
'Authorization'], req);
|
137
|
-
if (Array.isArray(errorAndMessage)) {
|
138
|
-
res.status(errorAndMessage[0]).send(errorAndMessage[1]);
|
139
|
-
next?.(new Error(errorAndMessage[1]));
|
140
|
-
}
|
141
|
-
}
|
142
|
-
next?.();
|
143
|
-
}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ParsedQs } from 'qs';
|
3
|
-
import { ForklaunchNextFunction, ForklaunchRequest, ForklaunchResHeaders, ForklaunchResponse } from '../../types/apiDefinition.types';
|
4
|
-
import { ParamsDictionary } from '../../types/contractDetails.types';
|
5
|
-
/**
|
6
|
-
* Cors middleware handler
|
7
|
-
*
|
8
|
-
* @param req - Express-like request object
|
9
|
-
* @param res - Express-like response object
|
10
|
-
* @param next - Express-like next function
|
11
|
-
*/
|
12
|
-
export declare function cors<SV extends AnySchemaValidator, P extends ParamsDictionary, ResBodyMap extends Record<number, unknown>, ReqBody extends Record<string, unknown>, ReqQuery extends ParsedQs, ReqHeaders extends Record<string, string>, ResHeaders extends Record<string, string>, LocalsObj extends Record<string, unknown>>(req: ForklaunchRequest<SV, P, ReqBody, ReqQuery, ReqHeaders>, res: ForklaunchResponse<ResBodyMap, ForklaunchResHeaders & ResHeaders, LocalsObj>, next?: ForklaunchNextFunction): void;
|
13
|
-
//# sourceMappingURL=cors.middleware.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"cors.middleware.d.ts","sourceRoot":"","sources":["../../../../../src/http/middleware/request/cors.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,gBAAgB,EAC1B,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,QAAQ,SAAS,QAAQ,EACzB,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACzC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,GAAG,EAAE,iBAAiB,CAAC,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,EAC5D,GAAG,EAAE,kBAAkB,CACrB,UAAU,EACV,oBAAoB,GAAG,UAAU,EACjC,SAAS,CACV,EACD,IAAI,CAAC,EAAE,sBAAsB,QAO9B"}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import corsMiddleware from 'cors';
|
2
|
-
/**
|
3
|
-
* Cors middleware handler
|
4
|
-
*
|
5
|
-
* @param req - Express-like request object
|
6
|
-
* @param res - Express-like response object
|
7
|
-
* @param next - Express-like next function
|
8
|
-
*/
|
9
|
-
export function cors(req, res, next) {
|
10
|
-
console.debug('[MIDDLEWARE] cors started');
|
11
|
-
if (req.method === 'OPTIONS') {
|
12
|
-
res.cors = true;
|
13
|
-
}
|
14
|
-
corsMiddleware()(req, res, next ?? (() => { }));
|
15
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, ParamsObject, QueryObject, ResponsesObject } from '../../types/contractDetails.types';
|
4
|
-
/**
|
5
|
-
* Middleware to create and add a request context.
|
6
|
-
*
|
7
|
-
* @template SV - A type that extends AnySchemaValidator.
|
8
|
-
* @template Request - A type that extends ForklaunchRequest.
|
9
|
-
* @template Response - A type that extends ForklaunchResponse.
|
10
|
-
* @template NextFunction - A type that extends ForklaunchNextFunction.
|
11
|
-
* @param {SV} schemaValidator - The schema validator.
|
12
|
-
* @returns {Function} - Middleware function to create request context.
|
13
|
-
*/
|
14
|
-
export declare function createContext<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(schemaValidator: SV): ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
|
15
|
-
//# sourceMappingURL=createContext.middleware.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"createContext.middleware.d.ts","sourceRoot":"","sources":["../../../../../src/http/middleware/request/createContext.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAmB,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,eAAe,EAAE,EAAE,GAClB,wBAAwB,CACzB,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAmBA"}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
import { v4 } from 'uuid';
|
2
|
-
/**
|
3
|
-
* Middleware to create and add a request context.
|
4
|
-
*
|
5
|
-
* @template SV - A type that extends AnySchemaValidator.
|
6
|
-
* @template Request - A type that extends ForklaunchRequest.
|
7
|
-
* @template Response - A type that extends ForklaunchResponse.
|
8
|
-
* @template NextFunction - A type that extends ForklaunchNextFunction.
|
9
|
-
* @param {SV} schemaValidator - The schema validator.
|
10
|
-
* @returns {Function} - Middleware function to create request context.
|
11
|
-
*/
|
12
|
-
export function createContext(schemaValidator) {
|
13
|
-
return (req, res, next) => {
|
14
|
-
console.debug('[MIDDLEWARE] createRequestContext started');
|
15
|
-
req.schemaValidator = schemaValidator;
|
16
|
-
let correlationId = v4();
|
17
|
-
if (req.headers['x-correlation-id']) {
|
18
|
-
correlationId = req.headers['x-correlation-id'];
|
19
|
-
}
|
20
|
-
res.setHeader('x-correlation-id', correlationId);
|
21
|
-
req.context = {
|
22
|
-
correlationId: correlationId
|
23
|
-
};
|
24
|
-
next?.();
|
25
|
-
};
|
26
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { AnySchemaValidator } from '@forklaunch/validator';
|
2
|
-
import { ExpressLikeSchemaHandler } from '../../types/apiDefinition.types';
|
3
|
-
import { Body, HeadersObject, HttpContractDetails, ParamsObject, PathParamHttpContractDetails, QueryObject, ResponseCompiledSchema, ResponsesObject } from '../../types/contractDetails.types';
|
4
|
-
/**
|
5
|
-
* Middleware to enrich the request details with contract details.
|
6
|
-
*
|
7
|
-
* @template SV - A type that extends AnySchemaValidator.
|
8
|
-
* @template Request - A type that extends ForklaunchRequest.
|
9
|
-
* @template Response - A type that extends ForklaunchResponse.
|
10
|
-
* @template NextFunction - A type that extends ForklaunchNextFunction.
|
11
|
-
* @param {PathParamHttpContractDetails<SV> | HttpContractDetails<SV>} contractDetails - The contract details.
|
12
|
-
* @returns {Function} - Middleware function to enrich request details.
|
13
|
-
*/
|
14
|
-
export declare function enrichDetails<SV extends AnySchemaValidator, P extends ParamsObject<SV>, ResBodyMap extends ResponsesObject<SV>, ReqBody extends Body<SV>, ReqQuery extends QueryObject<SV>, ReqHeaders extends HeadersObject<SV>, ResHeaders extends HeadersObject<SV>, LocalsObj extends Record<string, unknown>>(contractDetails: HttpContractDetails<SV> | PathParamHttpContractDetails<SV>, requestSchema: unknown, responseSchemas: ResponseCompiledSchema): ExpressLikeSchemaHandler<SV, P, ResBodyMap, ReqBody, ReqQuery, ReqHeaders, ResHeaders, LocalsObj>;
|
15
|
-
//# sourceMappingURL=enrichDetails.middleware.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"enrichDetails.middleware.d.ts","sourceRoot":"","sources":["../../../../../src/http/middleware/request/enrichDetails.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EACL,IAAI,EACJ,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,4BAA4B,EAC5B,WAAW,EACX,sBAAsB,EACtB,eAAe,EAChB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,EAAE,SAAS,kBAAkB,EAC7B,CAAC,SAAS,YAAY,CAAC,EAAE,CAAC,EAC1B,UAAU,SAAS,eAAe,CAAC,EAAE,CAAC,EACtC,OAAO,SAAS,IAAI,CAAC,EAAE,CAAC,EACxB,QAAQ,SAAS,WAAW,CAAC,EAAE,CAAC,EAChC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,UAAU,SAAS,aAAa,CAAC,EAAE,CAAC,EACpC,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAEzC,eAAe,EAAE,mBAAmB,CAAC,EAAE,CAAC,GAAG,4BAA4B,CAAC,EAAE,CAAC,EAC3E,aAAa,EAAE,OAAO,EACtB,eAAe,EAAE,sBAAsB,GACtC,wBAAwB,CACzB,EAAE,EACF,CAAC,EACD,UAAU,EACV,OAAO,EACP,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,CACV,CAQA"}
|