aws-service-stack 0.18.421 → 0.18.425
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_examples/controller/local-task-controller.d.ts +17 -0
- package/dist/_examples/controller/local-task-controller.d.ts.map +1 -0
- package/dist/_examples/controller/local-task-controller.js +87 -0
- package/dist/_examples/controller/local-task-controller.js.map +1 -0
- package/dist/_examples/controller/order/order-config.d.ts +7 -0
- package/dist/_examples/controller/order/order-config.d.ts.map +1 -0
- package/dist/_examples/controller/order/order-config.js +54 -0
- package/dist/_examples/controller/order/order-config.js.map +1 -0
- package/dist/_examples/controller/order/order-controller-cron.d.ts +8 -0
- package/dist/_examples/controller/order/order-controller-cron.d.ts.map +1 -0
- package/dist/_examples/controller/order/order-controller-cron.js +58 -0
- package/dist/_examples/controller/order/order-controller-cron.js.map +1 -0
- package/dist/_examples/controller/order/order-controller-streamer.d.ts +7 -0
- package/dist/_examples/controller/order/order-controller-streamer.d.ts.map +1 -0
- package/dist/_examples/controller/order/order-controller-streamer.js +60 -0
- package/dist/_examples/controller/order/order-controller-streamer.js.map +1 -0
- package/dist/_examples/controller/order/order-controller.d.ts +15 -0
- package/dist/_examples/controller/order/order-controller.d.ts.map +1 -0
- package/dist/_examples/controller/order/order-controller.js +121 -0
- package/dist/_examples/controller/order/order-controller.js.map +1 -0
- package/dist/_examples/controller/order/order-cron.d.ts +6 -0
- package/dist/_examples/controller/order/order-cron.d.ts.map +1 -0
- package/dist/_examples/controller/order/order-cron.js +57 -0
- package/dist/_examples/controller/order/order-cron.js.map +1 -0
- package/dist/_examples/controller/order/order-crud.d.ts +5 -0
- package/dist/_examples/controller/order/order-crud.d.ts.map +1 -0
- package/dist/_examples/controller/order/order-crud.js +57 -0
- package/dist/_examples/controller/order/order-crud.js.map +1 -0
- package/dist/_examples/controller/order/order-streamer.d.ts +5 -0
- package/dist/_examples/controller/order/order-streamer.d.ts.map +1 -0
- package/dist/_examples/controller/order/order-streamer.js +57 -0
- package/dist/_examples/controller/order/order-streamer.js.map +1 -0
- package/dist/_examples/controller/order-item/order-item-config.d.ts +7 -0
- package/dist/_examples/controller/order-item/order-item-config.d.ts.map +1 -0
- package/dist/_examples/controller/order-item/order-item-config.js +43 -0
- package/dist/_examples/controller/order-item/order-item-config.js.map +1 -0
- package/dist/_examples/controller/order-item/order-item-controller-streamer.d.ts +7 -0
- package/dist/_examples/controller/order-item/order-item-controller-streamer.d.ts.map +1 -0
- package/dist/_examples/controller/order-item/order-item-controller-streamer.js +60 -0
- package/dist/_examples/controller/order-item/order-item-controller-streamer.js.map +1 -0
- package/dist/_examples/controller/order-item/order-item-controller.d.ts +12 -0
- package/dist/_examples/controller/order-item/order-item-controller.d.ts.map +1 -0
- package/dist/_examples/controller/order-item/order-item-controller.js +78 -0
- package/dist/_examples/controller/order-item/order-item-controller.js.map +1 -0
- package/dist/_examples/controller/order-item/order-item-crud.d.ts +5 -0
- package/dist/_examples/controller/order-item/order-item-crud.d.ts.map +1 -0
- package/dist/_examples/controller/order-item/order-item-crud.js +57 -0
- package/dist/_examples/controller/order-item/order-item-crud.js.map +1 -0
- package/dist/_examples/controller/order-item/order-item-streamer.d.ts +5 -0
- package/dist/_examples/controller/order-item/order-item-streamer.d.ts.map +1 -0
- package/dist/_examples/controller/order-item/order-item-streamer.js +57 -0
- package/dist/_examples/controller/order-item/order-item-streamer.js.map +1 -0
- package/dist/_examples/controller/profile/profile-crud-simple.d.ts +1 -0
- package/dist/_examples/controller/profile/profile-crud-simple.d.ts.map +1 -0
- package/dist/_examples/controller/profile/profile-crud.d.ts +2 -1
- package/dist/_examples/controller/profile/profile-crud.d.ts.map +1 -0
- package/dist/_examples/controller/profile/profile.config.d.ts +1 -0
- package/dist/_examples/controller/profile/profile.config.d.ts.map +1 -0
- package/dist/_examples/controller/profile/profile.config.js +20 -45
- package/dist/_examples/controller/profile/profile.config.js.map +1 -1
- package/dist/_examples/controller/profile/profile.controller.d.ts +4 -3
- package/dist/_examples/controller/profile/profile.controller.d.ts.map +1 -0
- package/dist/_examples/controller/profile/profile.controller.js +10 -3
- package/dist/_examples/controller/profile/profile.controller.js.map +1 -1
- package/dist/_examples/model-shared/example.model.d.ts +1 -0
- package/dist/_examples/model-shared/example.model.d.ts.map +1 -0
- package/dist/_examples/model-shared/order.model.d.ts +74 -0
- package/dist/_examples/model-shared/order.model.d.ts.map +1 -0
- package/dist/_examples/model-shared/order.model.js +12 -0
- package/dist/_examples/model-shared/order.model.js.map +1 -0
- package/dist/_examples/repositories/order/order-db.repo.d.ts +8 -0
- package/dist/_examples/repositories/order/order-db.repo.d.ts.map +1 -0
- package/dist/_examples/repositories/order/order-db.repo.interface.d.ts +5 -0
- package/dist/_examples/repositories/order/order-db.repo.interface.d.ts.map +1 -0
- package/dist/_examples/repositories/order/order-db.repo.interface.js +3 -0
- package/dist/_examples/repositories/order/order-db.repo.interface.js.map +1 -0
- package/dist/_examples/repositories/order/order-db.repo.js +20 -0
- package/dist/_examples/repositories/order/order-db.repo.js.map +1 -0
- package/dist/_examples/repositories/order/order-item-db.repo.d.ts +8 -0
- package/dist/_examples/repositories/order/order-item-db.repo.d.ts.map +1 -0
- package/dist/_examples/repositories/order/order-item-db.repo.interface.d.ts +5 -0
- package/dist/_examples/repositories/order/order-item-db.repo.interface.d.ts.map +1 -0
- package/dist/_examples/repositories/order/order-item-db.repo.interface.js +3 -0
- package/dist/_examples/repositories/order/order-item-db.repo.interface.js.map +1 -0
- package/dist/_examples/repositories/order/order-item-db.repo.js +20 -0
- package/dist/_examples/repositories/order/order-item-db.repo.js.map +1 -0
- package/dist/_examples/repositories/profile/profile-repo-db.d.ts +1 -0
- package/dist/_examples/repositories/profile/profile-repo-db.d.ts.map +1 -0
- package/dist/_examples/repositories/profile/profile-repo-db.interface.d.ts +1 -0
- package/dist/_examples/repositories/profile/profile-repo-db.interface.d.ts.map +1 -0
- package/dist/_examples/service/order/order-item-service-stream.d.ts +13 -0
- package/dist/_examples/service/order/order-item-service-stream.d.ts.map +1 -0
- package/dist/_examples/service/order/order-item-service-stream.interface.d.ts +5 -0
- package/dist/_examples/service/order/order-item-service-stream.interface.d.ts.map +1 -0
- package/dist/_examples/service/order/order-item-service-stream.interface.js +3 -0
- package/dist/_examples/service/order/order-item-service-stream.interface.js.map +1 -0
- package/dist/_examples/service/order/order-item-service-stream.js +81 -0
- package/dist/_examples/service/order/order-item-service-stream.js.map +1 -0
- package/dist/_examples/service/order/order-item-service.d.ts +16 -0
- package/dist/_examples/service/order/order-item-service.d.ts.map +1 -0
- package/dist/_examples/service/order/order-item-service.interface.d.ts +14 -0
- package/dist/_examples/service/order/order-item-service.interface.d.ts.map +1 -0
- package/dist/_examples/service/order/order-item-service.interface.js +3 -0
- package/dist/_examples/service/order/order-item-service.interface.js.map +1 -0
- package/dist/_examples/service/order/order-item-service.js +120 -0
- package/dist/_examples/service/order/order-item-service.js.map +1 -0
- package/dist/_examples/service/order/order-service-stream.d.ts +12 -0
- package/dist/_examples/service/order/order-service-stream.d.ts.map +1 -0
- package/dist/_examples/service/order/order-service-stream.interface.d.ts +5 -0
- package/dist/_examples/service/order/order-service-stream.interface.d.ts.map +1 -0
- package/dist/_examples/service/order/order-service-stream.interface.js +3 -0
- package/dist/_examples/service/order/order-service-stream.interface.js.map +1 -0
- package/dist/_examples/service/order/order-service-stream.js +80 -0
- package/dist/_examples/service/order/order-service-stream.js.map +1 -0
- package/dist/_examples/service/order/order-service.d.ts +19 -0
- package/dist/_examples/service/order/order-service.d.ts.map +1 -0
- package/dist/_examples/service/order/order-service.interface.d.ts +14 -0
- package/dist/_examples/service/order/order-service.interface.d.ts.map +1 -0
- package/dist/_examples/service/order/order-service.interface.js +3 -0
- package/dist/_examples/service/order/order-service.interface.js.map +1 -0
- package/dist/_examples/service/order/order-service.js +127 -0
- package/dist/_examples/service/order/order-service.js.map +1 -0
- package/dist/_examples/service/profile-service.d.ts +3 -3
- package/dist/_examples/service/profile-service.d.ts.map +1 -0
- package/dist/_examples/service/profile-service.interface.d.ts +2 -1
- package/dist/_examples/service/profile-service.interface.d.ts.map +1 -0
- package/dist/_examples/service/profile-service.interface.js.map +1 -1
- package/dist/_examples/service/profile-service.js +14 -14
- package/dist/_examples/service/profile-service.js.map +1 -1
- package/dist/controller/base-controller.d.ts +1 -0
- package/dist/controller/base-controller.d.ts.map +1 -0
- package/dist/controller/base-controller.js +14 -13
- package/dist/controller/base-controller.js.map +1 -1
- package/dist/controller/controller-api.d.ts +1 -0
- package/dist/controller/controller-api.d.ts.map +1 -0
- package/dist/controller/controller-api.js +14 -14
- package/dist/controller/controller-api.js.map +1 -1
- package/dist/controller/controller-request.d.ts +1 -0
- package/dist/controller/controller-request.d.ts.map +1 -0
- package/dist/controller/controller-request.js +2 -2
- package/dist/controller/controller-request.js.map +1 -1
- package/dist/controller/controller-role.d.ts +1 -0
- package/dist/controller/controller-role.d.ts.map +1 -0
- package/dist/controller/controller-role.js +7 -5
- package/dist/controller/controller-role.js.map +1 -1
- package/dist/controller/controller-stream.d.ts +1 -0
- package/dist/controller/controller-stream.d.ts.map +1 -0
- package/dist/controller/index.d.ts +1 -0
- package/dist/controller/index.d.ts.map +1 -0
- package/dist/exception/errors.d.ts +28 -11
- package/dist/exception/errors.d.ts.map +1 -0
- package/dist/exception/errors.js +35 -8
- package/dist/exception/errors.js.map +1 -1
- package/dist/exception/exception-handler.d.ts +6 -0
- package/dist/exception/exception-handler.d.ts.map +1 -0
- package/dist/exception/exception-handler.js +3 -1
- package/dist/exception/exception-handler.js.map +1 -1
- package/dist/exception/index.d.ts +1 -0
- package/dist/exception/index.d.ts.map +1 -0
- package/dist/function/cognito/cognito.function.d.ts +1 -0
- package/dist/function/cognito/cognito.function.d.ts.map +1 -0
- package/dist/function/cognito/index.d.ts +1 -0
- package/dist/function/cognito/index.d.ts.map +1 -0
- package/dist/function/index.d.ts +1 -0
- package/dist/function/index.d.ts.map +1 -0
- package/dist/function/logger.d.ts +1 -0
- package/dist/function/logger.d.ts.map +1 -0
- package/dist/function/s3/index.d.ts +1 -0
- package/dist/function/s3/index.d.ts.map +1 -0
- package/dist/function/s3/s3.function.d.ts +1 -0
- package/dist/function/s3/s3.function.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/model/base.config.d.ts +1 -0
- package/dist/model/base.config.d.ts.map +1 -0
- package/dist/model/base.model.d.ts +1 -0
- package/dist/model/base.model.d.ts.map +1 -0
- package/dist/model/cognito-user.model.d.ts +1 -0
- package/dist/model/cognito-user.model.d.ts.map +1 -0
- package/dist/model/dynamodb.model.d.ts +1 -0
- package/dist/model/dynamodb.model.d.ts.map +1 -0
- package/dist/model/filter.model.d.ts +2 -0
- package/dist/model/filter.model.d.ts.map +1 -0
- package/dist/model/filter.model.js.map +1 -1
- package/dist/model/http.model.d.ts +1 -0
- package/dist/model/http.model.d.ts.map +1 -0
- package/dist/model/index.d.ts +1 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/role.model.d.ts +6 -5
- package/dist/model/role.model.d.ts.map +1 -0
- package/dist/model/role.model.js.map +1 -1
- package/dist/model/validation.model.d.ts +1 -0
- package/dist/model/validation.model.d.ts.map +1 -0
- package/dist/provider/apigateway.d.ts +1 -0
- package/dist/provider/apigateway.d.ts.map +1 -0
- package/dist/provider/dynamodb.d.ts +1 -0
- package/dist/provider/dynamodb.d.ts.map +1 -0
- package/dist/provider/index.d.ts +1 -0
- package/dist/provider/index.d.ts.map +1 -0
- package/dist/provider/opensearch.d.ts +1 -0
- package/dist/provider/opensearch.d.ts.map +1 -0
- package/dist/repositories/base-core.repo.interface.d.ts +10 -4
- package/dist/repositories/base-core.repo.interface.d.ts.map +1 -0
- package/dist/repositories/base-core.repo.interface.js.map +1 -1
- package/dist/repositories/base-db.repo.d.ts +14 -8
- package/dist/repositories/base-db.repo.d.ts.map +1 -0
- package/dist/repositories/base-db.repo.interface.d.ts +25 -4
- package/dist/repositories/base-db.repo.interface.d.ts.map +1 -0
- package/dist/repositories/base-db.repo.interface.js.map +1 -1
- package/dist/repositories/base-db.repo.js +70 -26
- package/dist/repositories/base-db.repo.js.map +1 -1
- package/dist/repositories/base-es.repo.d.ts +2 -1
- package/dist/repositories/base-es.repo.d.ts.map +1 -0
- package/dist/repositories/base-es.repo.interface.d.ts +1 -0
- package/dist/repositories/base-es.repo.interface.d.ts.map +1 -0
- package/dist/repositories/base-es.repo.js +2 -2
- package/dist/repositories/base-es.repo.js.map +1 -1
- package/dist/repositories/index.d.ts +1 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/service/api.services/api.service.d.ts +1 -0
- package/dist/service/api.services/api.service.d.ts.map +1 -0
- package/dist/service/api.services/api.service.interface.d.ts +1 -0
- package/dist/service/api.services/api.service.interface.d.ts.map +1 -0
- package/dist/service/api.services/index.d.ts +1 -0
- package/dist/service/api.services/index.d.ts.map +1 -0
- package/dist/service/auth.service.d.ts +1 -0
- package/dist/service/auth.service.d.ts.map +1 -0
- package/dist/service/auth.service.interface.d.ts +1 -0
- package/dist/service/auth.service.interface.d.ts.map +1 -0
- package/dist/service/base.service.d.ts +5 -3
- package/dist/service/base.service.d.ts.map +1 -0
- package/dist/service/base.service.interface.d.ts +21 -10
- package/dist/service/base.service.interface.d.ts.map +1 -0
- package/dist/service/base.service.interface.js.map +1 -1
- package/dist/service/base.service.js +14 -11
- package/dist/service/base.service.js.map +1 -1
- package/dist/service/crud-operations.d.ts +103 -0
- package/dist/service/crud-operations.d.ts.map +1 -0
- package/dist/service/crud-operations.js +459 -0
- package/dist/service/crud-operations.js.map +1 -0
- package/dist/service/crud.service.d.ts +12 -18
- package/dist/service/crud.service.d.ts.map +1 -0
- package/dist/service/crud.service.interface.d.ts +55 -13
- package/dist/service/crud.service.interface.d.ts.map +1 -0
- package/dist/service/crud.service.interface.js.map +1 -1
- package/dist/service/crud.service.js +53 -351
- package/dist/service/crud.service.js.map +1 -1
- package/dist/service/index.d.ts +2 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +1 -0
- package/dist/service/index.js.map +1 -1
- package/dist/service/key-aws.services.d.ts +1 -0
- package/dist/service/key-aws.services.d.ts.map +1 -0
- package/dist/service/key.services.interface.d.ts +1 -0
- package/dist/service/key.services.interface.d.ts.map +1 -0
- package/dist/service/permission.cache.d.ts +1 -0
- package/dist/service/permission.cache.d.ts.map +1 -0
- package/dist/service/permission.repo.d.ts +1 -0
- package/dist/service/permission.repo.d.ts.map +1 -0
- package/dist/service/permission.service.d.ts +3 -0
- package/dist/service/permission.service.d.ts.map +1 -0
- package/dist/service/permission.service.js +30 -14
- package/dist/service/permission.service.js.map +1 -1
- package/dist/service/socket.service.d.ts +1 -0
- package/dist/service/socket.service.d.ts.map +1 -0
- package/dist/service/socket.service.interface.d.ts +1 -0
- package/dist/service/socket.service.interface.d.ts.map +1 -0
- package/dist/service/stream.service.d.ts +1 -0
- package/dist/service/stream.service.d.ts.map +1 -0
- package/dist/service/stream.service.interface.d.ts +1 -0
- package/dist/service/stream.service.interface.d.ts.map +1 -0
- package/dist/service/validation.service.interface.d.ts +1 -0
- package/dist/service/validation.service.interface.d.ts.map +1 -0
- package/dist/utils/array.util.d.ts +1 -0
- package/dist/utils/array.util.d.ts.map +1 -0
- package/dist/utils/auth.util.d.ts +1 -0
- package/dist/utils/auth.util.d.ts.map +1 -0
- package/dist/utils/data.util.d.ts +1 -0
- package/dist/utils/data.util.d.ts.map +1 -0
- package/dist/utils/date.util.d.ts +1 -0
- package/dist/utils/date.util.d.ts.map +1 -0
- package/dist/utils/dynamodb.utils.d.ts +2 -1
- package/dist/utils/dynamodb.utils.d.ts.map +1 -0
- package/dist/utils/dynamodb.utils.js +105 -30
- package/dist/utils/dynamodb.utils.js.map +1 -1
- package/dist/utils/env.util.d.ts +1 -0
- package/dist/utils/env.util.d.ts.map +1 -0
- package/dist/utils/error.util.d.ts +1 -0
- package/dist/utils/error.util.d.ts.map +1 -0
- package/dist/utils/http/http-request.d.ts +1 -0
- package/dist/utils/http/http-request.d.ts.map +1 -0
- package/dist/utils/http/http.util.d.ts +1 -0
- package/dist/utils/http/http.util.d.ts.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/json.util.d.ts +1 -0
- package/dist/utils/json.util.d.ts.map +1 -0
- package/dist/utils/opensearch/opensearch.parser.aggs.d.ts +1 -0
- package/dist/utils/opensearch/opensearch.parser.aggs.d.ts.map +1 -0
- package/dist/utils/opensearch/opensearch.parser.d.ts +1 -0
- package/dist/utils/opensearch/opensearch.parser.d.ts.map +1 -0
- package/dist/utils/opensearch/opensearch.parser.keyword.d.ts +1 -0
- package/dist/utils/opensearch/opensearch.parser.keyword.d.ts.map +1 -0
- package/dist/utils/opensearch/opensearch.parser.query.map.d.ts +1 -0
- package/dist/utils/opensearch/opensearch.parser.query.map.d.ts.map +1 -0
- package/dist/utils/opensearch/opensearch.parser.sort.d.ts +1 -0
- package/dist/utils/opensearch/opensearch.parser.sort.d.ts.map +1 -0
- package/dist/utils/opensearch/opensearch.parser.utils.d.ts +1 -0
- package/dist/utils/opensearch/opensearch.parser.utils.d.ts.map +1 -0
- package/dist/utils/opensearch/opensearch.transform.d.ts +1 -0
- package/dist/utils/opensearch/opensearch.transform.d.ts.map +1 -0
- package/dist/utils/opensearch.utils.d.ts +1 -0
- package/dist/utils/opensearch.utils.d.ts.map +1 -0
- package/dist/utils/reflection.util.d.ts +1 -0
- package/dist/utils/reflection.util.d.ts.map +1 -0
- package/dist/utils/reflection.util.js +7 -8
- package/dist/utils/reflection.util.js.map +1 -1
- package/dist/utils/string.util.d.ts +1 -0
- package/dist/utils/string.util.d.ts.map +1 -0
- package/dist/utils/validation.util.d.ts +1 -0
- package/dist/utils/validation.util.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller-role.d.ts","sourceRoot":"","sources":["../../src/controller/controller-role.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ControllerRole = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const exception_1 = require("../exception");
|
|
6
|
+
const exception_2 = require("../exception");
|
|
6
7
|
const permission_service_1 = require("../service/permission.service");
|
|
7
8
|
const cognito_1 = require("../function/cognito");
|
|
8
9
|
const validation_util_1 = require("../utils/validation.util");
|
|
@@ -127,7 +128,7 @@ class ControllerRole {
|
|
|
127
128
|
case "DELETE":
|
|
128
129
|
return this.deletePermission(req.entityId);
|
|
129
130
|
default:
|
|
130
|
-
throw new exception_1.ErrorHttp(
|
|
131
|
+
throw new exception_1.ErrorHttp(exception_2.HTTP.BAD_REQUEST, "[CORE] unsupported method");
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
// ---------------------------------------------------------------------------
|
|
@@ -161,7 +162,7 @@ class ControllerRole {
|
|
|
161
162
|
// Private — error + auth helpers
|
|
162
163
|
// ---------------------------------------------------------------------------
|
|
163
164
|
deny(message = "Permission denied: no role accessible") {
|
|
164
|
-
throw new exception_1.ErrorHttp(
|
|
165
|
+
throw new exception_1.ErrorHttp(exception_2.HTTP.FORBIDDEN, message);
|
|
165
166
|
}
|
|
166
167
|
isAdmin(cognitoGroups, adminGroups) {
|
|
167
168
|
adminGroups = (0, string_util_1.normalizeLower)(adminGroups);
|
|
@@ -186,7 +187,8 @@ class ControllerRole {
|
|
|
186
187
|
}
|
|
187
188
|
catch (error) {
|
|
188
189
|
const formattedErrors = (0, validation_util_1.formatErrors)(error);
|
|
189
|
-
|
|
190
|
+
const firstError = formattedErrors[0]?.message || "Validation failed";
|
|
191
|
+
throw new exception_1.ErrorHttp(exception_2.HTTP.BAD_REQUEST, firstError, formattedErrors);
|
|
190
192
|
}
|
|
191
193
|
}
|
|
192
194
|
// ---------------------------------------------------------------------------
|
|
@@ -202,11 +204,11 @@ class ControllerRole {
|
|
|
202
204
|
if (!findById)
|
|
203
205
|
return;
|
|
204
206
|
if (!req.entityId) {
|
|
205
|
-
throw new exception_1.ErrorHttp(
|
|
207
|
+
throw new exception_1.ErrorHttp(exception_2.HTTP.BAD_REQUEST, "Missing resource id");
|
|
206
208
|
}
|
|
207
209
|
const entity = await findById(req.entityId);
|
|
208
210
|
if (!entity) {
|
|
209
|
-
throw new exception_1.ErrorHttp(
|
|
211
|
+
throw new exception_1.ErrorHttp(exception_2.HTTP.NOT_FOUND, `Resource with id "${req.entityId}" not found`);
|
|
210
212
|
}
|
|
211
213
|
if (entity[mapping.filterField] !== claimValue) {
|
|
212
214
|
this.deny(`Scope mismatch: no access to resource "${req.entityId}"`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller-role.js","sourceRoot":"","sources":["../../src/controller/controller-role.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from \"zod\";\nimport { ErrorHttp } from \"../exception\";\nimport { Permission } from \"../model/role.model\";\nimport { List, PermissionMap, ScopeMap } from \"../model/base.model\";\nimport { HttpRequest } from \"../utils/http/http.util\";\nimport { PermissionService } from \"../service/permission.service\";\nimport { createGroup, deleteGroup, addUserToGroup, removeUserFromGroup } from \"../function/cognito\";\nimport { validateWithSchema, formatErrors } from \"../utils/validation.util\";\nimport { normalizeLower, trimSpecialChar } from \"../utils/string.util\";\nimport { Filter } from \"@chinggis/types\";\n\n// ---------------------------------------------------------------------------\n// DTO Schemas\n// ---------------------------------------------------------------------------\n\nconst MethodSchema = z.object({\n GET: z.boolean().optional(),\n POST: z.boolean().optional(),\n PATCH: z.boolean().optional(),\n PUT: z.boolean().optional(),\n DELETE: z.boolean().optional(),\n});\n\nconst AddPermissionDto = z.object({\n role: z.string().min(1, \"Role is required\"),\n resource: z.string().min(1, \"Resource is required\"),\n scope: z.string().min(1, \"Scope is required\"),\n method: MethodSchema,\n});\n\nconst UpdatePermissionDto = z.object({\n role: z.string().min(1, \"Role is required\").optional(),\n resource: z.string().min(1, \"Resource is required\").optional(),\n scope: z.string().min(1, \"Scope is required\").optional(),\n method: MethodSchema.optional(),\n});\n\nconst IdParamDto = z.string().min(1, \"Id is required\");\n\nconst GroupDto = z.object({\n userPoolId: z.string().min(1, \"UserPoolId is required\"),\n groupName: z.string().min(1, \"GroupName is required\"),\n description: z.string().optional(),\n});\n\nconst UserGroupDto = z.object({\n userPoolId: z.string().min(1, \"UserPoolId is required\"),\n username: z.string().min(1, \"Username is required\"),\n groupName: z.string().min(1, \"GroupName is required\"),\n});\n\n// ---------------------------------------------------------------------------\n\nconst MUTATING_METHODS = new Set([\"PATCH\", \"PUT\", \"DELETE\"]);\n\ntype RouteHandler = (permissionMap: PermissionMap, body: any) => Promise<any>;\n\nexport class ControllerRole {\n protected readonly permissionService: PermissionService;\n\n private readonly subRoutes: Record<string, RouteHandler> = {\n \"/add-group\": (pm, body) => this.addRole(pm.userPoolId, body.groupName, body.description),\n \"/add-user-group\": (pm, body) => this.assignRole(pm.userPoolId, body.username, body.groupName),\n \"/remove-group\": (pm, body) => this.removeRole(pm.userPoolId, body.groupName),\n \"/remove-user-group\": (pm, body) => this.unassignRole(pm.userPoolId, body.username, body.groupName),\n };\n\n constructor(roleTableName: string) {\n this.permissionService = new PermissionService(roleTableName);\n }\n\n // ---------------------------------------------------------------------------\n // Permission CRUD\n // ---------------------------------------------------------------------------\n\n async addPermission(input: {\n role: string;\n resource: string;\n scope: string;\n method: Permission[\"method\"];\n }): Promise<Permission> {\n this.validate(AddPermissionDto, input);\n return this.permissionService.createPermission(input);\n }\n\n async updatePermission(\n id: string,\n updates: Partial<Pick<Permission, \"role\" | \"resource\" | \"scope\" | \"method\">>,\n ): Promise<Permission> {\n this.validate(IdParamDto, id);\n this.validate(UpdatePermissionDto, updates);\n return this.permissionService.updatePermission(id, updates);\n }\n\n async deletePermission(id: string): Promise<boolean> {\n this.validate(IdParamDto, id);\n return this.permissionService.deletePermission(id);\n }\n\n async getPermission(id: string): Promise<Permission | null> {\n this.validate(IdParamDto, id);\n return this.permissionService.getPermissionById(id);\n }\n\n async listPermissions(filter?: Filter): Promise<List<Partial<Permission>>> {\n return this.permissionService.listPermissions(filter);\n }\n\n // ---------------------------------------------------------------------------\n // Role (Cognito group)\n // ---------------------------------------------------------------------------\n\n async addRole(userPoolId: string, groupName: string, description?: string) {\n this.validate(GroupDto, { userPoolId, groupName, description });\n return createGroup(userPoolId, groupName, description);\n }\n\n async removeRole(userPoolId: string, groupName: string) {\n this.validate(GroupDto, { userPoolId, groupName });\n return deleteGroup(userPoolId, groupName);\n }\n\n async assignRole(userPoolId: string, username: string, groupName: string) {\n this.validate(UserGroupDto, { userPoolId, username, groupName });\n return addUserToGroup(userPoolId, username, groupName);\n }\n\n async unassignRole(userPoolId: string, username: string, groupName: string) {\n this.validate(UserGroupDto, { userPoolId, username, groupName });\n return removeUserFromGroup(userPoolId, username, groupName);\n }\n\n // ---------------------------------------------------------------------------\n // Permission queries\n // ---------------------------------------------------------------------------\n\n async hasPermission(role: string, resource: string, scope: string, method: string): Promise<boolean> {\n return this.permissionService.hasPermission(role, resource, scope, method);\n }\n\n async getPermissionByKey(permissionKey: string): Promise<Permission | null> {\n return this.permissionService.getPermissionByKey(permissionKey);\n }\n\n // ---------------------------------------------------------------------------\n // Permission request handler (routes from ControllerApi)\n // ---------------------------------------------------------------------------\n\n async handlePermissionRequest(\n req: HttpRequest,\n path: string,\n permissionMap: PermissionMap,\n adminGroups: string[],\n ): Promise<any> {\n this.checkAdminPermission(req.identity.groups, adminGroups);\n\n if (req.methode === \"POST\") {\n const normalizedPath = trimSpecialChar(path);\n const rolePath = trimSpecialChar(permissionMap.rolePath ?? \"\");\n\n for (const [suffix, handler] of Object.entries(this.subRoutes)) {\n if (normalizedPath === `${rolePath}${suffix}`) {\n return handler(permissionMap, req.body);\n }\n }\n\n return this.addPermission(req.body);\n }\n\n switch (req.methode) {\n case \"GET\":\n return this.listPermissions(req.filter);\n case \"PATCH\":\n return this.updatePermission(req.entityId, req.body);\n case \"DELETE\":\n return this.deletePermission(req.entityId);\n default:\n throw new ErrorHttp({ code: 400, error: \"BadRequest\" }, \"[CORE] unsupported method\");\n }\n }\n\n // ---------------------------------------------------------------------------\n // RBAC access enforcement\n // ---------------------------------------------------------------------------\n\n async checkAccess(\n req: HttpRequest,\n resource: string,\n scopeMap: ScopeMap,\n adminGroups?: string[],\n findById?: (id: string) => Promise<any>,\n ): Promise<boolean> {\n const roles = this.extractRoles(req);\n if (!roles.length) this.deny();\n\n const method = req.methode.toUpperCase();\n const scope = this.getScope(req, scopeMap);\n\n if (adminGroups?.length && this.isAdmin(roles, adminGroups)) {\n return true;\n }\n\n this.applyMethodFilters(req, method, scope, scopeMap);\n\n const permitted = await this.hasAnyRolePermission(roles, resource, scope, method);\n if (!permitted) {\n this.deny(`Permission denied: ${roles.join(\",\")}: \"${resource}#${scope}.${method}\"`);\n }\n\n if (MUTATING_METHODS.has(method)) {\n await this.verifyScopeOwnership(req, scope, scopeMap, findById);\n }\n\n return true;\n }\n\n checkAdminPermission(cognitoGroups: string[], adminGroups: string[]) {\n if (this.isAdmin(cognitoGroups, adminGroups)) return true;\n this.deny(\"Permission Denied\");\n }\n\n // ---------------------------------------------------------------------------\n // Private — error + auth helpers\n // ---------------------------------------------------------------------------\n\n private deny(message = \"Permission denied: no role accessible\"): never {\n throw new ErrorHttp({ code: 403, error: \"PermissionDenied\" }, message);\n }\n\n private isAdmin(cognitoGroups: string[] | undefined, adminGroups: string[]): boolean {\n adminGroups = normalizeLower(adminGroups);\n return cognitoGroups?.some((group) => adminGroups.includes(group)) ?? false;\n }\n\n private extractRoles(req: HttpRequest): string[] {\n return req.identity?.groups ?? [];\n }\n\n private getScope(req: HttpRequest, scopeMap: ScopeMap): string {\n return req.queryStringParameters?.scope || req.customQueryParameters?.scope || Array.from(scopeMap.keys()).pop();\n }\n\n private async hasAnyRolePermission(\n roles: string[],\n resource: string,\n scope: string,\n method: string,\n ): Promise<boolean> {\n for (const role of roles) {\n if (await this.permissionService.hasPermission(role, resource, scope, method)) return true;\n }\n return false;\n }\n\n private validate<T extends z.ZodType>(schema: T, data: unknown): z.infer<T> {\n try {\n return validateWithSchema(schema, data);\n } catch (error) {\n const formattedErrors = formatErrors(error);\n throw new ErrorHttp({ code: 400, error: \"BadRequest\" }, formattedErrors);\n }\n }\n\n // ---------------------------------------------------------------------------\n // Private — scope ownership verification\n // ---------------------------------------------------------------------------\n\n private async verifyScopeOwnership(\n req: HttpRequest,\n scope: string,\n scopeMap: ScopeMap,\n findById?: (id: string) => Promise<any>,\n ): Promise<void> {\n const mapping = scopeMap.get(scope);\n if (!mapping) return;\n\n const claimValue = this.resolveClaim(req, mapping);\n if (!claimValue) this.deny(`Missing claim for scope \"${scope}\"`);\n\n if (!findById) return;\n\n if (!req.entityId) {\n throw new ErrorHttp({ code: 400, error: \"BadRequest\" }, \"Missing resource id\");\n }\n\n const entity = await findById(req.entityId);\n if (!entity) {\n throw new ErrorHttp({ code: 404, error: \"NotFound\" }, `Resource with id \"${req.entityId}\" not found`);\n }\n\n if (entity[mapping.filterField] !== claimValue) {\n this.deny(`Scope mismatch: no access to resource \"${req.entityId}\"`);\n }\n }\n\n // ---------------------------------------------------------------------------\n // Private — claim resolution\n // ---------------------------------------------------------------------------\n\n private resolveClaim(req: HttpRequest, mapping: { claimKey?: string }): string | undefined {\n return req.identity?.[mapping.claimKey] || req.identity?.attributes?.[mapping.claimKey];\n }\n\n private resolveClaimWithFallback(\n req: HttpRequest,\n mapping: { claimKey?: string },\n scopeName: string,\n ): string | undefined {\n const claimKey = mapping.claimKey ?? \"custom:\" + scopeName;\n return req.identity?.[claimKey] || req.identity?.attributes?.[claimKey] || req.identity?.sub;\n }\n\n // ---------------------------------------------------------------------------\n // Private — filter application\n // ---------------------------------------------------------------------------\n\n private applyMethodFilters(req: HttpRequest, method: string, scope: string, scopeMap: ScopeMap): void {\n if (method === \"POST\") {\n this.setDefaultIndexFields(req, scopeMap);\n } else if (method === \"GET\" && this.isOpenSearchPath(req)) {\n this.setDefaultFilters(req, scopeMap);\n } else if (method === \"GET\") {\n this.applyScopeFilter(req, scope, scopeMap);\n }\n }\n\n private applyScopeFilter(req: HttpRequest, scope: string, scopeMap: ScopeMap): void {\n if (!req.filter) req.filter = {};\n this.clearScopeFilters(req, scopeMap);\n\n const mapping = scopeMap.get(scope);\n if (!mapping) return;\n\n const claimValue = this.resolveClaim(req, mapping);\n if (claimValue || !req.filter[mapping.filterField]) {\n req.filter[mapping.filterField] = claimValue;\n }\n delete req.filter.scope;\n }\n\n private setDefaultIndexFields(req: HttpRequest, scopeMap: ScopeMap): void {\n if (!req.body) req.body = {};\n if (this.isUnset(req.body.ownerId)) req.body.ownerId = req.identity?.sub;\n this.applyAllScopeValues(req, scopeMap, true);\n }\n\n private setDefaultFilters(req: HttpRequest, scopeMap: ScopeMap): void {\n if (!req.filter) req.filter = {};\n\n const requestedScope = this.resolveRequestedScope(req);\n const levelLimit = this.getScopeLevelLimit(requestedScope, scopeMap);\n\n for (const [scopeName, mapping] of scopeMap) {\n if (levelLimit !== undefined && mapping.level !== undefined && mapping.level > levelLimit) continue;\n\n const claimValue = this.resolveClaimWithFallback(req, mapping, scopeName);\n const eqField = mapping.filterField + \".keyword__eq\";\n if (claimValue && this.isUnset(req.filter[eqField])) {\n req.filter[eqField] = claimValue;\n }\n }\n\n delete req.filter.scope;\n }\n\n private applyAllScopeValues(req: HttpRequest, scopeMap: ScopeMap, defaultsOnly = false): void {\n for (const [scopeName, mapping] of scopeMap) {\n const claimValue = this.resolveClaimWithFallback(req, mapping, scopeName);\n if (claimValue && (!defaultsOnly || this.isUnset(req.body[mapping.filterField]))) {\n req.body[mapping.filterField] = claimValue;\n }\n }\n }\n\n private isOpenSearchPath(req: HttpRequest): boolean {\n const path = trimSpecialChar(req.event?.requestContext?.resourcePath ?? req.resourcePath ?? \"\");\n return path.endsWith(\"search/query\");\n }\n\n private resolveRequestedScope(req: HttpRequest): string | undefined {\n const scopeRaw = req.filter?.scope || req.queryStringParameters?.scope || req.customQueryParameters?.scope;\n if (typeof scopeRaw !== \"string\") return undefined;\n const normalized = scopeRaw.trim().toLowerCase();\n return normalized.length ? normalized : undefined;\n }\n\n private getScopeLevelLimit(requestedScope: string | undefined, scopeMap: ScopeMap): number | undefined {\n if (!requestedScope) return undefined;\n for (const [scopeName, mapping] of scopeMap) {\n if (scopeName.toLowerCase() === requestedScope) return mapping.level;\n }\n return undefined;\n }\n\n private isUnset(value: unknown): boolean {\n return value === undefined || value === null || value === \"\";\n }\n\n private clearScopeFilters(req: HttpRequest, scopeMap: ScopeMap): void {\n for (const [, entry] of scopeMap) {\n delete req.filter[entry.filterField];\n }\n delete req.filter[\"profileId\"];\n delete req.filter[\"ownerId\"];\n delete req.filter[\"scope\"];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"controller-role.js","sourceRoot":"","sources":["../../src/controller/controller-role.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4CAAyC;AACzC,4CAAoC;AAIpC,sEAAkE;AAClE,iDAAoG;AACpG,8DAA4E;AAC5E,sDAAuE;AAGvE,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5B,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC7C,MAAM,EAAE,YAAY;CACrB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,QAAQ,EAAE;IACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IAC9D,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,QAAQ,EAAE;IACxD,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAEvD,MAAM,QAAQ,GAAG,OAAC,CAAC,MAAM,CAAC;IACxB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACvD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACrD,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACvD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;CACtD,CAAC,CAAC;AAEH,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;AAI7D,MAAa,cAAc;IACN,iBAAiB,CAAoB;IAEvC,SAAS,GAAiC;QACzD,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC;QACzF,iBAAiB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;QAC9F,eAAe,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;QAC7E,oBAAoB,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;KACpG,CAAC;IAEF,YAAY,aAAqB;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAiB,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E,KAAK,CAAC,aAAa,CAAC,KAKnB;QACC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,EAAU,EACV,OAA4E;QAE5E,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU;QAC5B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAe;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,8EAA8E;IAC9E,uBAAuB;IACvB,8EAA8E;IAE9E,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,SAAiB,EAAE,WAAoB;QACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAChE,OAAO,IAAA,qBAAW,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,SAAiB;QACpD,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACnD,OAAO,IAAA,qBAAW,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,QAAgB,EAAE,SAAiB;QACtE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,OAAO,IAAA,wBAAc,EAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,QAAgB,EAAE,SAAiB;QACxE,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,OAAO,IAAA,6BAAmB,EAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,8EAA8E;IAC9E,qBAAqB;IACrB,8EAA8E;IAE9E,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAa,EAAE,MAAc;QAC/E,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC5C,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,8EAA8E;IAC9E,yDAAyD;IACzD,8EAA8E;IAE9E,KAAK,CAAC,uBAAuB,CAC3B,GAAgB,EAChB,IAAY,EACZ,aAA4B,EAC5B,WAAqB;QAErB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAE5D,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,cAAc,GAAG,IAAA,6BAAe,EAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAA,6BAAe,EAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAE/D,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/D,IAAI,cAAc,KAAK,GAAG,QAAQ,GAAG,MAAM,EAAE,EAAE,CAAC;oBAC9C,OAAO,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC;YACpB,KAAK,KAAK;gBACR,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1C,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACvD,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7C;gBACE,MAAM,IAAI,qBAAS,CAAC,gBAAI,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,0BAA0B;IAC1B,8EAA8E;IAE9E,KAAK,CAAC,WAAW,CACf,GAAgB,EAChB,QAAgB,EAChB,QAAkB,EAClB,WAAsB,EACtB,QAAuC;QAEvC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAE/B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE3C,IAAI,WAAW,EAAE,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAClF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,QAAQ,IAAI,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oBAAoB,CAAC,aAAuB,EAAE,WAAqB;QACjE,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjC,CAAC;IAED,8EAA8E;IAC9E,iCAAiC;IACjC,8EAA8E;IAEtE,IAAI,CAAC,OAAO,GAAG,uCAAuC;QAC5D,MAAM,IAAI,qBAAS,CAAC,gBAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAEO,OAAO,CAAC,aAAmC,EAAE,WAAqB;QACxE,WAAW,GAAG,IAAA,4BAAc,EAAC,WAAW,CAAC,CAAC;QAC1C,OAAO,aAAa,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;IAC9E,CAAC;IAEO,YAAY,CAAC,GAAgB;QACnC,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC;IACpC,CAAC;IAEO,QAAQ,CAAC,GAAgB,EAAE,QAAkB;QACnD,OAAO,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAI,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IACnH,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAAe,EACf,QAAgB,EAChB,KAAa,EACb,MAAc;QAEd,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7F,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,QAAQ,CAAsB,MAAS,EAAE,IAAa;QAC5D,IAAI,CAAC;YACH,OAAO,IAAA,oCAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,eAAe,GAAG,IAAA,8BAAY,EAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,mBAAmB,CAAC;YACtE,MAAM,IAAI,qBAAS,CAAC,gBAAI,CAAC,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,yCAAyC;IACzC,8EAA8E;IAEtE,KAAK,CAAC,oBAAoB,CAChC,GAAgB,EAChB,KAAa,EACb,QAAkB,EAClB,QAAuC;QAEvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,4BAA4B,KAAK,GAAG,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,qBAAS,CAAC,gBAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,qBAAS,CAAC,gBAAI,CAAC,SAAS,EAAE,qBAAqB,GAAG,CAAC,QAAQ,aAAa,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,UAAU,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,0CAA0C,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,6BAA6B;IAC7B,8EAA8E;IAEtE,YAAY,CAAC,GAAgB,EAAE,OAA8B;QACnE,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1F,CAAC;IAEO,wBAAwB,CAC9B,GAAgB,EAChB,OAA8B,EAC9B,SAAiB;QAEjB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,GAAG,SAAS,CAAC;QAC3D,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;IAC/F,CAAC;IAED,8EAA8E;IAC9E,+BAA+B;IAC/B,8EAA8E;IAEtE,kBAAkB,CAAC,GAAgB,EAAE,MAAc,EAAE,KAAa,EAAE,QAAkB;QAC5F,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC5C,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC;aAAM,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,GAAgB,EAAE,KAAa,EAAE,QAAkB;QAC1E,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,UAAU,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1B,CAAC;IAEO,qBAAqB,CAAC,GAAgB,EAAE,QAAkB;QAChE,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC;QACzE,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAEO,iBAAiB,CAAC,GAAgB,EAAE,QAAkB;QAC5D,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;QAEjC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAErE,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC5C,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,GAAG,UAAU;gBAAE,SAAS;YAEpG,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,GAAG,cAAc,CAAC;YACrD,IAAI,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;YACnC,CAAC;QACH,CAAC;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1B,CAAC;IAEO,mBAAmB,CAAC,GAAgB,EAAE,QAAkB,EAAE,YAAY,GAAG,KAAK;QACpF,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,UAAU,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,GAAgB;QACvC,MAAM,IAAI,GAAG,IAAA,6BAAe,EAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,IAAI,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;IAEO,qBAAqB,CAAC,GAAgB;QAC5C,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAI,GAAG,CAAC,qBAAqB,EAAE,KAAK,CAAC;QAC3G,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QACnD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAEO,kBAAkB,CAAC,cAAkC,EAAE,QAAkB;QAC/E,IAAI,CAAC,cAAc;YAAE,OAAO,SAAS,CAAC;QACtC,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC5C,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,cAAc;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAC;QACvE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,OAAO,CAAC,KAAc;QAC5B,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;IAC/D,CAAC;IAEO,iBAAiB,CAAC,GAAgB,EAAE,QAAkB;QAC5D,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7B,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF;AA9VD,wCA8VC","sourcesContent":["import { z } from \"zod\";\nimport { ErrorHttp } from \"../exception\";\nimport { HTTP } from \"../exception\";\nimport { Permission } from \"../model/role.model\";\nimport { List, PermissionMap, ScopeMap } from \"../model/base.model\";\nimport { HttpRequest } from \"../utils/http/http.util\";\nimport { PermissionService } from \"../service/permission.service\";\nimport { createGroup, deleteGroup, addUserToGroup, removeUserFromGroup } from \"../function/cognito\";\nimport { validateWithSchema, formatErrors } from \"../utils/validation.util\";\nimport { normalizeLower, trimSpecialChar } from \"../utils/string.util\";\nimport { Filter } from \"@chinggis/types\";\n\n// ---------------------------------------------------------------------------\n// DTO Schemas\n// ---------------------------------------------------------------------------\n\nconst MethodSchema = z.object({\n GET: z.boolean().optional(),\n POST: z.boolean().optional(),\n PATCH: z.boolean().optional(),\n PUT: z.boolean().optional(),\n DELETE: z.boolean().optional(),\n});\n\nconst AddPermissionDto = z.object({\n role: z.string().min(1, \"Role is required\"),\n resource: z.string().min(1, \"Resource is required\"),\n scope: z.string().min(1, \"Scope is required\"),\n method: MethodSchema,\n});\n\nconst UpdatePermissionDto = z.object({\n role: z.string().min(1, \"Role is required\").optional(),\n resource: z.string().min(1, \"Resource is required\").optional(),\n scope: z.string().min(1, \"Scope is required\").optional(),\n method: MethodSchema.optional(),\n});\n\nconst IdParamDto = z.string().min(1, \"Id is required\");\n\nconst GroupDto = z.object({\n userPoolId: z.string().min(1, \"UserPoolId is required\"),\n groupName: z.string().min(1, \"GroupName is required\"),\n description: z.string().optional(),\n});\n\nconst UserGroupDto = z.object({\n userPoolId: z.string().min(1, \"UserPoolId is required\"),\n username: z.string().min(1, \"Username is required\"),\n groupName: z.string().min(1, \"GroupName is required\"),\n});\n\n// ---------------------------------------------------------------------------\n\nconst MUTATING_METHODS = new Set([\"PATCH\", \"PUT\", \"DELETE\"]);\n\ntype RouteHandler = (permissionMap: PermissionMap, body: any) => Promise<any>;\n\nexport class ControllerRole {\n protected readonly permissionService: PermissionService;\n\n private readonly subRoutes: Record<string, RouteHandler> = {\n \"/add-group\": (pm, body) => this.addRole(pm.userPoolId, body.groupName, body.description),\n \"/add-user-group\": (pm, body) => this.assignRole(pm.userPoolId, body.username, body.groupName),\n \"/remove-group\": (pm, body) => this.removeRole(pm.userPoolId, body.groupName),\n \"/remove-user-group\": (pm, body) => this.unassignRole(pm.userPoolId, body.username, body.groupName),\n };\n\n constructor(roleTableName: string) {\n this.permissionService = new PermissionService(roleTableName);\n }\n\n // ---------------------------------------------------------------------------\n // Permission CRUD\n // ---------------------------------------------------------------------------\n\n async addPermission(input: {\n role: string;\n resource: string;\n scope: string;\n method: Permission[\"method\"];\n }): Promise<Permission> {\n this.validate(AddPermissionDto, input);\n return this.permissionService.createPermission(input);\n }\n\n async updatePermission(\n id: string,\n updates: Partial<Pick<Permission, \"role\" | \"resource\" | \"scope\" | \"method\">>,\n ): Promise<Permission> {\n this.validate(IdParamDto, id);\n this.validate(UpdatePermissionDto, updates);\n return this.permissionService.updatePermission(id, updates);\n }\n\n async deletePermission(id: string): Promise<boolean> {\n this.validate(IdParamDto, id);\n return this.permissionService.deletePermission(id);\n }\n\n async getPermission(id: string): Promise<Permission | null> {\n this.validate(IdParamDto, id);\n return this.permissionService.getPermissionById(id);\n }\n\n async listPermissions(filter?: Filter): Promise<List<Partial<Permission>>> {\n return this.permissionService.listPermissions(filter);\n }\n\n // ---------------------------------------------------------------------------\n // Role (Cognito group)\n // ---------------------------------------------------------------------------\n\n async addRole(userPoolId: string, groupName: string, description?: string) {\n this.validate(GroupDto, { userPoolId, groupName, description });\n return createGroup(userPoolId, groupName, description);\n }\n\n async removeRole(userPoolId: string, groupName: string) {\n this.validate(GroupDto, { userPoolId, groupName });\n return deleteGroup(userPoolId, groupName);\n }\n\n async assignRole(userPoolId: string, username: string, groupName: string) {\n this.validate(UserGroupDto, { userPoolId, username, groupName });\n return addUserToGroup(userPoolId, username, groupName);\n }\n\n async unassignRole(userPoolId: string, username: string, groupName: string) {\n this.validate(UserGroupDto, { userPoolId, username, groupName });\n return removeUserFromGroup(userPoolId, username, groupName);\n }\n\n // ---------------------------------------------------------------------------\n // Permission queries\n // ---------------------------------------------------------------------------\n\n async hasPermission(role: string, resource: string, scope: string, method: string): Promise<boolean> {\n return this.permissionService.hasPermission(role, resource, scope, method);\n }\n\n async getPermissionByKey(permissionKey: string): Promise<Permission | null> {\n return this.permissionService.getPermissionByKey(permissionKey);\n }\n\n // ---------------------------------------------------------------------------\n // Permission request handler (routes from ControllerApi)\n // ---------------------------------------------------------------------------\n\n async handlePermissionRequest(\n req: HttpRequest,\n path: string,\n permissionMap: PermissionMap,\n adminGroups: string[],\n ): Promise<any> {\n this.checkAdminPermission(req.identity.groups, adminGroups);\n\n if (req.methode === \"POST\") {\n const normalizedPath = trimSpecialChar(path);\n const rolePath = trimSpecialChar(permissionMap.rolePath ?? \"\");\n\n for (const [suffix, handler] of Object.entries(this.subRoutes)) {\n if (normalizedPath === `${rolePath}${suffix}`) {\n return handler(permissionMap, req.body);\n }\n }\n\n return this.addPermission(req.body);\n }\n\n switch (req.methode) {\n case \"GET\":\n return this.listPermissions(req.filter);\n case \"PATCH\":\n return this.updatePermission(req.entityId, req.body);\n case \"DELETE\":\n return this.deletePermission(req.entityId);\n default:\n throw new ErrorHttp(HTTP.BAD_REQUEST, \"[CORE] unsupported method\");\n }\n }\n\n // ---------------------------------------------------------------------------\n // RBAC access enforcement\n // ---------------------------------------------------------------------------\n\n async checkAccess(\n req: HttpRequest,\n resource: string,\n scopeMap: ScopeMap,\n adminGroups?: string[],\n findById?: (id: string) => Promise<any>,\n ): Promise<boolean> {\n const roles = this.extractRoles(req);\n if (!roles.length) this.deny();\n\n const method = req.methode.toUpperCase();\n const scope = this.getScope(req, scopeMap);\n\n if (adminGroups?.length && this.isAdmin(roles, adminGroups)) {\n return true;\n }\n\n this.applyMethodFilters(req, method, scope, scopeMap);\n\n const permitted = await this.hasAnyRolePermission(roles, resource, scope, method);\n if (!permitted) {\n this.deny(`Permission denied: ${roles.join(\",\")}: \"${resource}#${scope}.${method}\"`);\n }\n\n if (MUTATING_METHODS.has(method)) {\n await this.verifyScopeOwnership(req, scope, scopeMap, findById);\n }\n\n return true;\n }\n\n checkAdminPermission(cognitoGroups: string[], adminGroups: string[]) {\n if (this.isAdmin(cognitoGroups, adminGroups)) return true;\n this.deny(\"Permission Denied\");\n }\n\n // ---------------------------------------------------------------------------\n // Private — error + auth helpers\n // ---------------------------------------------------------------------------\n\n private deny(message = \"Permission denied: no role accessible\"): never {\n throw new ErrorHttp(HTTP.FORBIDDEN, message);\n }\n\n private isAdmin(cognitoGroups: string[] | undefined, adminGroups: string[]): boolean {\n adminGroups = normalizeLower(adminGroups);\n return cognitoGroups?.some((group) => adminGroups.includes(group)) ?? false;\n }\n\n private extractRoles(req: HttpRequest): string[] {\n return req.identity?.groups ?? [];\n }\n\n private getScope(req: HttpRequest, scopeMap: ScopeMap): string {\n return req.queryStringParameters?.scope || req.customQueryParameters?.scope || Array.from(scopeMap.keys()).pop();\n }\n\n private async hasAnyRolePermission(\n roles: string[],\n resource: string,\n scope: string,\n method: string,\n ): Promise<boolean> {\n for (const role of roles) {\n if (await this.permissionService.hasPermission(role, resource, scope, method)) return true;\n }\n return false;\n }\n\n private validate<T extends z.ZodType>(schema: T, data: unknown): z.infer<T> {\n try {\n return validateWithSchema(schema, data);\n } catch (error) {\n const formattedErrors = formatErrors(error);\n const firstError = formattedErrors[0]?.message || \"Validation failed\";\n throw new ErrorHttp(HTTP.BAD_REQUEST, firstError, formattedErrors);\n }\n }\n\n // ---------------------------------------------------------------------------\n // Private — scope ownership verification\n // ---------------------------------------------------------------------------\n\n private async verifyScopeOwnership(\n req: HttpRequest,\n scope: string,\n scopeMap: ScopeMap,\n findById?: (id: string) => Promise<any>,\n ): Promise<void> {\n const mapping = scopeMap.get(scope);\n if (!mapping) return;\n\n const claimValue = this.resolveClaim(req, mapping);\n if (!claimValue) this.deny(`Missing claim for scope \"${scope}\"`);\n\n if (!findById) return;\n\n if (!req.entityId) {\n throw new ErrorHttp(HTTP.BAD_REQUEST, \"Missing resource id\");\n }\n\n const entity = await findById(req.entityId);\n if (!entity) {\n throw new ErrorHttp(HTTP.NOT_FOUND, `Resource with id \"${req.entityId}\" not found`);\n }\n\n if (entity[mapping.filterField] !== claimValue) {\n this.deny(`Scope mismatch: no access to resource \"${req.entityId}\"`);\n }\n }\n\n // ---------------------------------------------------------------------------\n // Private — claim resolution\n // ---------------------------------------------------------------------------\n\n private resolveClaim(req: HttpRequest, mapping: { claimKey?: string }): string | undefined {\n return req.identity?.[mapping.claimKey] || req.identity?.attributes?.[mapping.claimKey];\n }\n\n private resolveClaimWithFallback(\n req: HttpRequest,\n mapping: { claimKey?: string },\n scopeName: string,\n ): string | undefined {\n const claimKey = mapping.claimKey ?? \"custom:\" + scopeName;\n return req.identity?.[claimKey] || req.identity?.attributes?.[claimKey] || req.identity?.sub;\n }\n\n // ---------------------------------------------------------------------------\n // Private — filter application\n // ---------------------------------------------------------------------------\n\n private applyMethodFilters(req: HttpRequest, method: string, scope: string, scopeMap: ScopeMap): void {\n if (method === \"POST\") {\n this.setDefaultIndexFields(req, scopeMap);\n } else if (method === \"GET\" && this.isOpenSearchPath(req)) {\n this.setDefaultFilters(req, scopeMap);\n } else if (method === \"GET\") {\n this.applyScopeFilter(req, scope, scopeMap);\n }\n }\n\n private applyScopeFilter(req: HttpRequest, scope: string, scopeMap: ScopeMap): void {\n if (!req.filter) req.filter = {};\n this.clearScopeFilters(req, scopeMap);\n\n const mapping = scopeMap.get(scope);\n if (!mapping) return;\n\n const claimValue = this.resolveClaim(req, mapping);\n if (claimValue || !req.filter[mapping.filterField]) {\n req.filter[mapping.filterField] = claimValue;\n }\n delete req.filter.scope;\n }\n\n private setDefaultIndexFields(req: HttpRequest, scopeMap: ScopeMap): void {\n if (!req.body) req.body = {};\n if (this.isUnset(req.body.ownerId)) req.body.ownerId = req.identity?.sub;\n this.applyAllScopeValues(req, scopeMap, true);\n }\n\n private setDefaultFilters(req: HttpRequest, scopeMap: ScopeMap): void {\n if (!req.filter) req.filter = {};\n\n const requestedScope = this.resolveRequestedScope(req);\n const levelLimit = this.getScopeLevelLimit(requestedScope, scopeMap);\n\n for (const [scopeName, mapping] of scopeMap) {\n if (levelLimit !== undefined && mapping.level !== undefined && mapping.level > levelLimit) continue;\n\n const claimValue = this.resolveClaimWithFallback(req, mapping, scopeName);\n const eqField = mapping.filterField + \".keyword__eq\";\n if (claimValue && this.isUnset(req.filter[eqField])) {\n req.filter[eqField] = claimValue;\n }\n }\n\n delete req.filter.scope;\n }\n\n private applyAllScopeValues(req: HttpRequest, scopeMap: ScopeMap, defaultsOnly = false): void {\n for (const [scopeName, mapping] of scopeMap) {\n const claimValue = this.resolveClaimWithFallback(req, mapping, scopeName);\n if (claimValue && (!defaultsOnly || this.isUnset(req.body[mapping.filterField]))) {\n req.body[mapping.filterField] = claimValue;\n }\n }\n }\n\n private isOpenSearchPath(req: HttpRequest): boolean {\n const path = trimSpecialChar(req.event?.requestContext?.resourcePath ?? req.resourcePath ?? \"\");\n return path.endsWith(\"search/query\");\n }\n\n private resolveRequestedScope(req: HttpRequest): string | undefined {\n const scopeRaw = req.filter?.scope || req.queryStringParameters?.scope || req.customQueryParameters?.scope;\n if (typeof scopeRaw !== \"string\") return undefined;\n const normalized = scopeRaw.trim().toLowerCase();\n return normalized.length ? normalized : undefined;\n }\n\n private getScopeLevelLimit(requestedScope: string | undefined, scopeMap: ScopeMap): number | undefined {\n if (!requestedScope) return undefined;\n for (const [scopeName, mapping] of scopeMap) {\n if (scopeName.toLowerCase() === requestedScope) return mapping.level;\n }\n return undefined;\n }\n\n private isUnset(value: unknown): boolean {\n return value === undefined || value === null || value === \"\";\n }\n\n private clearScopeFilters(req: HttpRequest, scopeMap: ScopeMap): void {\n for (const [, entry] of scopeMap) {\n delete req.filter[entry.filterField];\n }\n delete req.filter[\"profileId\"];\n delete req.filter[\"ownerId\"];\n delete req.filter[\"scope\"];\n }\n}\n"]}
|
|
@@ -14,3 +14,4 @@ export declare abstract class ControllerStream<T extends StreamService<any>> {
|
|
|
14
14
|
processStreamEventPost(oldItem: T, newItem: T, event: ActionDynamoDB, tableName: string): Promise<void>;
|
|
15
15
|
private processEventRecord;
|
|
16
16
|
}
|
|
17
|
+
//# sourceMappingURL=controller-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller-stream.d.ts","sourceRoot":"","sources":["../../src/controller/controller-stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgD,MAAM,UAAU,CAAC;AACxF,OAAO,EAAkB,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,8BAAsB,gBAAgB,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC;IACjE,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9B,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAE/B,SAAS,aAAa,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY;IAWpD,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7D,qBAAqB,CACzB,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC,CAAC;QAAC,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC;IAIhC,sBAAsB,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAE/F,kBAAkB;CAoBjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/controller/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
import { HttpStatus } from "./exception-handler";
|
|
2
|
+
/**
|
|
3
|
+
* Business logic reasons for errors - for frontend to show appropriate UI.
|
|
4
|
+
* These are NOT HTTP status codes, but rather semantic reasons for the error.
|
|
5
|
+
* e.g., reason = VALIDATION_ERROR with data = zod errors array
|
|
6
|
+
*/
|
|
7
|
+
export declare enum ErrorReason {
|
|
8
|
+
VALIDATION_ERROR = "VALIDATION_ERROR",
|
|
9
|
+
MISSING_ID = "MISSING_ID",
|
|
10
|
+
MISSING_REQUIRED_FIELD = "MISSING_REQUIRED_FIELD",
|
|
11
|
+
INVALID_INPUT = "INVALID_INPUT",
|
|
12
|
+
DUPLICATE = "DUPLICATE",
|
|
13
|
+
RESOURCE_NOT_FOUND = "RESOURCE_NOT_FOUND",
|
|
14
|
+
UNAUTHORIZED_ACCESS = "UNAUTHORIZED_ACCESS",
|
|
15
|
+
ACCESS_DENIED = "ACCESS_DENIED",
|
|
16
|
+
RESOURCE_ALREADY_EXISTS = "RESOURCE_ALREADY_EXISTS",
|
|
17
|
+
INVALID_STATE = "INVALID_STATE",
|
|
18
|
+
DATABASE_ERROR = "DATABASE_ERROR",
|
|
19
|
+
EXTERNAL_SERVICE_ERROR = "EXTERNAL_SERVICE_ERROR",
|
|
20
|
+
UNKNOWN = "UNKNOWN"
|
|
21
|
+
}
|
|
1
22
|
export declare class ErrorBase extends Error {
|
|
2
23
|
readonly code: number;
|
|
3
24
|
readonly error?: unknown;
|
|
@@ -8,17 +29,12 @@ export declare class ErrorDynamoDB extends Error {
|
|
|
8
29
|
command: any;
|
|
9
30
|
constructor(tableName: string, command: any, errorContent?: any);
|
|
10
31
|
}
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
statusCode: number;
|
|
18
|
-
error: string;
|
|
19
|
-
message: string;
|
|
20
|
-
data: any;
|
|
21
|
-
constructor(errorCodeMsg: ErrorCodeMsg, errorMessage?: any, errorData?: any);
|
|
32
|
+
export declare class ErrorHttp<T = unknown> extends Error {
|
|
33
|
+
readonly statusCode: number;
|
|
34
|
+
readonly error: string;
|
|
35
|
+
readonly reason: ErrorReason;
|
|
36
|
+
readonly data?: T;
|
|
37
|
+
constructor(httpStatus: HttpStatus, message?: string, data?: T, reason?: ErrorReason);
|
|
22
38
|
}
|
|
23
39
|
export declare class ErrorValidation extends Error {
|
|
24
40
|
entityName: string;
|
|
@@ -30,3 +46,4 @@ export declare class ErrorValidation extends Error {
|
|
|
30
46
|
export declare class MissingParameterError extends Error {
|
|
31
47
|
constructor(paramName: string);
|
|
32
48
|
}
|
|
49
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/exception/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;GAIG;AACH,oBAAY,WAAW;IAErB,gBAAgB,qBAAqB;IACrC,UAAU,eAAe;IACzB,sBAAsB,2BAA2B;IACjD,aAAa,kBAAkB;IAG/B,SAAS,cAAc;IACvB,kBAAkB,uBAAuB;IACzC,mBAAmB,wBAAwB;IAC3C,aAAa,kBAAkB;IAC/B,uBAAuB,4BAA4B;IACnD,aAAa,kBAAkB;IAG/B,cAAc,mBAAmB;IACjC,sBAAsB,2BAA2B;IAGjD,OAAO,YAAY;CACpB;AAED,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEpB,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAc3D;AAED,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;gBACD,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,GAAG;CAKhE;AAED,qBAAa,SAAS,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,KAAK;IAC/C,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,MAAM,EAAE,WAAW,CAAC;IACpC,SAAgB,IAAI,CAAC,EAAE,CAAC,CAAC;gBAGvB,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,CAAC,EACR,MAAM,GAAE,WAAiC;CAY5C;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,KAAK,EAAE,GAAG,CAAC;IACX,OAAO,EAAE,GAAG,CAAC;gBAED,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,GAAG;CAMjF;AAED,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,SAAS,EAAE,MAAM;CAI9B"}
|
package/dist/exception/errors.js
CHANGED
|
@@ -1,6 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MissingParameterError = exports.ErrorValidation = exports.ErrorHttp = exports.ErrorDynamoDB = exports.ErrorBase = void 0;
|
|
3
|
+
exports.MissingParameterError = exports.ErrorValidation = exports.ErrorHttp = exports.ErrorDynamoDB = exports.ErrorBase = exports.ErrorReason = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Business logic reasons for errors - for frontend to show appropriate UI.
|
|
6
|
+
* These are NOT HTTP status codes, but rather semantic reasons for the error.
|
|
7
|
+
* e.g., reason = VALIDATION_ERROR with data = zod errors array
|
|
8
|
+
*/
|
|
9
|
+
var ErrorReason;
|
|
10
|
+
(function (ErrorReason) {
|
|
11
|
+
// Validation/Input
|
|
12
|
+
ErrorReason["VALIDATION_ERROR"] = "VALIDATION_ERROR";
|
|
13
|
+
ErrorReason["MISSING_ID"] = "MISSING_ID";
|
|
14
|
+
ErrorReason["MISSING_REQUIRED_FIELD"] = "MISSING_REQUIRED_FIELD";
|
|
15
|
+
ErrorReason["INVALID_INPUT"] = "INVALID_INPUT";
|
|
16
|
+
// Business Logic
|
|
17
|
+
ErrorReason["DUPLICATE"] = "DUPLICATE";
|
|
18
|
+
ErrorReason["RESOURCE_NOT_FOUND"] = "RESOURCE_NOT_FOUND";
|
|
19
|
+
ErrorReason["UNAUTHORIZED_ACCESS"] = "UNAUTHORIZED_ACCESS";
|
|
20
|
+
ErrorReason["ACCESS_DENIED"] = "ACCESS_DENIED";
|
|
21
|
+
ErrorReason["RESOURCE_ALREADY_EXISTS"] = "RESOURCE_ALREADY_EXISTS";
|
|
22
|
+
ErrorReason["INVALID_STATE"] = "INVALID_STATE";
|
|
23
|
+
// External Service/Database
|
|
24
|
+
ErrorReason["DATABASE_ERROR"] = "DATABASE_ERROR";
|
|
25
|
+
ErrorReason["EXTERNAL_SERVICE_ERROR"] = "EXTERNAL_SERVICE_ERROR";
|
|
26
|
+
// Unknown/Generic
|
|
27
|
+
ErrorReason["UNKNOWN"] = "UNKNOWN";
|
|
28
|
+
})(ErrorReason || (exports.ErrorReason = ErrorReason = {}));
|
|
4
29
|
class ErrorBase extends Error {
|
|
5
30
|
code;
|
|
6
31
|
error;
|
|
@@ -29,14 +54,16 @@ exports.ErrorDynamoDB = ErrorDynamoDB;
|
|
|
29
54
|
class ErrorHttp extends Error {
|
|
30
55
|
statusCode;
|
|
31
56
|
error;
|
|
32
|
-
|
|
57
|
+
reason;
|
|
33
58
|
data;
|
|
34
|
-
constructor(
|
|
35
|
-
super(
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
39
|
-
this.
|
|
59
|
+
constructor(httpStatus, message, data, reason = ErrorReason.UNKNOWN) {
|
|
60
|
+
super(message ?? httpStatus.msg);
|
|
61
|
+
this.name = "ErrorHttp";
|
|
62
|
+
this.statusCode = httpStatus.code;
|
|
63
|
+
this.error = httpStatus.msg;
|
|
64
|
+
this.reason = reason;
|
|
65
|
+
this.data = data;
|
|
66
|
+
Error.captureStackTrace?.(this, ErrorHttp);
|
|
40
67
|
}
|
|
41
68
|
}
|
|
42
69
|
exports.ErrorHttp = ErrorHttp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/exception/errors.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/exception/errors.ts"],"names":[],"mappings":";;;AAEA;;;;GAIG;AACH,IAAY,WAqBX;AArBD,WAAY,WAAW;IACrB,mBAAmB;IACnB,oDAAqC,CAAA;IACrC,wCAAyB,CAAA;IACzB,gEAAiD,CAAA;IACjD,8CAA+B,CAAA;IAE/B,iBAAiB;IACjB,sCAAuB,CAAA;IACvB,wDAAyC,CAAA;IACzC,0DAA2C,CAAA;IAC3C,8CAA+B,CAAA;IAC/B,kEAAmD,CAAA;IACnD,8CAA+B,CAAA;IAE/B,4BAA4B;IAC5B,gDAAiC,CAAA;IACjC,gEAAiD,CAAA;IAEjD,kBAAkB;IAClB,kCAAmB,CAAA;AACrB,CAAC,EArBW,WAAW,2BAAX,WAAW,QAqBtB;AAED,MAAa,SAAU,SAAQ,KAAK;IAClB,IAAI,CAAS;IACb,KAAK,CAAW;IAEhC,YAAY,IAAY,EAAE,OAAe,EAAE,KAAe;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAElD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAElC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF;AAlBD,8BAkBC;AAED,MAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,CAAS;IAClB,OAAO,CAAM;IACb,YAAY,SAAiB,EAAE,OAAY,EAAE,YAAkB;QAC7D,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AARD,sCAQC;AAED,MAAa,SAAuB,SAAQ,KAAK;IAC/B,UAAU,CAAS;IACnB,KAAK,CAAS;IACd,MAAM,CAAc;IACpB,IAAI,CAAK;IAEzB,YACE,UAAsB,EACtB,OAAgB,EAChB,IAAQ,EACR,SAAsB,WAAW,CAAC,OAAO;QAEzC,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,KAAK,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;CACF;AAtBD,8BAsBC;AAED,MAAa,eAAgB,SAAQ,KAAK;IACxC,UAAU,CAAS;IACnB,UAAU,CAAmB;IAC7B,KAAK,CAAM;IACX,OAAO,CAAM;IAEb,YAAY,UAAkB,EAAE,UAA4B,EAAE,YAAkB;QAC9E,KAAK,CAAC,YAAY,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC;IAC9B,CAAC;CACF;AAZD,0CAYC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,SAAiB;QAC3B,KAAK,CAAC,GAAG,SAAS,eAAe,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AALD,sDAKC","sourcesContent":["import { HttpStatus } from \"./exception-handler\";\n\n/**\n * Business logic reasons for errors - for frontend to show appropriate UI.\n * These are NOT HTTP status codes, but rather semantic reasons for the error.\n * e.g., reason = VALIDATION_ERROR with data = zod errors array\n */\nexport enum ErrorReason {\n // Validation/Input\n VALIDATION_ERROR = \"VALIDATION_ERROR\",\n MISSING_ID = \"MISSING_ID\",\n MISSING_REQUIRED_FIELD = \"MISSING_REQUIRED_FIELD\",\n INVALID_INPUT = \"INVALID_INPUT\",\n\n // Business Logic\n DUPLICATE = \"DUPLICATE\",\n RESOURCE_NOT_FOUND = \"RESOURCE_NOT_FOUND\",\n UNAUTHORIZED_ACCESS = \"UNAUTHORIZED_ACCESS\",\n ACCESS_DENIED = \"ACCESS_DENIED\",\n RESOURCE_ALREADY_EXISTS = \"RESOURCE_ALREADY_EXISTS\",\n INVALID_STATE = \"INVALID_STATE\",\n\n // External Service/Database\n DATABASE_ERROR = \"DATABASE_ERROR\",\n EXTERNAL_SERVICE_ERROR = \"EXTERNAL_SERVICE_ERROR\",\n\n // Unknown/Generic\n UNKNOWN = \"UNKNOWN\",\n}\n\nexport class ErrorBase extends Error {\n public readonly code: number;\n public readonly error?: unknown;\n\n constructor(code: number, message: string, error?: unknown) {\n super(message);\n\n this.code = code;\n this.error = error;\n\n Object.setPrototypeOf(this, new.target.prototype);\n\n this.name = this.constructor.name;\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n }\n}\n\nexport class ErrorDynamoDB extends Error {\n tableName: string;\n command: any;\n constructor(tableName: string, command: any, errorContent?: any) {\n super(errorContent);\n this.tableName = tableName;\n this.command = command;\n }\n}\n\nexport class ErrorHttp<T = unknown> extends Error {\n public readonly statusCode: number;\n public readonly error: string;\n public readonly reason: ErrorReason;\n public readonly data?: T;\n\n constructor(\n httpStatus: HttpStatus,\n message?: string,\n data?: T,\n reason: ErrorReason = ErrorReason.UNKNOWN\n ) {\n super(message ?? httpStatus.msg);\n\n this.name = \"ErrorHttp\";\n this.statusCode = httpStatus.code;\n this.error = httpStatus.msg;\n this.reason = reason;\n this.data = data;\n\n Error.captureStackTrace?.(this, ErrorHttp);\n }\n}\n\nexport class ErrorValidation extends Error {\n entityName: string;\n validation: Map<string, any>;\n error: any;\n content: any;\n\n constructor(entityName: string, validation: Map<string, any>, errorContent?: any) {\n super(errorContent);\n this.entityName = entityName;\n this.validation = validation;\n this.content = errorContent;\n }\n}\n\nexport class MissingParameterError extends Error {\n constructor(paramName: string) {\n super(`${paramName} is required.`);\n this.name = \"MissingParameterError\";\n }\n}\n"]}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
export type HttpStatus = {
|
|
2
|
+
code: number;
|
|
3
|
+
msg: string;
|
|
4
|
+
};
|
|
1
5
|
type HttpErrorResponse = {
|
|
2
6
|
statusCode: number;
|
|
3
7
|
content: {
|
|
4
8
|
error: string;
|
|
5
9
|
message: unknown;
|
|
10
|
+
reason?: string;
|
|
6
11
|
data: unknown;
|
|
7
12
|
};
|
|
8
13
|
};
|
|
@@ -238,3 +243,4 @@ export declare const HTTP: {
|
|
|
238
243
|
};
|
|
239
244
|
};
|
|
240
245
|
export {};
|
|
246
|
+
//# sourceMappingURL=exception-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exception-handler.d.ts","sourceRoot":"","sources":["../../src/exception/exception-handler.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvD,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,OAAO,CAAC;KACf,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,KAAK,GAAG,KAAG,iBAwC1C,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEhB,CAAC"}
|
|
@@ -8,7 +8,8 @@ const refineHttpError = (err) => {
|
|
|
8
8
|
msg: err.error ?? exports.HTTP.INTERNAL_SERVER_ERROR.msg,
|
|
9
9
|
};
|
|
10
10
|
let message = err.message ?? "An unexpected error occurred.";
|
|
11
|
-
let
|
|
11
|
+
let reason = err.reason ?? errors_1.ErrorReason.UNKNOWN;
|
|
12
|
+
let data = err.data;
|
|
12
13
|
if (err instanceof errors_1.ErrorValidation) {
|
|
13
14
|
http = exports.HTTP.BAD_REQUEST;
|
|
14
15
|
http.msg += " - Validation failed.";
|
|
@@ -37,6 +38,7 @@ const refineHttpError = (err) => {
|
|
|
37
38
|
content: {
|
|
38
39
|
error: http.msg,
|
|
39
40
|
message,
|
|
41
|
+
reason,
|
|
40
42
|
data,
|
|
41
43
|
},
|
|
42
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exception-handler.js","sourceRoot":"","sources":["../../src/exception/exception-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorDynamoDB, ErrorValidation } from \"./errors\";\n\ntype HttpStatus = { code: number; msg: string };\n\ntype HttpErrorResponse = {\n statusCode: number;\n content: {\n error: string;\n message: unknown;\n data: unknown;\n };\n};\n\nexport const refineHttpError = (err: any): HttpErrorResponse => {\n let http: HttpStatus = {\n code: err.statusCode ?? HTTP.INTERNAL_SERVER_ERROR.code,\n msg: err.error ?? HTTP.INTERNAL_SERVER_ERROR.msg,\n };\n\n let message = err.message ?? \"An unexpected error occurred.\";\n let data = err.content;\n\n if (err instanceof ErrorValidation) {\n http = HTTP.BAD_REQUEST;\n http.msg += \" - Validation failed.\";\n } else if (err instanceof ErrorDynamoDB) {\n if (message.includes(\"requires indexName and indexValue\")) {\n http = HTTP.BAD_REQUEST;\n message = `Index name and value are required: ${err.tableName}`;\n }\n if (message.includes(\"ResourceNotFoundException\")) {\n http = HTTP.BAD_REQUEST;\n message = `Resource not found: ${err.tableName}`;\n } else if (message.includes(\"ConditionalCheckFailedException\")) {\n http = HTTP.BAD_REQUEST;\n message = `ConditionalCheckFailedException: by table: ${err.tableName}, command: ${err.command}}`;\n }\n message = `Database Error: ${err.tableName}`;\n } else if (message.includes(\"search_phase_execution_exception\")) {\n http = HTTP.BAD_REQUEST;\n message = \"OpenSearch: Cannot sort by text field - use '.keyword' instead.\";\n }\n\n return {\n statusCode: http.code,\n content: {\n error: http.msg,\n message,\n data,\n },\n };\n};\n\nexport const HTTP = {\n // 1xx Informational\n CONTINUE: { msg: \"Continue\", code: 100 },\n SWITCHING_PROTOCOLS: { msg: \"Switching Protocols\", code: 101 },\n PROCESSING: { msg: \"Processing\", code: 102 },\n\n // 2xx Success\n OK: { msg: \"OK\", code: 200 },\n CREATED: { msg: \"Created\", code: 201 },\n ACCEPTED: { msg: \"Accepted\", code: 202 },\n NON_AUTHORITATIVE_INFORMATION: { msg: \"Non-Authoritative Information\", code: 203 },\n NO_CONTENT: { msg: \"No Content\", code: 204 },\n RESET_CONTENT: { msg: \"Reset Content\", code: 205 },\n PARTIAL_CONTENT: { msg: \"Partial Content\", code: 206 },\n\n // 3xx Redirection\n MULTIPLE_CHOICES: { msg: \"Multiple Choices\", code: 300 },\n MOVED_PERMANENTLY: { msg: \"Moved Permanently\", code: 301 },\n FOUND: { msg: \"Found\", code: 302 },\n SEE_OTHER: { msg: \"See Other\", code: 303 },\n NOT_MODIFIED: { msg: \"Not Modified\", code: 304 },\n TEMPORARY_REDIRECT: { msg: \"Temporary Redirect\", code: 307 },\n PERMANENT_REDIRECT: { msg: \"Permanent Redirect\", code: 308 },\n\n // 4xx Client Errors\n BAD_REQUEST: { msg: \"Bad Request\", code: 400 },\n UNAUTHORIZED: { msg: \"Unauthorized\", code: 401 },\n PAYMENT_REQUIRED: { msg: \"Payment Required\", code: 402 },\n FORBIDDEN: { msg: \"Forbidden\", code: 403 },\n NOT_FOUND: { msg: \"Not Found\", code: 404 },\n METHOD_NOT_ALLOWED: { msg: \"Method Not Allowed\", code: 405 },\n NOT_ACCEPTABLE: { msg: \"Not Acceptable\", code: 406 },\n PROXY_AUTHENTICATION_REQUIRED: { msg: \"Proxy Authentication Required\", code: 407 },\n REQUEST_TIMEOUT: { msg: \"Request Timeout\", code: 408 },\n CONFLICT: { msg: \"Conflict\", code: 409 },\n GONE: { msg: \"Gone\", code: 410 },\n LENGTH_REQUIRED: { msg: \"Length Required\", code: 411 },\n PRECONDITION_FAILED: { msg: \"Precondition Failed\", code: 412 },\n PAYLOAD_TOO_LARGE: { msg: \"Payload Too Large\", code: 413 },\n URI_TOO_LONG: { msg: \"URI Too Long\", code: 414 },\n UNSUPPORTED_MEDIA_TYPE: { msg: \"Unsupported Media Type\", code: 415 },\n RANGE_NOT_SATISFIABLE: { msg: \"Range Not Satisfiable\", code: 416 },\n EXPECTATION_FAILED: { msg: \"Expectation Failed\", code: 417 },\n IM_A_TEAPOT: { msg: \"I'm a teapot\", code: 418 },\n MISDIRECTED_REQUEST: { msg: \"Misdirected Request\", code: 421 },\n UNPROCESSABLE_ENTITY: { msg: \"Unprocessable Entity\", code: 422 },\n LOCKED: { msg: \"Locked\", code: 423 },\n FAILED_DEPENDENCY: { msg: \"Failed Dependency\", code: 424 },\n TOO_EARLY: { msg: \"Too Early\", code: 425 },\n UPGRADE_REQUIRED: { msg: \"Upgrade Required\", code: 426 },\n PRECONDITION_REQUIRED: { msg: \"Precondition Required\", code: 428 },\n TOO_MANY_REQUESTS: { msg: \"Too Many Requests\", code: 429 },\n REQUEST_HEADER_FIELDS_TOO_LARGE: { msg: \"Request Header Fields Too Large\", code: 431 },\n UNAVAILABLE_FOR_LEGAL_REASONS: { msg: \"Unavailable For Legal Reasons\", code: 451 },\n\n // 5xx Server Errors\n INTERNAL_SERVER_ERROR: { msg: \"Internal Server Error\", code: 500 },\n NOT_IMPLEMENTED: { msg: \"Not Implemented\", code: 501 },\n BAD_GATEWAY: { msg: \"Bad Gateway\", code: 502 },\n SERVICE_UNAVAILABLE: { msg: \"Service Unavailable\", code: 503 },\n GATEWAY_TIMEOUT: { msg: \"Gateway Timeout\", code: 504 },\n HTTP_VERSION_NOT_SUPPORTED: { msg: \"HTTP Version Not Supported\", code: 505 },\n VARIANT_ALSO_NEGOTIATES: { msg: \"Variant Also Negotiates\", code: 506 },\n INSUFFICIENT_STORAGE: { msg: \"Insufficient Storage\", code: 507 },\n LOOP_DETECTED: { msg: \"Loop Detected\", code: 508 },\n NOT_EXTENDED: { msg: \"Not Extended\", code: 510 },\n NETWORK_AUTHENTICATION_REQUIRED: { msg: \"Network Authentication Required\", code: 511 },\n};\n"]}
|
|
1
|
+
{"version":3,"file":"exception-handler.js","sourceRoot":"","sources":["../../src/exception/exception-handler.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorDynamoDB, ErrorValidation, ErrorReason } from \"./errors\";\n\nexport type HttpStatus = { code: number; msg: string };\n\ntype HttpErrorResponse = {\n statusCode: number;\n content: {\n error: string;\n message: unknown;\n reason?: string;\n data: unknown;\n };\n};\n\nexport const refineHttpError = (err: any): HttpErrorResponse => {\n let http: HttpStatus = {\n code: err.statusCode ?? HTTP.INTERNAL_SERVER_ERROR.code,\n msg: err.error ?? HTTP.INTERNAL_SERVER_ERROR.msg,\n };\n\n let message = err.message ?? \"An unexpected error occurred.\";\n let reason = err.reason ?? ErrorReason.UNKNOWN;\n let data = err.data;\n\n if (err instanceof ErrorValidation) {\n http = HTTP.BAD_REQUEST;\n http.msg += \" - Validation failed.\";\n } else if (err instanceof ErrorDynamoDB) {\n if (message.includes(\"requires indexName and indexValue\")) {\n http = HTTP.BAD_REQUEST;\n message = `Index name and value are required: ${err.tableName}`;\n }\n if (message.includes(\"ResourceNotFoundException\")) {\n http = HTTP.BAD_REQUEST;\n message = `Resource not found: ${err.tableName}`;\n } else if (message.includes(\"ConditionalCheckFailedException\")) {\n http = HTTP.BAD_REQUEST;\n message = `ConditionalCheckFailedException: by table: ${err.tableName}, command: ${err.command}}`;\n }\n message = `Database Error: ${err.tableName}`;\n } else if (message.includes(\"search_phase_execution_exception\")) {\n http = HTTP.BAD_REQUEST;\n message = \"OpenSearch: Cannot sort by text field - use '.keyword' instead.\";\n }\n\n return {\n statusCode: http.code,\n content: {\n error: http.msg,\n message,\n reason,\n data,\n },\n };\n};\n\nexport const HTTP = {\n // 1xx Informational\n CONTINUE: { msg: \"Continue\", code: 100 },\n SWITCHING_PROTOCOLS: { msg: \"Switching Protocols\", code: 101 },\n PROCESSING: { msg: \"Processing\", code: 102 },\n\n // 2xx Success\n OK: { msg: \"OK\", code: 200 },\n CREATED: { msg: \"Created\", code: 201 },\n ACCEPTED: { msg: \"Accepted\", code: 202 },\n NON_AUTHORITATIVE_INFORMATION: { msg: \"Non-Authoritative Information\", code: 203 },\n NO_CONTENT: { msg: \"No Content\", code: 204 },\n RESET_CONTENT: { msg: \"Reset Content\", code: 205 },\n PARTIAL_CONTENT: { msg: \"Partial Content\", code: 206 },\n\n // 3xx Redirection\n MULTIPLE_CHOICES: { msg: \"Multiple Choices\", code: 300 },\n MOVED_PERMANENTLY: { msg: \"Moved Permanently\", code: 301 },\n FOUND: { msg: \"Found\", code: 302 },\n SEE_OTHER: { msg: \"See Other\", code: 303 },\n NOT_MODIFIED: { msg: \"Not Modified\", code: 304 },\n TEMPORARY_REDIRECT: { msg: \"Temporary Redirect\", code: 307 },\n PERMANENT_REDIRECT: { msg: \"Permanent Redirect\", code: 308 },\n\n // 4xx Client Errors\n BAD_REQUEST: { msg: \"Bad Request\", code: 400 },\n UNAUTHORIZED: { msg: \"Unauthorized\", code: 401 },\n PAYMENT_REQUIRED: { msg: \"Payment Required\", code: 402 },\n FORBIDDEN: { msg: \"Forbidden\", code: 403 },\n NOT_FOUND: { msg: \"Not Found\", code: 404 },\n METHOD_NOT_ALLOWED: { msg: \"Method Not Allowed\", code: 405 },\n NOT_ACCEPTABLE: { msg: \"Not Acceptable\", code: 406 },\n PROXY_AUTHENTICATION_REQUIRED: { msg: \"Proxy Authentication Required\", code: 407 },\n REQUEST_TIMEOUT: { msg: \"Request Timeout\", code: 408 },\n CONFLICT: { msg: \"Conflict\", code: 409 },\n GONE: { msg: \"Gone\", code: 410 },\n LENGTH_REQUIRED: { msg: \"Length Required\", code: 411 },\n PRECONDITION_FAILED: { msg: \"Precondition Failed\", code: 412 },\n PAYLOAD_TOO_LARGE: { msg: \"Payload Too Large\", code: 413 },\n URI_TOO_LONG: { msg: \"URI Too Long\", code: 414 },\n UNSUPPORTED_MEDIA_TYPE: { msg: \"Unsupported Media Type\", code: 415 },\n RANGE_NOT_SATISFIABLE: { msg: \"Range Not Satisfiable\", code: 416 },\n EXPECTATION_FAILED: { msg: \"Expectation Failed\", code: 417 },\n IM_A_TEAPOT: { msg: \"I'm a teapot\", code: 418 },\n MISDIRECTED_REQUEST: { msg: \"Misdirected Request\", code: 421 },\n UNPROCESSABLE_ENTITY: { msg: \"Unprocessable Entity\", code: 422 },\n LOCKED: { msg: \"Locked\", code: 423 },\n FAILED_DEPENDENCY: { msg: \"Failed Dependency\", code: 424 },\n TOO_EARLY: { msg: \"Too Early\", code: 425 },\n UPGRADE_REQUIRED: { msg: \"Upgrade Required\", code: 426 },\n PRECONDITION_REQUIRED: { msg: \"Precondition Required\", code: 428 },\n TOO_MANY_REQUESTS: { msg: \"Too Many Requests\", code: 429 },\n REQUEST_HEADER_FIELDS_TOO_LARGE: { msg: \"Request Header Fields Too Large\", code: 431 },\n UNAVAILABLE_FOR_LEGAL_REASONS: { msg: \"Unavailable For Legal Reasons\", code: 451 },\n\n // 5xx Server Errors\n INTERNAL_SERVER_ERROR: { msg: \"Internal Server Error\", code: 500 },\n NOT_IMPLEMENTED: { msg: \"Not Implemented\", code: 501 },\n BAD_GATEWAY: { msg: \"Bad Gateway\", code: 502 },\n SERVICE_UNAVAILABLE: { msg: \"Service Unavailable\", code: 503 },\n GATEWAY_TIMEOUT: { msg: \"Gateway Timeout\", code: 504 },\n HTTP_VERSION_NOT_SUPPORTED: { msg: \"HTTP Version Not Supported\", code: 505 },\n VARIANT_ALSO_NEGOTIATES: { msg: \"Variant Also Negotiates\", code: 506 },\n INSUFFICIENT_STORAGE: { msg: \"Insufficient Storage\", code: 507 },\n LOOP_DETECTED: { msg: \"Loop Detected\", code: 508 },\n NOT_EXTENDED: { msg: \"Not Extended\", code: 510 },\n NETWORK_AUTHENTICATION_REQUIRED: { msg: \"Network Authentication Required\", code: 511 },\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/exception/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
|
|
@@ -46,3 +46,4 @@ export declare function sendForgotPasswordCode(clientId: string, username: strin
|
|
|
46
46
|
export declare function confirmForgotPasswordCode(clientId: string, username: string, code: string, newPassword: string): Promise<{
|
|
47
47
|
username: string;
|
|
48
48
|
}>;
|
|
49
|
+
//# sourceMappingURL=cognito.function.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cognito.function.d.ts","sourceRoot":"","sources":["../../../src/function/cognito/cognito.function.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/function/cognito/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EACL,iBAAiB,EACjB,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,OAAO,CAAC"}
|
package/dist/function/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/function/index.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CAKf,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/function/logger.ts"],"names":[],"mappings":"AAGA,cAAM,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqD;IAE5E,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAIrC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAIrC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAItC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE;IAItC,KAAK,CAAC,KAAK,EAAE,MAAM;IAInB,QAAQ;IAIR,OAAO,CAAC,GAAG;IAYX,OAAO,CAAC,SAAS;CASlB;AAGD,OAAO,CAAC,MAAM,CAAC;IAEb,IAAI,GAAG,EAAE,MAAM,CAAC;CACjB;AAID,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/function/s3/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAO,MAAM,EAAE;;CAKd,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s3.function.d.ts","sourceRoot":"","sources":["../../../src/function/s3/s3.function.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,IAAI,CAEnC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.config.d.ts","sourceRoot":"","sources":["../../src/model/base.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE5F,qCAAqC;AACrC,qBAAa,cAAc;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,cAAc,CAAC;gBAER,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,CAAC,EAAE,MAAM;CAM1G;AAED,uCAAuC;AACvC,qBAAa,gBAAgB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;gBAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAI9C;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,0CAA0C;AAC1C,qBAAa,gBAAiB,YAAW,YAAY;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAE3B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,cAAc,CAAC,EAAE,aAAa,CAAC;IAE/B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,mBAAmB,EAAE,MAAM,CAAC;gBAEhB,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE;IAMvD,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C,iCAAiC;IACjC,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,cAAc,EACxB,oBAAoB,CAAC,EAAE,MAAM,GAC5B,IAAI;IAOP,mCAAmC;IACnC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlD,8EAA8E;IAC9E,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAKpD,8BAA8B;IAC9B,WAAW,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI;IAK7C,6EAA6E;IAC7E,QAAQ,IAAI,YAAY;CAazB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.model.d.ts","sourceRoot":"","sources":["../../src/model/base.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,UAAU;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAEvC,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAE1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,qBAAa,QAAS,SAAQ,GAAG,CAAC,MAAM,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;CAAG;AAExG,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cognito-user.model.d.ts","sourceRoot":"","sources":["../../src/model/cognito-user.model.ts"],"names":[],"mappings":"AAEA,iBAAiB;AACjB,oBAAY,QAAQ;IAClB,EAAE,OAAO;IACT,MAAM,WAAW;IACjB,iBAAiB,sBAAsB;CACxC;AAED,yCAAyC;AACzC,oBAAY,iBAAiB;IAC3B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC,qBAAqB,0BAA0B;CAChD;AAED,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAE1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAGlB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAG/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -35,3 +35,4 @@ export declare class DynamoIndexMap extends Map<string, {
|
|
|
35
35
|
booleanFields?: string[];
|
|
36
36
|
setFields(partitionKey?: string, numberFields?: string[], arrayFields?: string[], booleanFields?: string[], mapFields?: string[]): this;
|
|
37
37
|
}
|
|
38
|
+
//# sourceMappingURL=dynamodb.model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamodb.model.d.ts","sourceRoot":"","sources":["../../src/model/dynamodb.model.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAGD,MAAM,WAAW,cAAc;IAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACrD,yBAAyB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IACnD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAKD,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oFAAoF;AACpF,qBAAa,cAAe,SAAQ,GAAG,CACrC,MAAM,EACN;IACE,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CACF;IACC,YAAY,EAAE,MAAM,CAAQ;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,SAAS,CACP,YAAY,CAAC,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,EAAE,EACvB,WAAW,CAAC,EAAE,MAAM,EAAE,EACtB,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,IAAI;CAQR"}
|