@rockster/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cache/cache-cleaner.d.ts +7 -0
- package/cache/cache-cleaner.js +28 -0
- package/cache/cache.controller.d.ts +10 -0
- package/cache/cache.controller.js +53 -0
- package/cache/constants.d.ts +5 -0
- package/cache/constants.js +6 -0
- package/cache/decorators/index.d.ts +2 -0
- package/cache/decorators/index.js +18 -0
- package/cache/decorators/inject-cache.decorator.d.ts +1 -0
- package/cache/decorators/inject-cache.decorator.js +14 -0
- package/cache/decorators/key-value.d.ts +2 -0
- package/cache/decorators/key-value.js +40 -0
- package/cache/functions/get-cache.d.ts +1 -0
- package/cache/functions/get-cache.js +8 -0
- package/cache/functions/get-key.-handle.d.ts +2 -0
- package/cache/functions/get-key.-handle.js +23 -0
- package/cache/index.d.ts +3 -0
- package/cache/index.js +19 -0
- package/cache/interfaces/cache-instance.d.ts +4 -0
- package/cache/interfaces/cache-instance.js +2 -0
- package/cache/interfaces/cache-key-options.d.ts +6 -0
- package/cache/interfaces/cache-key-options.js +2 -0
- package/cache/interfaces/cache-options.d.ts +12 -0
- package/cache/interfaces/cache-options.js +2 -0
- package/cache/interfaces/get-key-value-handle.d.ts +1 -0
- package/cache/interfaces/get-key-value-handle.js +2 -0
- package/cache/interfaces/index.d.ts +4 -0
- package/cache/interfaces/index.js +20 -0
- package/command/constants.d.ts +4 -0
- package/command/constants.js +7 -0
- package/command/decorators/index.d.ts +6 -0
- package/command/decorators/index.js +22 -0
- package/command/decorators/only-modify.decorator.d.ts +1 -0
- package/command/decorators/only-modify.decorator.js +14 -0
- package/command/decorators/post-action.decorator.d.ts +2 -0
- package/command/decorators/post-action.decorator.js +26 -0
- package/command/decorators/post-content.decorator.d.ts +1 -0
- package/command/decorators/post-content.decorator.js +11 -0
- package/command/decorators/read-only.decorator.d.ts +1 -0
- package/command/decorators/read-only.decorator.js +14 -0
- package/command/decorators/remove-action.decorator.d.ts +2 -0
- package/command/decorators/remove-action.decorator.js +27 -0
- package/command/decorators/remove-content.decorator.d.ts +1 -0
- package/command/decorators/remove-content.decorator.js +11 -0
- package/command/functions/execute-post.d.ts +2 -0
- package/command/functions/execute-post.js +50 -0
- package/command/functions/execute-remove.d.ts +4 -0
- package/command/functions/execute-remove.js +50 -0
- package/command/interfaces/command-property.d.ts +7 -0
- package/command/interfaces/command-property.js +2 -0
- package/command/interfaces/index.d.ts +5 -0
- package/command/interfaces/index.js +21 -0
- package/command/interfaces/post-action-options.d.ts +23 -0
- package/command/interfaces/post-action-options.js +2 -0
- package/command/interfaces/post-content.d.ts +8 -0
- package/command/interfaces/post-content.js +2 -0
- package/command/interfaces/remove-aciton-options.d.ts +23 -0
- package/command/interfaces/remove-aciton-options.js +2 -0
- package/command/interfaces/remove-content.d.ts +5 -0
- package/command/interfaces/remove-content.js +2 -0
- package/command/services/post-action-builder.d.ts +19 -0
- package/command/services/post-action-builder.js +219 -0
- package/command/services/remove-action-builder.d.ts +14 -0
- package/command/services/remove-action-builder.js +165 -0
- package/command/utils/deep-merge-keep-undefined.d.ts +1 -0
- package/command/utils/deep-merge-keep-undefined.js +18 -0
- package/common/entities/base-entity.d.ts +7 -0
- package/common/entities/base-entity.js +47 -0
- package/common/index.d.ts +1 -0
- package/common/index.js +17 -0
- package/common/interfaces/enum/index.d.ts +3 -0
- package/common/interfaces/enum/index.js +19 -0
- package/common/interfaces/enum/object-type.d.ts +12 -0
- package/common/interfaces/enum/object-type.js +16 -0
- package/common/interfaces/enum/property-type.d.ts +7 -0
- package/common/interfaces/enum/property-type.js +11 -0
- package/common/interfaces/enum/request-status.d.ts +3 -0
- package/common/interfaces/enum/request-status.js +7 -0
- package/common/interfaces/get-type-callback.d.ts +2 -0
- package/common/interfaces/get-type-callback.js +2 -0
- package/common/interfaces/index.d.ts +2 -0
- package/common/interfaces/index.js +18 -0
- package/common/models/executed-response.d.ts +3 -0
- package/common/models/executed-response.js +22 -0
- package/controllers/constants.d.ts +11 -0
- package/controllers/constants.js +14 -0
- package/controllers/controller.controller.d.ts +19 -0
- package/controllers/controller.controller.js +50 -0
- package/controllers/decorators/actions/action-content.decorator.d.ts +2 -0
- package/controllers/decorators/actions/action-content.decorator.js +20 -0
- package/controllers/decorators/actions/action.decorator.d.ts +2 -0
- package/controllers/decorators/actions/action.decorator.js +28 -0
- package/controllers/decorators/actions/index.d.ts +2 -0
- package/controllers/decorators/actions/index.js +18 -0
- package/controllers/decorators/controller.decorator.d.ts +3 -0
- package/controllers/decorators/controller.decorator.js +32 -0
- package/controllers/decorators/http-methods/custom-response.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/custom-response.decorator.js +14 -0
- package/controllers/decorators/http-methods/delete.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/delete.decorator.js +16 -0
- package/controllers/decorators/http-methods/from-body.decorator.d.ts +3 -0
- package/controllers/decorators/http-methods/from-body.decorator.js +24 -0
- package/controllers/decorators/http-methods/from-headers.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/from-headers.decorator.js +21 -0
- package/controllers/decorators/http-methods/from-params.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/from-params.decorator.js +21 -0
- package/controllers/decorators/http-methods/from-query.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/from-query.decorator.js +21 -0
- package/controllers/decorators/http-methods/get.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/get.decorator.js +16 -0
- package/controllers/decorators/http-methods/http-req.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/http-req.decorator.js +10 -0
- package/controllers/decorators/http-methods/index.d.ts +12 -0
- package/controllers/decorators/http-methods/index.js +28 -0
- package/controllers/decorators/http-methods/patch.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/patch.decorator.js +16 -0
- package/controllers/decorators/http-methods/post.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/post.decorator.js +16 -0
- package/controllers/decorators/http-methods/put.decorator.d.ts +1 -0
- package/controllers/decorators/http-methods/put.decorator.js +16 -0
- package/controllers/decorators/http-methods/response-type.decorator.d.ts +6 -0
- package/controllers/decorators/http-methods/response-type.decorator.js +19 -0
- package/controllers/decorators/index.d.ts +5 -0
- package/controllers/decorators/index.js +21 -0
- package/controllers/decorators/no-auth.decorator.d.ts +1 -0
- package/controllers/decorators/no-auth.decorator.js +11 -0
- package/controllers/decorators/request-context.decorator.d.ts +1 -0
- package/controllers/decorators/request-context.decorator.js +11 -0
- package/controllers/decorators/session.decorator.d.ts +1 -0
- package/controllers/decorators/session.decorator.js +10 -0
- package/controllers/index.d.ts +2 -0
- package/controllers/index.js +18 -0
- package/controllers/interfaces/action-options.d.ts +31 -0
- package/controllers/interfaces/action-options.js +2 -0
- package/controllers/interfaces/content-options.d.ts +5 -0
- package/controllers/interfaces/content-options.js +2 -0
- package/controllers/interfaces/controller-object.d.ts +7 -0
- package/controllers/interfaces/controller-object.js +2 -0
- package/controllers/interfaces/controller-options.d.ts +4 -0
- package/controllers/interfaces/controller-options.js +2 -0
- package/controllers/interfaces/controller-property.d.ts +34 -0
- package/controllers/interfaces/controller-property.js +2 -0
- package/controllers/interfaces/enum/index.d.ts +1 -0
- package/controllers/interfaces/enum/index.js +17 -0
- package/controllers/interfaces/enum/request-interceptor.d.ts +3 -0
- package/controllers/interfaces/enum/request-interceptor.js +6 -0
- package/controllers/interfaces/get-only-data.d.ts +3 -0
- package/controllers/interfaces/get-only-data.js +2 -0
- package/controllers/interfaces/index.d.ts +9 -0
- package/controllers/interfaces/index.js +25 -0
- package/controllers/interfaces/on-before-validation-data.d.ts +4 -0
- package/controllers/interfaces/on-before-validation-data.js +2 -0
- package/controllers/interfaces/response-options.d.ts +5 -0
- package/controllers/interfaces/response-options.js +3 -0
- package/controllers/services/default-action-builder.d.ts +14 -0
- package/controllers/services/default-action-builder.js +166 -0
- package/controllers/services/restful-action-builder.d.ts +11 -0
- package/controllers/services/restful-action-builder.js +132 -0
- package/core/core.controller.d.ts +41 -0
- package/core/core.controller.js +208 -0
- package/core/functions/bootstrap.d.ts +3 -0
- package/core/functions/bootstrap.js +13 -0
- package/core/functions/create-action.d.ts +2 -0
- package/core/functions/create-action.js +18 -0
- package/core/functions/create-interceptor.d.ts +12 -0
- package/core/functions/create-interceptor.js +76 -0
- package/core/functions/format-message.d.ts +2 -0
- package/core/functions/format-message.js +7 -0
- package/core/functions/get-action-path.d.ts +1 -0
- package/core/functions/get-action-path.js +7 -0
- package/core/functions/get-env.d.ts +11 -0
- package/core/functions/get-env.js +19 -0
- package/core/functions/get-node-key.d.ts +1 -0
- package/core/functions/get-node-key.js +7 -0
- package/core/functions/get-other-types.d.ts +2 -0
- package/core/functions/get-other-types.js +19 -0
- package/core/index.d.ts +10 -0
- package/core/index.js +26 -0
- package/core/interfaces/action-def.d.ts +16 -0
- package/core/interfaces/action-def.js +2 -0
- package/core/interfaces/action-docs.d.ts +10 -0
- package/core/interfaces/action-docs.js +2 -0
- package/core/interfaces/core-options.d.ts +32 -0
- package/core/interfaces/core-options.js +2 -0
- package/core/interfaces/docs-options.d.ts +3 -0
- package/core/interfaces/docs-options.js +2 -0
- package/core/interfaces/enum/connect-type.d.ts +4 -0
- package/core/interfaces/enum/connect-type.js +8 -0
- package/core/interfaces/enum/index.d.ts +1 -0
- package/core/interfaces/enum/index.js +17 -0
- package/core/interfaces/format-message-options.d.ts +6 -0
- package/core/interfaces/format-message-options.js +2 -0
- package/core/interfaces/forms-options.d.ts +3 -0
- package/core/interfaces/forms-options.js +2 -0
- package/core/interfaces/index.d.ts +23 -0
- package/core/interfaces/index.js +39 -0
- package/core/interfaces/interceptor.d.ts +38 -0
- package/core/interfaces/interceptor.js +7 -0
- package/core/interfaces/locale-options.d.ts +5 -0
- package/core/interfaces/locale-options.js +2 -0
- package/core/interfaces/mapper.d.ts +3 -0
- package/core/interfaces/mapper.js +2 -0
- package/core/interfaces/object-docs.d.ts +5 -0
- package/core/interfaces/object-docs.js +3 -0
- package/core/interfaces/object.d.ts +15 -0
- package/core/interfaces/object.js +2 -0
- package/core/interfaces/pending-action.d.ts +10 -0
- package/core/interfaces/pending-action.js +2 -0
- package/core/interfaces/property-docs.d.ts +5 -0
- package/core/interfaces/property-docs.js +2 -0
- package/core/interfaces/property.d.ts +9 -0
- package/core/interfaces/property.js +2 -0
- package/core/interfaces/request-callback-handle.d.ts +3 -0
- package/core/interfaces/request-callback-handle.js +2 -0
- package/core/interfaces/request-callback.d.ts +4 -0
- package/core/interfaces/request-callback.js +2 -0
- package/core/interfaces/request-callbacks.d.ts +5 -0
- package/core/interfaces/request-callbacks.js +2 -0
- package/core/interfaces/request-context.d.ts +28 -0
- package/core/interfaces/request-context.js +2 -0
- package/core/interfaces/request-data.d.ts +6 -0
- package/core/interfaces/request-data.js +2 -0
- package/core/interfaces/router-options.d.ts +5 -0
- package/core/interfaces/router-options.js +2 -0
- package/core/interfaces/sanitizer.d.ts +4 -0
- package/core/interfaces/sanitizer.js +2 -0
- package/core/interfaces/storage-options.d.ts +6 -0
- package/core/interfaces/storage-options.js +2 -0
- package/core/interfaces/translations-options.d.ts +7 -0
- package/core/interfaces/translations-options.js +2 -0
- package/core/interfaces/transport-options.d.ts +3 -0
- package/core/interfaces/transport-options.js +2 -0
- package/core/services/context-builder.d.ts +15 -0
- package/core/services/context-builder.js +91 -0
- package/core/services/locale-service.d.ts +13 -0
- package/core/services/locale-service.js +71 -0
- package/core/services/node-control.service.d.ts +5 -0
- package/core/services/node-control.service.js +46 -0
- package/core/services/object-loader.d.ts +10 -0
- package/core/services/object-loader.js +27 -0
- package/core/services/request-executor.d.ts +9 -0
- package/core/services/request-executor.js +108 -0
- package/core/services/request-router.d.ts +15 -0
- package/core/services/request-router.js +127 -0
- package/database/contexts/index.d.ts +1 -0
- package/database/contexts/index.js +17 -0
- package/database/contexts/transaction-context.d.ts +6 -0
- package/database/contexts/transaction-context.js +5 -0
- package/database/database.controller.d.ts +20 -0
- package/database/database.controller.js +92 -0
- package/database/decorators/column.decorator.d.ts +72 -0
- package/database/decorators/column.decorator.js +9 -0
- package/database/decorators/entity.decorator.d.ts +2 -0
- package/database/decorators/entity.decorator.js +10 -0
- package/database/decorators/id-generated.decorator.d.ts +30 -0
- package/database/decorators/id-generated.decorator.js +76 -0
- package/database/decorators/id.decorator.d.ts +13 -0
- package/database/decorators/id.decorator.js +27 -0
- package/database/decorators/index.d.ts +13 -0
- package/database/decorators/index.js +29 -0
- package/database/decorators/inject-data-source.decorator.d.ts +1 -0
- package/database/decorators/inject-data-source.decorator.js +13 -0
- package/database/decorators/inject-repository.decorator.d.ts +2 -0
- package/database/decorators/inject-repository.decorator.js +17 -0
- package/database/decorators/protect-context-column.decorator.d.ts +3 -0
- package/database/decorators/protect-context-column.decorator.js +11 -0
- package/database/decorators/protect-entity.decorator.d.ts +4 -0
- package/database/decorators/protect-entity.decorator.js +12 -0
- package/database/decorators/protect-key-column.decorator.d.ts +2 -0
- package/database/decorators/protect-key-column.decorator.js +11 -0
- package/database/decorators/protect-target-column.decorator.d.ts +3 -0
- package/database/decorators/protect-target-column.decorator.js +11 -0
- package/database/decorators/protected-entity.decorator.d.ts +8 -0
- package/database/decorators/protected-entity.decorator.js +25 -0
- package/database/decorators/relation.decorator.d.ts +3 -0
- package/database/decorators/relation.decorator.js +13 -0
- package/database/decorators/virtual-column.decorator.d.ts +4 -0
- package/database/decorators/virtual-column.decorator.js +16 -0
- package/database/environment.d.ts +21 -0
- package/database/environment.js +25 -0
- package/database/exports/index.d.ts +1 -0
- package/database/exports/index.js +17 -0
- package/database/exports/typeorm.d.ts +1 -0
- package/database/exports/typeorm.js +9 -0
- package/database/extensions/select-query-builder.d.ts +11 -0
- package/database/extensions/select-query-builder.js +21 -0
- package/database/functions/column-decorator.d.ts +6 -0
- package/database/functions/column-decorator.js +31 -0
- package/database/functions/create-entity.d.ts +7 -0
- package/database/functions/create-entity.js +51 -0
- package/database/functions/create-new-class.d.ts +1 -0
- package/database/functions/create-new-class.js +16 -0
- package/database/functions/entity-decorator.d.ts +3 -0
- package/database/functions/entity-decorator.js +29 -0
- package/database/functions/execute-if-not-exists-column.d.ts +3 -0
- package/database/functions/execute-if-not-exists-column.js +16 -0
- package/database/functions/execute-if-not-exists-table.d.ts +3 -0
- package/database/functions/execute-if-not-exists-table.js +14 -0
- package/database/functions/find-relation.d.ts +3 -0
- package/database/functions/find-relation.js +43 -0
- package/database/functions/generate-id.d.ts +2 -0
- package/database/functions/generate-id.js +14 -0
- package/database/functions/get-column-type.d.ts +3 -0
- package/database/functions/get-column-type.js +18 -0
- package/database/functions/get-id-property.d.ts +3 -0
- package/database/functions/get-id-property.js +14 -0
- package/database/functions/get-name-by-strategy.d.ts +6 -0
- package/database/functions/get-name-by-strategy.js +9 -0
- package/database/functions/get-primitive-type.d.ts +3 -0
- package/database/functions/get-primitive-type.js +8 -0
- package/database/functions/get-relations.d.ts +2 -0
- package/database/functions/get-relations.js +12 -0
- package/database/functions/has-update.d.ts +2 -0
- package/database/functions/has-update.js +7 -0
- package/database/functions/inject-repository-handle.d.ts +2 -0
- package/database/functions/inject-repository-handle.js +36 -0
- package/database/functions/object-to-jsonb.d.ts +1 -0
- package/database/functions/object-to-jsonb.js +36 -0
- package/database/functions/register-column.d.ts +7 -0
- package/database/functions/register-column.js +16 -0
- package/database/functions/register-entity.d.ts +5 -0
- package/database/functions/register-entity.js +8 -0
- package/database/functions/register-generated-id.d.ts +6 -0
- package/database/functions/register-generated-id.js +8 -0
- package/database/functions/register-id.d.ts +7 -0
- package/database/functions/register-id.js +8 -0
- package/database/functions/register-relation.d.ts +8 -0
- package/database/functions/register-relation.js +12 -0
- package/database/functions/relation-decorator.d.ts +4 -0
- package/database/functions/relation-decorator.js +74 -0
- package/database/functions/use-protector.d.ts +2 -0
- package/database/functions/use-protector.js +10 -0
- package/database/functions/use-repository.d.ts +2 -0
- package/database/functions/use-repository.js +10 -0
- package/database/functions/use-transaction.d.ts +1 -0
- package/database/functions/use-transaction.js +12 -0
- package/database/index.d.ts +16 -0
- package/database/index.js +32 -0
- package/database/interfaces/base-columns-name-override.d.ts +6 -0
- package/database/interfaces/base-columns-name-override.js +2 -0
- package/database/interfaces/column-def.d.ts +26 -0
- package/database/interfaces/column-def.js +2 -0
- package/database/interfaces/connection.options.d.ts +15 -0
- package/database/interfaces/connection.options.js +2 -0
- package/database/interfaces/direact-alias.d.ts +1 -0
- package/database/interfaces/direact-alias.js +2 -0
- package/database/interfaces/entity-object.d.ts +15 -0
- package/database/interfaces/entity-object.js +2 -0
- package/database/interfaces/entity-options.d.ts +15 -0
- package/database/interfaces/entity-options.js +2 -0
- package/database/interfaces/entity-property.d.ts +19 -0
- package/database/interfaces/entity-property.js +2 -0
- package/database/interfaces/enum/column-def-type.d.ts +5 -0
- package/database/interfaces/enum/column-def-type.js +9 -0
- package/database/interfaces/enum/index.d.ts +5 -0
- package/database/interfaces/enum/index.js +21 -0
- package/database/interfaces/enum/naming-strategy-type.d.ts +5 -0
- package/database/interfaces/enum/naming-strategy-type.js +9 -0
- package/database/interfaces/enum/nano-id-alphabet-type.d.ts +14 -0
- package/database/interfaces/enum/nano-id-alphabet-type.js +18 -0
- package/database/interfaces/enum/order-by-direction.d.ts +4 -0
- package/database/interfaces/enum/order-by-direction.js +8 -0
- package/database/interfaces/enum/primary-strategy-type.d.ts +5 -0
- package/database/interfaces/enum/primary-strategy-type.js +9 -0
- package/database/interfaces/enum/relation-path-type.d.ts +4 -0
- package/database/interfaces/enum/relation-path-type.js +8 -0
- package/database/interfaces/execute-callback.d.ts +3 -0
- package/database/interfaces/execute-callback.js +2 -0
- package/database/interfaces/id-column-def.d.ts +6 -0
- package/database/interfaces/id-column-def.js +2 -0
- package/database/interfaces/index.d.ts +17 -0
- package/database/interfaces/index.js +33 -0
- package/database/interfaces/inverse-alias.d.ts +5 -0
- package/database/interfaces/inverse-alias.js +2 -0
- package/database/interfaces/nano-id-column-options.d.ts +12 -0
- package/database/interfaces/nano-id-column-options.js +2 -0
- package/database/interfaces/path.d.ts +43 -0
- package/database/interfaces/path.js +2 -0
- package/database/interfaces/protector.d.ts +51 -0
- package/database/interfaces/protector.js +2 -0
- package/database/interfaces/register-one-to-many-handle.d.ts +3 -0
- package/database/interfaces/register-one-to-many-handle.js +2 -0
- package/database/interfaces/register-one-to-many.d.ts +6 -0
- package/database/interfaces/register-one-to-many.js +2 -0
- package/database/interfaces/relation-def.d.ts +8 -0
- package/database/interfaces/relation-def.js +2 -0
- package/database/interfaces/relation-path.d.ts +10 -0
- package/database/interfaces/relation-path.js +2 -0
- package/database/interfaces/relation.options.d.ts +9 -0
- package/database/interfaces/relation.options.js +2 -0
- package/database/interfaces/repository.d.ts +8 -0
- package/database/interfaces/repository.js +2 -0
- package/database/migrations/1737637321043-UUIDVarcharMigration.d.ts +5 -0
- package/database/migrations/1737637321043-UUIDVarcharMigration.js +81 -0
- package/database/migrations/use-uuid-varchar-migration.d.ts +2 -0
- package/database/migrations/use-uuid-varchar-migration.js +10 -0
- package/database/services/paths-builder.d.ts +12 -0
- package/database/services/paths-builder.js +82 -0
- package/database/services/protect-builder.d.ts +59 -0
- package/database/services/protect-builder.js +523 -0
- package/database/services/repository.service.d.ts +14 -0
- package/database/services/repository.service.js +75 -0
- package/forms/entities/form.d.ts +8 -0
- package/forms/entities/form.js +61 -0
- package/forms/entities/property.d.ts +7 -0
- package/forms/entities/property.js +51 -0
- package/forms/forms.controller.d.ts +8 -0
- package/forms/forms.controller.js +59 -0
- package/forms/interfaces/form-item.d.ts +5 -0
- package/forms/interfaces/form-item.js +2 -0
- package/forms/interfaces/form.d.ts +8 -0
- package/forms/interfaces/form.js +2 -0
- package/forms/interfaces/property.d.ts +6 -0
- package/forms/interfaces/property.js +2 -0
- package/forms/migrations/1725969116484-CreateFormsTables.d.ts +5 -0
- package/forms/migrations/1725969116484-CreateFormsTables.js +38 -0
- package/forms/models/form-load.request.d.ts +3 -0
- package/forms/models/form-load.request.js +21 -0
- package/forms/queries/form.query.d.ts +1 -0
- package/forms/queries/form.query.js +9 -0
- package/forms/queries/property.query.d.ts +1 -0
- package/forms/queries/property.query.js +9 -0
- package/forms/requests/form.request.d.ts +14 -0
- package/forms/requests/form.request.js +83 -0
- package/forms/requests/property.request.d.ts +8 -0
- package/forms/requests/property.request.js +65 -0
- package/forms/services/form.service.d.ts +20 -0
- package/forms/services/form.service.js +64 -0
- package/forms/services/property.service.d.ts +6 -0
- package/forms/services/property.service.js +30 -0
- package/forms/utils/build-form-validator.d.ts +11 -0
- package/forms/utils/build-form-validator.js +30 -0
- package/forms/utils/get-form-items.d.ts +2 -0
- package/forms/utils/get-form-items.js +20 -0
- package/global.d.ts +52 -0
- package/global.js +50 -0
- package/http/http.controller.d.ts +25 -0
- package/http/http.controller.js +137 -0
- package/http/index.d.ts +2 -0
- package/http/index.js +18 -0
- package/http/interfaces/csrf.options.d.ts +11 -0
- package/http/interfaces/csrf.options.js +2 -0
- package/http/interfaces/http-request.d.ts +6 -0
- package/http/interfaces/http-request.js +2 -0
- package/http/interfaces/http-response.d.ts +4 -0
- package/http/interfaces/http-response.js +3 -0
- package/http/interfaces/http-settings.d.ts +13 -0
- package/http/interfaces/http-settings.js +2 -0
- package/http/interfaces/http-use.d.ts +6 -0
- package/http/interfaces/http-use.js +2 -0
- package/http/interfaces/index.d.ts +6 -0
- package/http/interfaces/index.js +22 -0
- package/http/interfaces/route.d.ts +10 -0
- package/http/interfaces/route.js +2 -0
- package/index.d.ts +44 -0
- package/index.js +65 -0
- package/jobs/constants.d.ts +2 -0
- package/jobs/constants.js +4 -0
- package/jobs/decorators/index.d.ts +1 -0
- package/jobs/decorators/index.js +17 -0
- package/jobs/decorators/job.decorator.d.ts +11 -0
- package/jobs/decorators/job.decorator.js +26 -0
- package/jobs/interfaces/index.d.ts +3 -0
- package/jobs/interfaces/index.js +19 -0
- package/jobs/interfaces/job-data.d.ts +13 -0
- package/jobs/interfaces/job-data.js +2 -0
- package/jobs/interfaces/job-executor.d.ts +3 -0
- package/jobs/interfaces/job-executor.js +2 -0
- package/jobs/interfaces/job-object.d.ts +6 -0
- package/jobs/interfaces/job-object.js +2 -0
- package/jobs/interfaces/job.options.d.ts +1 -0
- package/jobs/interfaces/job.options.js +2 -0
- package/jobs/jobs.controller.d.ts +18 -0
- package/jobs/jobs.controller.js +122 -0
- package/module/decorators/index.d.ts +4 -0
- package/module/decorators/index.js +20 -0
- package/module/decorators/module.decorator.d.ts +2 -0
- package/module/decorators/module.decorator.js +16 -0
- package/module/decorators/on-after-app-start.d.ts +1 -0
- package/module/decorators/on-after-app-start.js +11 -0
- package/module/decorators/on-after-database-init.d.ts +1 -0
- package/module/decorators/on-after-database-init.js +11 -0
- package/module/decorators/on-module-init.d.ts +1 -0
- package/module/decorators/on-module-init.js +11 -0
- package/module/index.d.ts +3 -0
- package/module/index.js +19 -0
- package/module/interfaces/index.d.ts +3 -0
- package/module/interfaces/index.js +19 -0
- package/module/interfaces/module-events.d.ts +5 -0
- package/module/interfaces/module-events.js +2 -0
- package/module/interfaces/module-object.d.ts +7 -0
- package/module/interfaces/module-object.js +2 -0
- package/module/interfaces/module-options.d.ts +8 -0
- package/module/interfaces/module-options.js +2 -0
- package/module/module.controller.d.ts +31 -0
- package/module/module.controller.js +159 -0
- package/package.json +70 -0
- package/query/constants.d.ts +2 -0
- package/query/constants.js +5 -0
- package/query/decorators/index.d.ts +1 -0
- package/query/decorators/index.js +17 -0
- package/query/decorators/query-content.decorator.d.ts +1 -0
- package/query/decorators/query-content.decorator.js +11 -0
- package/query/functions/add-join.d.ts +5 -0
- package/query/functions/add-join.js +37 -0
- package/query/functions/create-query-builder.d.ts +4 -0
- package/query/functions/create-query-builder.js +54 -0
- package/query/functions/create-query.d.ts +5 -0
- package/query/functions/create-query.js +96 -0
- package/query/functions/describe-query-filter.d.ts +7 -0
- package/query/functions/describe-query-filter.js +298 -0
- package/query/functions/execute-query.d.ts +11 -0
- package/query/functions/execute-query.js +74 -0
- package/query/functions/get-column-path.d.ts +2 -0
- package/query/functions/get-column-path.js +14 -0
- package/query/functions/get-native-select.d.ts +2 -0
- package/query/functions/get-native-select.js +9 -0
- package/query/functions/load-properties.d.ts +19 -0
- package/query/functions/load-properties.js +138 -0
- package/query/functions/map-query-property-to-column-name.d.ts +3 -0
- package/query/functions/map-query-property-to-column-name.js +17 -0
- package/query/functions/replace-property-key-to-column-name.d.ts +1 -0
- package/query/functions/replace-property-key-to-column-name.js +10 -0
- package/query/interfaces/index.d.ts +3 -0
- package/query/interfaces/index.js +19 -0
- package/query/interfaces/query-action-options.d.ts +14 -0
- package/query/interfaces/query-action-options.js +2 -0
- package/query/interfaces/query-object.d.ts +10 -0
- package/query/interfaces/query-object.js +2 -0
- package/query/interfaces/query.d.ts +54 -0
- package/query/interfaces/query.js +2 -0
- package/query/models/base-query-response.d.ts +12 -0
- package/query/models/base-query-response.js +41 -0
- package/query/services/query-action-builder.d.ts +14 -0
- package/query/services/query-action-builder.js +145 -0
- package/security/auth.controller.d.ts +8 -0
- package/security/auth.controller.js +68 -0
- package/security/constants.d.ts +0 -0
- package/security/constants.js +2 -0
- package/security/env.d.ts +7 -0
- package/security/env.js +8 -0
- package/security/functions/add-protect.d.ts +2 -0
- package/security/functions/add-protect.js +10 -0
- package/security/functions/add-protected.d.ts +3 -0
- package/security/functions/add-protected.js +23 -0
- package/security/functions/create-authorization.d.ts +2 -0
- package/security/functions/create-authorization.js +12 -0
- package/security/functions/find-auth-context.d.ts +3 -0
- package/security/functions/find-auth-context.js +25 -0
- package/security/functions/is-auth-enabled.d.ts +1 -0
- package/security/functions/is-auth-enabled.js +7 -0
- package/security/functions/use-auth.d.ts +1 -0
- package/security/functions/use-auth.js +8 -0
- package/security/index.d.ts +3 -0
- package/security/index.js +19 -0
- package/security/interceptors/index.d.ts +1 -0
- package/security/interceptors/index.js +17 -0
- package/security/interceptors/is-authorized.interceptor.d.ts +2 -0
- package/security/interceptors/is-authorized.interceptor.js +34 -0
- package/security/interfaces/auth-controller.d.ts +7 -0
- package/security/interfaces/auth-controller.js +2 -0
- package/security/interfaces/auth-object.d.ts +6 -0
- package/security/interfaces/auth-object.js +2 -0
- package/security/interfaces/auth-property.d.ts +4 -0
- package/security/interfaces/auth-property.js +2 -0
- package/security/interfaces/authorization-schema.d.ts +26 -0
- package/security/interfaces/authorization-schema.js +2 -0
- package/security/interfaces/index.d.ts +6 -0
- package/security/interfaces/index.js +22 -0
- package/security/interfaces/security-options.d.ts +8 -0
- package/security/interfaces/security-options.js +2 -0
- package/security/interfaces/ssl-certificate.d.ts +4 -0
- package/security/interfaces/ssl-certificate.js +2 -0
- package/security/models/auth-context-data.d.ts +4 -0
- package/security/models/auth-context-data.js +25 -0
- package/security/models/auth-context.d.ts +9 -0
- package/security/models/auth-context.js +48 -0
- package/security/models/auth-key.d.ts +7 -0
- package/security/models/auth-key.js +36 -0
- package/security/models/get-user-permissions-payload.d.ts +4 -0
- package/security/models/get-user-permissions-payload.js +21 -0
- package/security/models/get-user-permissions-response.d.ts +3 -0
- package/security/models/get-user-permissions-response.js +22 -0
- package/security/models/set-user-permissions-payload.d.ts +5 -0
- package/security/models/set-user-permissions-payload.js +26 -0
- package/security/requests/security.request.d.ts +14 -0
- package/security/requests/security.request.js +75 -0
- package/security/services/authorization.service.d.ts +11 -0
- package/security/services/authorization.service.js +60 -0
- package/storage/entities/metadata.entity.d.ts +19 -0
- package/storage/entities/metadata.entity.js +86 -0
- package/storage/entities/storage.entity.d.ts +6 -0
- package/storage/entities/storage.entity.js +32 -0
- package/storage/env.d.ts +9 -0
- package/storage/env.js +9 -0
- package/storage/functions/index.d.ts +1 -0
- package/storage/functions/index.js +17 -0
- package/storage/functions/set-storage-settings.d.ts +2 -0
- package/storage/functions/set-storage-settings.js +13 -0
- package/storage/index.d.ts +2 -0
- package/storage/index.js +18 -0
- package/storage/interfaces/directory-metadata.d.ts +6 -0
- package/storage/interfaces/directory-metadata.js +2 -0
- package/storage/interfaces/enum/gcp-credentials-type.d.ts +3 -0
- package/storage/interfaces/enum/gcp-credentials-type.js +7 -0
- package/storage/interfaces/enum/index.d.ts +3 -0
- package/storage/interfaces/enum/index.js +19 -0
- package/storage/interfaces/enum/metadata-type.d.ts +4 -0
- package/storage/interfaces/enum/metadata-type.js +8 -0
- package/storage/interfaces/enum/storage-type.d.ts +3 -0
- package/storage/interfaces/enum/storage-type.js +7 -0
- package/storage/interfaces/file-metadata.d.ts +12 -0
- package/storage/interfaces/file-metadata.js +2 -0
- package/storage/interfaces/index.d.ts +7 -0
- package/storage/interfaces/index.js +23 -0
- package/storage/interfaces/metadata.d.ts +18 -0
- package/storage/interfaces/metadata.js +2 -0
- package/storage/interfaces/storage-controller.d.ts +13 -0
- package/storage/interfaces/storage-controller.js +2 -0
- package/storage/interfaces/storage-settings.d.ts +16 -0
- package/storage/interfaces/storage-settings.js +2 -0
- package/storage/interfaces/storage.d.ts +7 -0
- package/storage/interfaces/storage.js +2 -0
- package/storage/services/routes.service.d.ts +31 -0
- package/storage/services/routes.service.js +384 -0
- package/storage/services/storage.service.d.ts +10 -0
- package/storage/services/storage.service.js +92 -0
- package/storage/storage.controller.d.ts +10 -0
- package/storage/storage.controller.js +49 -0
- package/tasks/constants.d.ts +12 -0
- package/tasks/constants.js +21 -0
- package/tasks/decorators/index.d.ts +1 -0
- package/tasks/decorators/index.js +17 -0
- package/tasks/decorators/task.decorator.d.ts +2 -0
- package/tasks/decorators/task.decorator.js +45 -0
- package/tasks/functions/create-task-message-find.d.ts +3 -0
- package/tasks/functions/create-task-message-find.js +23 -0
- package/tasks/functions/create-task-message-model.d.ts +3 -0
- package/tasks/functions/create-task-message-model.js +11 -0
- package/tasks/functions/create-task-message-receptor.d.ts +3 -0
- package/tasks/functions/create-task-message-receptor.js +23 -0
- package/tasks/functions/create-task-message-retry.d.ts +3 -0
- package/tasks/functions/create-task-message-retry.js +22 -0
- package/tasks/functions/create-task-message-schema.d.ts +182 -0
- package/tasks/functions/create-task-message-schema.js +20 -0
- package/tasks/functions/create-task-message-trigger.d.ts +2 -0
- package/tasks/functions/create-task-message-trigger.js +18 -0
- package/tasks/functions/create-task-naming.d.ts +2 -0
- package/tasks/functions/create-task-naming.js +31 -0
- package/tasks/functions/generate-entity-id.d.ts +1 -0
- package/tasks/functions/generate-entity-id.js +5 -0
- package/tasks/functions/get-check-table-exists-script.d.ts +1 -0
- package/tasks/functions/get-check-table-exists-script.js +12 -0
- package/tasks/functions/get-create-table-partition-script.d.ts +2 -0
- package/tasks/functions/get-create-table-partition-script.js +10 -0
- package/tasks/functions/get-create-table-script.d.ts +1 -0
- package/tasks/functions/get-create-table-script.js +22 -0
- package/tasks/functions/get-database-connection-name.d.ts +1 -0
- package/tasks/functions/get-database-connection-name.js +8 -0
- package/tasks/functions/get-database-uri.d.ts +1 -0
- package/tasks/functions/get-database-uri.js +8 -0
- package/tasks/functions/get-partitions-of-table-script.d.ts +1 -0
- package/tasks/functions/get-partitions-of-table-script.js +10 -0
- package/tasks/functions/get-pending-task-script.d.ts +2 -0
- package/tasks/functions/get-pending-task-script.js +19 -0
- package/tasks/functions/parse-task-message-search.d.ts +20 -0
- package/tasks/functions/parse-task-message-search.js +62 -0
- package/tasks/functions/throw-task-error.d.ts +1 -0
- package/tasks/functions/throw-task-error.js +7 -0
- package/tasks/index.d.ts +3 -0
- package/tasks/index.js +19 -0
- package/tasks/interfaces/index.d.ts +6 -0
- package/tasks/interfaces/index.js +22 -0
- package/tasks/interfaces/task-naming.d.ts +11 -0
- package/tasks/interfaces/task-naming.js +2 -0
- package/tasks/interfaces/task-object.d.ts +17 -0
- package/tasks/interfaces/task-object.js +2 -0
- package/tasks/interfaces/task-post-intercept.d.ts +8 -0
- package/tasks/interfaces/task-post-intercept.js +2 -0
- package/tasks/interfaces/task-runner.d.ts +6 -0
- package/tasks/interfaces/task-runner.js +2 -0
- package/tasks/interfaces/task-search-intercept.d.ts +4 -0
- package/tasks/interfaces/task-search-intercept.js +2 -0
- package/tasks/interfaces/task-settings.d.ts +15 -0
- package/tasks/interfaces/task-settings.js +2 -0
- package/tasks/models/task-error.d.ts +8 -0
- package/tasks/models/task-error.js +40 -0
- package/tasks/models/task-message-find.d.ts +3 -0
- package/tasks/models/task-message-find.js +21 -0
- package/tasks/models/task-message.d.ts +13 -0
- package/tasks/models/task-message.js +57 -0
- package/tasks/requests/task.request.d.ts +17 -0
- package/tasks/requests/task.request.js +71 -0
- package/tasks/services/task-manager.service.d.ts +10 -0
- package/tasks/services/task-manager.service.js +60 -0
- package/tasks/services/task-runner.service.d.ts +16 -0
- package/tasks/services/task-runner.service.js +88 -0
- package/tasks/tasks.controller.d.ts +19 -0
- package/tasks/tasks.controller.js +75 -0
- package/translations/entities/translation-config.entity.d.ts +9 -0
- package/translations/entities/translation-config.entity.js +65 -0
- package/translations/entities/translation-values.entity.d.ts +10 -0
- package/translations/entities/translation-values.entity.js +53 -0
- package/translations/env.d.ts +2 -0
- package/translations/env.js +7 -0
- package/translations/functions/check-can-use.d.ts +1 -0
- package/translations/functions/check-can-use.js +10 -0
- package/translations/functions/create-translation-config.d.ts +3 -0
- package/translations/functions/create-translation-config.js +19 -0
- package/translations/functions/create-translation-values.d.ts +3 -0
- package/translations/functions/create-translation-values.js +22 -0
- package/translations/functions/get-translation-config.d.ts +3 -0
- package/translations/functions/get-translation-config.js +14 -0
- package/translations/interfaces/translation-config.d.ts +8 -0
- package/translations/interfaces/translation-config.js +2 -0
- package/translations/interfaces/translation-values.d.ts +9 -0
- package/translations/interfaces/translation-values.js +2 -0
- package/translations/interfaces/translator-handle.d.ts +4 -0
- package/translations/interfaces/translator-handle.js +2 -0
- package/translations/migrations/1723760669185-CreateTranslationTables.d.ts +5 -0
- package/translations/migrations/1723760669185-CreateTranslationTables.js +43 -0
- package/translations/models/get-values.request.d.ts +5 -0
- package/translations/models/get-values.request.js +25 -0
- package/translations/models/get-values.response.d.ts +4 -0
- package/translations/models/get-values.response.js +20 -0
- package/translations/queries/translation-config.query.d.ts +1 -0
- package/translations/queries/translation-config.query.js +9 -0
- package/translations/queries/translation-values.query.d.ts +1 -0
- package/translations/queries/translation-values.query.js +16 -0
- package/translations/requests/translation.request.d.ts +16 -0
- package/translations/requests/translation.request.js +99 -0
- package/translations/services/translations.service.d.ts +11 -0
- package/translations/services/translations.service.js +56 -0
- package/translations/services/translator.service.d.ts +11 -0
- package/translations/services/translator.service.js +56 -0
- package/translations/translations.controller.d.ts +8 -0
- package/translations/translations.controller.js +57 -0
- package/transport/entities/transport-client.d.ts +12 -0
- package/transport/entities/transport-client.js +67 -0
- package/transport/entities/transport-gateway-status.d.ts +9 -0
- package/transport/entities/transport-gateway-status.js +51 -0
- package/transport/entities/transport-gateway.d.ts +6 -0
- package/transport/entities/transport-gateway.js +35 -0
- package/transport/environment.d.ts +4 -0
- package/transport/environment.js +6 -0
- package/transport/index.d.ts +2 -0
- package/transport/index.js +18 -0
- package/transport/interfaces/index.d.ts +1 -0
- package/transport/interfaces/index.js +17 -0
- package/transport/interfaces/transport-module-options.d.ts +14 -0
- package/transport/interfaces/transport-module-options.js +8 -0
- package/transport/transport.module.d.ts +5 -0
- package/transport/transport.module.js +38 -0
- package/web-socket/constants.d.ts +1 -0
- package/web-socket/constants.js +4 -0
- package/web-socket/functions/encode-message.d.ts +2 -0
- package/web-socket/functions/encode-message.js +14 -0
- package/web-socket/functions/get-fake-http-context.d.ts +26 -0
- package/web-socket/functions/get-fake-http-context.js +55 -0
- package/web-socket/functions/get-ip-address.d.ts +1 -0
- package/web-socket/functions/get-ip-address.js +23 -0
- package/web-socket/functions/parse-message.d.ts +1 -0
- package/web-socket/functions/parse-message.js +10 -0
- package/web-socket/index.d.ts +5 -0
- package/web-socket/index.js +21 -0
- package/web-socket/interfaces/client.d.ts +15 -0
- package/web-socket/interfaces/client.js +2 -0
- package/web-socket/interfaces/enum/client-type.d.ts +4 -0
- package/web-socket/interfaces/enum/client-type.js +8 -0
- package/web-socket/interfaces/enum/index.d.ts +3 -0
- package/web-socket/interfaces/enum/index.js +19 -0
- package/web-socket/interfaces/enum/message-type.d.ts +6 -0
- package/web-socket/interfaces/enum/message-type.js +10 -0
- package/web-socket/interfaces/enum/ws-connection-type.d.ts +4 -0
- package/web-socket/interfaces/enum/ws-connection-type.js +8 -0
- package/web-socket/interfaces/index.d.ts +4 -0
- package/web-socket/interfaces/index.js +20 -0
- package/web-socket/interfaces/message.d.ts +30 -0
- package/web-socket/interfaces/message.js +2 -0
- package/web-socket/interfaces/ws-connection.d.ts +4 -0
- package/web-socket/interfaces/ws-connection.js +2 -0
- package/web-socket/web-socket.controller.d.ts +25 -0
- package/web-socket/web-socket.controller.js +184 -0
- package/workers/functions/decode-message.d.ts +2 -0
- package/workers/functions/decode-message.js +7 -0
- package/workers/functions/dispatch-task.d.ts +2 -0
- package/workers/functions/dispatch-task.js +23 -0
- package/workers/functions/encode-message.d.ts +2 -0
- package/workers/functions/encode-message.js +7 -0
- package/workers/interfaces/enum/index.d.ts +1 -0
- package/workers/interfaces/enum/index.js +17 -0
- package/workers/interfaces/enum/worker-message-type.d.ts +6 -0
- package/workers/interfaces/enum/worker-message-type.js +10 -0
- package/workers/interfaces/index.d.ts +3 -0
- package/workers/interfaces/index.js +19 -0
- package/workers/interfaces/worker-data.d.ts +9 -0
- package/workers/interfaces/worker-data.js +2 -0
- package/workers/interfaces/worker-message.d.ts +20 -0
- package/workers/interfaces/worker-message.js +2 -0
- package/workers/workers.controller.d.ts +6 -0
- package/workers/workers.controller.js +72 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.RestfulActionBuilder = void 0;
|
|
16
|
+
const class_injector_1 = require("@rockster/class-injector");
|
|
17
|
+
const create_interceptor_1 = require("../../core/functions/create-interceptor");
|
|
18
|
+
const request_interceptor_1 = require("../interfaces/enum/request-interceptor");
|
|
19
|
+
const interceptor_1 = require("../../core/interfaces/interceptor");
|
|
20
|
+
const path_1 = __importDefault(require("path"));
|
|
21
|
+
const http_controller_1 = require("../../http/http.controller");
|
|
22
|
+
const common_1 = require("@rockster/common");
|
|
23
|
+
const constants_1 = require("../constants");
|
|
24
|
+
const class_pipe_1 = require("@rockster/class-pipe");
|
|
25
|
+
const web_socket_1 = require("../../web-socket");
|
|
26
|
+
const use_auth_1 = require("../../security/functions/use-auth");
|
|
27
|
+
let RestfulActionBuilder = class RestfulActionBuilder {
|
|
28
|
+
constructor(httpController) {
|
|
29
|
+
this.httpController = httpController;
|
|
30
|
+
}
|
|
31
|
+
async create(object) {
|
|
32
|
+
const data = await (0, class_injector_1.createExecutors)(object.objectClass);
|
|
33
|
+
const properties = core
|
|
34
|
+
.storage
|
|
35
|
+
.getProperties(object.objectClass)
|
|
36
|
+
.filter((property) => {
|
|
37
|
+
return property.isRestful;
|
|
38
|
+
});
|
|
39
|
+
for (const property of properties) {
|
|
40
|
+
const isSecure = !property.public;
|
|
41
|
+
const fullPath = path_1.default.join(object.path, property.path);
|
|
42
|
+
const onBeforeValidationFilter = [request_interceptor_1.requestInterceptor.onBeforeValidation];
|
|
43
|
+
const onBeforeExecuteFilter = [interceptor_1.commonInterceptor.onBeforeExecute];
|
|
44
|
+
const onAfterExecuteFilter = [interceptor_1.commonInterceptor.onAfterExecute];
|
|
45
|
+
const onBeforeValidation = (0, create_interceptor_1.createExecuteInterceptors)(onBeforeValidationFilter, object, property);
|
|
46
|
+
const onBeforeExecute = (0, create_interceptor_1.createExecuteInterceptors)(onBeforeExecuteFilter, object, property);
|
|
47
|
+
const onAfterExecute = (0, create_interceptor_1.createExecuteInterceptors)(onAfterExecuteFilter, object, property);
|
|
48
|
+
const httpMethod = property.httpMethod;
|
|
49
|
+
property.fullPath = !fullPath.startsWith('/') ? `/${fullPath}` : fullPath;
|
|
50
|
+
this.httpController.addRoute(httpMethod, property.fullPath, async (req, res) => {
|
|
51
|
+
try {
|
|
52
|
+
let session = null;
|
|
53
|
+
if (isSecure && !req.isWs)
|
|
54
|
+
session = await (0, use_auth_1.useAuth)().httpInterceptor(req);
|
|
55
|
+
if (req.isWs)
|
|
56
|
+
session = req.session;
|
|
57
|
+
const initialData = {
|
|
58
|
+
[constants_1.SESSION_KEY]: session,
|
|
59
|
+
[constants_1.REQUEST_KEY]: req,
|
|
60
|
+
[constants_1.RESPONSE_KEY]: res,
|
|
61
|
+
[web_socket_1.WS_CLIENT_KEY]: req
|
|
62
|
+
};
|
|
63
|
+
await onBeforeValidation({ property, req, res });
|
|
64
|
+
const headers = req.headers;
|
|
65
|
+
const params = req.params;
|
|
66
|
+
const query = req.query;
|
|
67
|
+
const body = req.body;
|
|
68
|
+
await this.buildPartData(property, 'headers', constants_1.FROM_HEADERS_KEY, property.fromHeaders, property.fromHeadersFields, initialData, headers);
|
|
69
|
+
await this.buildPartData(property, `params:${fullPath}`, constants_1.FROM_PARAMS_KEY, property.fromParams, property.fromParamsFields, initialData, params);
|
|
70
|
+
await this.buildPartData(property, 'query', constants_1.FROM_QUERY_KEY, property.fromQuery, property.fromQueryFields, initialData, query);
|
|
71
|
+
await this.buildPartData(property, 'body', constants_1.FROM_BODY_KEY, property.fromBody, property.fromBodyFields, initialData, body);
|
|
72
|
+
await onBeforeExecute({ property, req, res });
|
|
73
|
+
const handle = data.executors[property.propertyKey].handle;
|
|
74
|
+
const result = await handle(initialData);
|
|
75
|
+
const responseStatus = property.responseHttpStatus ?? common_1.HttpStatus.ok;
|
|
76
|
+
if (property.hasResponse && property.responseType === 'json') {
|
|
77
|
+
res.status(responseStatus).json(result);
|
|
78
|
+
}
|
|
79
|
+
else if (property.hasResponse && property.responseType === 'typed') {
|
|
80
|
+
const responseType = property.getResponseType();
|
|
81
|
+
const responseData = property.isResponseArray
|
|
82
|
+
? await Promise.all(result.map(item => (0, class_pipe_1.transform)({
|
|
83
|
+
target: responseType,
|
|
84
|
+
values: item,
|
|
85
|
+
groups: property.exposeGroups
|
|
86
|
+
})))
|
|
87
|
+
: await (0, class_pipe_1.transform)({
|
|
88
|
+
target: responseType,
|
|
89
|
+
values: result,
|
|
90
|
+
groups: property.exposeGroups
|
|
91
|
+
});
|
|
92
|
+
res.status(responseStatus).json(responseData);
|
|
93
|
+
}
|
|
94
|
+
else if (!property.customResponse) {
|
|
95
|
+
res.sendStatus(responseStatus);
|
|
96
|
+
}
|
|
97
|
+
res.on('close', async () => {
|
|
98
|
+
await onAfterExecute({ result, property, req, res }, true);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
const code = error.httpCode || common_1.HttpStatus.internalServerError;
|
|
103
|
+
const body = code === common_1.HttpStatus.internalServerError ? null : error;
|
|
104
|
+
res.status(code).json(body);
|
|
105
|
+
core.options?.onRequestError?.apply(this, [error]);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async buildPartData(property, targetName, targetKey, target, targetFields, initialData, values = {}) {
|
|
111
|
+
if (target) {
|
|
112
|
+
let sanitized = {};
|
|
113
|
+
const errors = await (0, class_pipe_1.validate)(target, values, sanitized, { groups: property.validateGroups });
|
|
114
|
+
if (errors) {
|
|
115
|
+
errors.target = targetName;
|
|
116
|
+
throw errors;
|
|
117
|
+
}
|
|
118
|
+
;
|
|
119
|
+
initialData[targetKey] = sanitized;
|
|
120
|
+
}
|
|
121
|
+
if (targetFields?.length > 0) {
|
|
122
|
+
targetFields.forEach((field) => {
|
|
123
|
+
initialData[`${targetKey}:${field}`] = values[field];
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
};
|
|
128
|
+
exports.RestfulActionBuilder = RestfulActionBuilder;
|
|
129
|
+
exports.RestfulActionBuilder = RestfulActionBuilder = __decorate([
|
|
130
|
+
(0, class_injector_1.Injectable)(),
|
|
131
|
+
__metadata("design:paramtypes", [http_controller_1.HttpController])
|
|
132
|
+
], RestfulActionBuilder);
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import '../global';
|
|
2
|
+
import { Logger } from "@rockster/logger";
|
|
3
|
+
import { ModuleController } from '../module/module.controller';
|
|
4
|
+
import { DatabaseController } from '../database/database.controller';
|
|
5
|
+
import { HttpController } from '../http/http.controller';
|
|
6
|
+
import { CacheController } from '../cache/cache.controller';
|
|
7
|
+
import { Instantiable } from '@rockster/common';
|
|
8
|
+
import { CoreOptions } from './interfaces';
|
|
9
|
+
import { WebSocketController } from '../web-socket';
|
|
10
|
+
import { Server } from 'http';
|
|
11
|
+
import { RequestRouter } from './services/request-router';
|
|
12
|
+
import { AuthController } from '../security/auth.controller';
|
|
13
|
+
import { StorageController } from '../storage';
|
|
14
|
+
import { JobsController } from '../jobs/jobs.controller';
|
|
15
|
+
import { WorkersController } from '../workers/workers.controller';
|
|
16
|
+
import { NodeControlService } from './services/node-control.service';
|
|
17
|
+
import { TranslationsController } from '../translations/translations.controller';
|
|
18
|
+
import { FormsController } from '../forms/forms.controller';
|
|
19
|
+
import { TasksController } from '../tasks/tasks.controller';
|
|
20
|
+
export declare class CoreController {
|
|
21
|
+
protected moduleController: ModuleController;
|
|
22
|
+
protected databaseController: DatabaseController;
|
|
23
|
+
protected cacheController: CacheController;
|
|
24
|
+
protected httpController: HttpController;
|
|
25
|
+
protected webSocketController: WebSocketController;
|
|
26
|
+
protected actionRouter: RequestRouter;
|
|
27
|
+
protected authController: AuthController;
|
|
28
|
+
protected storageController: StorageController;
|
|
29
|
+
protected jobsController: JobsController;
|
|
30
|
+
protected workersController: WorkersController;
|
|
31
|
+
protected nodeControlService: NodeControlService;
|
|
32
|
+
protected translationsController: TranslationsController;
|
|
33
|
+
protected formsController: FormsController;
|
|
34
|
+
protected tasksController: TasksController;
|
|
35
|
+
protected logger: Logger;
|
|
36
|
+
constructor(moduleController: ModuleController, databaseController: DatabaseController, cacheController: CacheController, httpController: HttpController, webSocketController: WebSocketController, actionRouter: RequestRouter, authController: AuthController, storageController: StorageController, jobsController: JobsController, workersController: WorkersController, nodeControlService: NodeControlService, translationsController: TranslationsController, formsController: FormsController, tasksController: TasksController);
|
|
37
|
+
init(module: Instantiable, options: CoreOptions): Promise<void>;
|
|
38
|
+
protected initAsMain(module: Instantiable, port: number): Promise<void>;
|
|
39
|
+
protected initAsWorker(module: Instantiable): Promise<void>;
|
|
40
|
+
protected enableWebSocket(server: Server): Promise<void>;
|
|
41
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.CoreController = void 0;
|
|
16
|
+
require("../global");
|
|
17
|
+
const logger_1 = require("@rockster/logger");
|
|
18
|
+
const module_controller_1 = require("../module/module.controller");
|
|
19
|
+
const database_controller_1 = require("../database/database.controller");
|
|
20
|
+
const http_controller_1 = require("../http/http.controller");
|
|
21
|
+
const cache_controller_1 = require("../cache/cache.controller");
|
|
22
|
+
const web_socket_1 = require("../web-socket");
|
|
23
|
+
const request_router_1 = require("./services/request-router");
|
|
24
|
+
const locale_service_1 = require("./services/locale-service");
|
|
25
|
+
const auth_controller_1 = require("../security/auth.controller");
|
|
26
|
+
const storage_1 = require("../storage");
|
|
27
|
+
const jobs_controller_1 = require("../jobs/jobs.controller");
|
|
28
|
+
const workers_controller_1 = require("../workers/workers.controller");
|
|
29
|
+
const encode_message_1 = require("../workers/functions/encode-message");
|
|
30
|
+
const interfaces_1 = require("../workers/interfaces");
|
|
31
|
+
const decode_message_1 = require("../workers/functions/decode-message");
|
|
32
|
+
const node_control_service_1 = require("./services/node-control.service");
|
|
33
|
+
const translations_controller_1 = require("../translations/translations.controller");
|
|
34
|
+
const forms_controller_1 = require("../forms/forms.controller");
|
|
35
|
+
const tasks_controller_1 = require("../tasks/tasks.controller");
|
|
36
|
+
const class_injector_1 = require("@rockster/class-injector");
|
|
37
|
+
const global_1 = require("../global");
|
|
38
|
+
const worker_threads_1 = require("worker_threads");
|
|
39
|
+
const radash_1 = require("radash");
|
|
40
|
+
let CoreController = class CoreController {
|
|
41
|
+
constructor(moduleController, databaseController, cacheController, httpController, webSocketController, actionRouter, authController, storageController, jobsController, workersController, nodeControlService, translationsController, formsController, tasksController) {
|
|
42
|
+
this.moduleController = moduleController;
|
|
43
|
+
this.databaseController = databaseController;
|
|
44
|
+
this.cacheController = cacheController;
|
|
45
|
+
this.httpController = httpController;
|
|
46
|
+
this.webSocketController = webSocketController;
|
|
47
|
+
this.actionRouter = actionRouter;
|
|
48
|
+
this.authController = authController;
|
|
49
|
+
this.storageController = storageController;
|
|
50
|
+
this.jobsController = jobsController;
|
|
51
|
+
this.workersController = workersController;
|
|
52
|
+
this.nodeControlService = nodeControlService;
|
|
53
|
+
this.translationsController = translationsController;
|
|
54
|
+
this.formsController = formsController;
|
|
55
|
+
this.tasksController = tasksController;
|
|
56
|
+
this.logger = new logger_1.Logger('Core');
|
|
57
|
+
}
|
|
58
|
+
async init(module, options) {
|
|
59
|
+
core.options = options;
|
|
60
|
+
core.locale = await (0, class_injector_1.createInstance)(locale_service_1.LocaleService);
|
|
61
|
+
if (!worker_threads_1.isMainThread) {
|
|
62
|
+
return this.initAsWorker(module);
|
|
63
|
+
}
|
|
64
|
+
if (!core.options.port) {
|
|
65
|
+
core.options.port = 4000;
|
|
66
|
+
}
|
|
67
|
+
if (options.workers) {
|
|
68
|
+
await this
|
|
69
|
+
.workersController
|
|
70
|
+
.init(options.workers);
|
|
71
|
+
}
|
|
72
|
+
return this.initAsMain(module, core.options.port);
|
|
73
|
+
}
|
|
74
|
+
async initAsMain(module, port) {
|
|
75
|
+
// Vars
|
|
76
|
+
const protocols = ['http'];
|
|
77
|
+
// Load Modules
|
|
78
|
+
const events = await this.moduleController.load(module);
|
|
79
|
+
await Promise.all(Object
|
|
80
|
+
.getOwnPropertyNames(core.interceptors)
|
|
81
|
+
.map(async (property) => {
|
|
82
|
+
const interceptor = core.interceptors[property];
|
|
83
|
+
interceptor.instance = await (0, class_injector_1.createInstance)(interceptor.executor);
|
|
84
|
+
}));
|
|
85
|
+
// Init storage, translations and forms
|
|
86
|
+
await this.storageController.start();
|
|
87
|
+
await this.translationsController.start();
|
|
88
|
+
await this.formsController.start();
|
|
89
|
+
await this.tasksController.start();
|
|
90
|
+
// Init dabatase and cache connection
|
|
91
|
+
await this.databaseController.initialize();
|
|
92
|
+
await this.cacheController.initialize();
|
|
93
|
+
for (const event of events) {
|
|
94
|
+
await event.onAfterDatabaseInit();
|
|
95
|
+
}
|
|
96
|
+
// Auth
|
|
97
|
+
if (core.options.security?.controller) {
|
|
98
|
+
const controller = core
|
|
99
|
+
.options
|
|
100
|
+
.security
|
|
101
|
+
.controller;
|
|
102
|
+
await this
|
|
103
|
+
.authController
|
|
104
|
+
.active(controller);
|
|
105
|
+
}
|
|
106
|
+
if (core.isAuthRequired && !core.isAuthEnabled) {
|
|
107
|
+
this.logger.throw(new Error('To use entities protector you need active authentication with @Authentication'));
|
|
108
|
+
}
|
|
109
|
+
// Init jobs
|
|
110
|
+
await this.jobsController.init();
|
|
111
|
+
// Http service
|
|
112
|
+
await this.actionRouter.start(this.httpController);
|
|
113
|
+
const server = await this.httpController.listen(port);
|
|
114
|
+
// WebSocket service
|
|
115
|
+
if (core.options.router) {
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
protocols.push('webSocket');
|
|
119
|
+
await this.enableWebSocket(server);
|
|
120
|
+
}
|
|
121
|
+
for (const event of events) {
|
|
122
|
+
await event.onAfterAppStart();
|
|
123
|
+
}
|
|
124
|
+
await this
|
|
125
|
+
.nodeControlService
|
|
126
|
+
.registerNode();
|
|
127
|
+
const actions = {};
|
|
128
|
+
core.actions.forEach((action) => {
|
|
129
|
+
const name = (0, radash_1.camel)(action
|
|
130
|
+
.objectClass
|
|
131
|
+
.name
|
|
132
|
+
.replace(/request/gi, '')
|
|
133
|
+
.replace(/controller/gi, ''));
|
|
134
|
+
if (!actions[name])
|
|
135
|
+
actions[name] = [];
|
|
136
|
+
actions[name].push(action);
|
|
137
|
+
});
|
|
138
|
+
Object.getOwnPropertyNames(actions).forEach((objectKey) => {
|
|
139
|
+
this.logger.log(`Actions $${objectKey}.{${actions[objectKey].map((action) => action.name).join(',')}} loaded`);
|
|
140
|
+
});
|
|
141
|
+
this.logger.log(`Application started [${protocols}] on port {${port}}`);
|
|
142
|
+
}
|
|
143
|
+
async initAsWorker(module) {
|
|
144
|
+
// Load Modules
|
|
145
|
+
await this.moduleController.load(module, false);
|
|
146
|
+
await Promise.all(Object
|
|
147
|
+
.getOwnPropertyNames(core.interceptors)
|
|
148
|
+
.map(async (property) => {
|
|
149
|
+
const interceptor = core.interceptors[property];
|
|
150
|
+
const executor = interceptor.executor;
|
|
151
|
+
interceptor.instance = await (0, class_injector_1.createInstance)(executor);
|
|
152
|
+
}));
|
|
153
|
+
// Init dabatase and cache connection
|
|
154
|
+
await this.databaseController.initialize();
|
|
155
|
+
await this.cacheController.initialize();
|
|
156
|
+
// Config jobs
|
|
157
|
+
await this.jobsController.configJobs();
|
|
158
|
+
await this.tasksController.start();
|
|
159
|
+
worker_threads_1.parentPort.postMessage((0, encode_message_1.encodeMessage)({
|
|
160
|
+
type: interfaces_1.WorkerMessageType.done
|
|
161
|
+
}));
|
|
162
|
+
// Try messages
|
|
163
|
+
worker_threads_1.parentPort.on('message', async (value) => {
|
|
164
|
+
const message = (0, decode_message_1.decodeMessage)(value);
|
|
165
|
+
switch (message.type) {
|
|
166
|
+
case interfaces_1.WorkerMessageType.initRun:
|
|
167
|
+
const error = await this
|
|
168
|
+
.jobsController
|
|
169
|
+
.execute(message.jobName);
|
|
170
|
+
worker_threads_1.parentPort.postMessage((0, encode_message_1.encodeMessage)({
|
|
171
|
+
type: interfaces_1.WorkerMessageType.finishRun,
|
|
172
|
+
jobName: message.jobName,
|
|
173
|
+
error: error
|
|
174
|
+
}));
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
async enableWebSocket(server) {
|
|
180
|
+
await this.webSocketController.start(server);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
exports.CoreController = CoreController;
|
|
184
|
+
__decorate([
|
|
185
|
+
(0, class_injector_1.OnCreate)(),
|
|
186
|
+
__param(0, (0, class_injector_1.Inject)(global_1.MAIN_MODULE)),
|
|
187
|
+
__param(1, (0, class_injector_1.Inject)(global_1.CORE_OPTIONS)),
|
|
188
|
+
__metadata("design:type", Function),
|
|
189
|
+
__metadata("design:paramtypes", [Object, Object]),
|
|
190
|
+
__metadata("design:returntype", Promise)
|
|
191
|
+
], CoreController.prototype, "init", null);
|
|
192
|
+
exports.CoreController = CoreController = __decorate([
|
|
193
|
+
(0, class_injector_1.Injectable)(),
|
|
194
|
+
__metadata("design:paramtypes", [module_controller_1.ModuleController,
|
|
195
|
+
database_controller_1.DatabaseController,
|
|
196
|
+
cache_controller_1.CacheController,
|
|
197
|
+
http_controller_1.HttpController,
|
|
198
|
+
web_socket_1.WebSocketController,
|
|
199
|
+
request_router_1.RequestRouter,
|
|
200
|
+
auth_controller_1.AuthController,
|
|
201
|
+
storage_1.StorageController,
|
|
202
|
+
jobs_controller_1.JobsController,
|
|
203
|
+
workers_controller_1.WorkersController,
|
|
204
|
+
node_control_service_1.NodeControlService,
|
|
205
|
+
translations_controller_1.TranslationsController,
|
|
206
|
+
forms_controller_1.FormsController,
|
|
207
|
+
tasks_controller_1.TasksController])
|
|
208
|
+
], CoreController);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bootstrap = void 0;
|
|
4
|
+
const class_injector_1 = require("@rockster/class-injector");
|
|
5
|
+
const core_controller_1 = require("../core.controller");
|
|
6
|
+
const global_1 = require("../../global");
|
|
7
|
+
const bootstrap = async (module, options) => {
|
|
8
|
+
await (0, class_injector_1.createInstance)(core_controller_1.CoreController, {
|
|
9
|
+
[global_1.CORE_OPTIONS]: options,
|
|
10
|
+
[global_1.MAIN_MODULE]: module
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
exports.bootstrap = bootstrap;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAction = void 0;
|
|
4
|
+
const logger_1 = require("@rockster/logger");
|
|
5
|
+
const createAction = (action) => {
|
|
6
|
+
const logger = new logger_1.Logger(action
|
|
7
|
+
.objectClass
|
|
8
|
+
.name);
|
|
9
|
+
const exists = core
|
|
10
|
+
.actionsByPath[action.path];
|
|
11
|
+
if (exists) {
|
|
12
|
+
logger.throw(new Error(`Action [${action.name}] already exists in [${exists.objectClass.name}]`));
|
|
13
|
+
}
|
|
14
|
+
core.actions.push(action);
|
|
15
|
+
core.actionsByPath[action.path] = action;
|
|
16
|
+
return action;
|
|
17
|
+
};
|
|
18
|
+
exports.createAction = createAction;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ExecuteInterceptorHandle, IObject, IProperty, Interceptor } from "../interfaces";
|
|
2
|
+
type Decorator = {
|
|
3
|
+
(interceptor: Interceptor, params?: any): (target: any, propertyKey?: string) => void;
|
|
4
|
+
};
|
|
5
|
+
export declare const createInterceptor: {
|
|
6
|
+
only: (interceptor: Interceptor) => () => (target: any, propertyKey?: string) => void;
|
|
7
|
+
withParams: <T>(interceptor: Interceptor) => (params: T) => (target: any, propertyKey?: string) => void;
|
|
8
|
+
withOptionalParams: <T>(interceptor: Interceptor) => (params?: T) => (target: any, propertyKey?: string) => void;
|
|
9
|
+
custom: <T>(interceptor: Interceptor, callback: (decorator: Decorator, interceptor: Interceptor) => T) => T;
|
|
10
|
+
};
|
|
11
|
+
export declare const createExecuteInterceptors: (filters: string[], object: IObject, property?: IProperty) => ExecuteInterceptorHandle;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createExecuteInterceptors = exports.createInterceptor = void 0;
|
|
4
|
+
const decorator = (interceptor, params) => {
|
|
5
|
+
return (target, propertyKey) => {
|
|
6
|
+
if (propertyKey) {
|
|
7
|
+
const property = core
|
|
8
|
+
.storage
|
|
9
|
+
.createProperty(target, propertyKey);
|
|
10
|
+
property.interceptors.push({
|
|
11
|
+
name: interceptor.name,
|
|
12
|
+
params
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
const object = core
|
|
17
|
+
.storage
|
|
18
|
+
.createObject(target);
|
|
19
|
+
object.interceptors.push({
|
|
20
|
+
name: interceptor.name,
|
|
21
|
+
params
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
const registerInterceptor = (interceptor) => {
|
|
27
|
+
core.interceptors[interceptor.name] = interceptor;
|
|
28
|
+
};
|
|
29
|
+
exports.createInterceptor = {
|
|
30
|
+
only: (interceptor) => {
|
|
31
|
+
registerInterceptor(interceptor);
|
|
32
|
+
return () => decorator(interceptor);
|
|
33
|
+
},
|
|
34
|
+
withParams: (interceptor) => {
|
|
35
|
+
registerInterceptor(interceptor);
|
|
36
|
+
return (params) => decorator(interceptor, params);
|
|
37
|
+
},
|
|
38
|
+
withOptionalParams: (interceptor) => {
|
|
39
|
+
registerInterceptor(interceptor);
|
|
40
|
+
return (params) => decorator(interceptor, params);
|
|
41
|
+
},
|
|
42
|
+
custom: (interceptor, callback) => {
|
|
43
|
+
registerInterceptor(interceptor);
|
|
44
|
+
return callback(decorator, interceptor);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const createExecuteInterceptors = (filters, object, property) => {
|
|
48
|
+
const filter = (interceptorToExecute) => {
|
|
49
|
+
const interceptor = core
|
|
50
|
+
.interceptors[interceptorToExecute.name];
|
|
51
|
+
const isExists = filters
|
|
52
|
+
.filter((search) => {
|
|
53
|
+
return interceptor
|
|
54
|
+
.filters
|
|
55
|
+
.find((filter) => search === filter);
|
|
56
|
+
});
|
|
57
|
+
return isExists.length > 0;
|
|
58
|
+
};
|
|
59
|
+
const executes = [
|
|
60
|
+
...object.interceptors.filter(filter),
|
|
61
|
+
...property ? property.interceptors.filter(filter) : []
|
|
62
|
+
];
|
|
63
|
+
return async (args, isAfter = false) => {
|
|
64
|
+
for (const execute of executes) {
|
|
65
|
+
const currentArgs = {
|
|
66
|
+
...args,
|
|
67
|
+
params: execute.params
|
|
68
|
+
};
|
|
69
|
+
const interceptor = core.interceptors[execute.name];
|
|
70
|
+
(isAfter && interceptor.waitWhenIsAfter) || !isAfter
|
|
71
|
+
? await interceptor.instance.intercept(currentArgs)
|
|
72
|
+
: interceptor.instance.intercept(currentArgs);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
exports.createExecuteInterceptors = createExecuteInterceptors;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getActionPath: (target: string, property: string) => string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type EnvConfig<T> = {
|
|
2
|
+
[key in keyof T]: {
|
|
3
|
+
isOptional?: boolean;
|
|
4
|
+
getValue?: (value: string) => any;
|
|
5
|
+
errorMessage: string;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
export type Env<T> = {
|
|
9
|
+
[key in keyof EnvConfig<T>]?: any;
|
|
10
|
+
};
|
|
11
|
+
export declare const getEnv: <T>(config: EnvConfig<T>) => Env<T>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEnv = void 0;
|
|
4
|
+
const getEnv = (config) => {
|
|
5
|
+
const env = {};
|
|
6
|
+
const keys = Object.getOwnPropertyNames(config);
|
|
7
|
+
keys.forEach((key) => {
|
|
8
|
+
const value = process.env[key];
|
|
9
|
+
const propConfig = config[key];
|
|
10
|
+
if (!value && !propConfig.isOptional) {
|
|
11
|
+
throw new Error(`process.env [${key}] ${propConfig.errorMessage}`);
|
|
12
|
+
}
|
|
13
|
+
env[key] = propConfig.getValue
|
|
14
|
+
? propConfig.getValue(value)
|
|
15
|
+
: value;
|
|
16
|
+
});
|
|
17
|
+
return env;
|
|
18
|
+
};
|
|
19
|
+
exports.getEnv = getEnv;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getNodeKey: () => string;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOtherTypes = void 0;
|
|
4
|
+
const removeIs = (value) => {
|
|
5
|
+
return value.replace(/is/gi, '');
|
|
6
|
+
};
|
|
7
|
+
const getOtherTypes = (mainType, propertyValidators) => {
|
|
8
|
+
const validators = propertyValidators
|
|
9
|
+
?.validators;
|
|
10
|
+
return validators?.length > 0
|
|
11
|
+
? validators
|
|
12
|
+
.filter((validator) => {
|
|
13
|
+
return removeIs(validator.name)
|
|
14
|
+
.toLowerCase() !== mainType;
|
|
15
|
+
})
|
|
16
|
+
.map((validator) => (removeIs(validator.name)))
|
|
17
|
+
: [];
|
|
18
|
+
};
|
|
19
|
+
exports.getOtherTypes = getOtherTypes;
|
package/core/index.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './functions/bootstrap';
|
|
2
|
+
export * from './functions/get-action-path';
|
|
3
|
+
export * from './functions/create-action';
|
|
4
|
+
export * from './interfaces';
|
|
5
|
+
export * from './core.controller';
|
|
6
|
+
export * from './services/object-loader';
|
|
7
|
+
export * from './services/locale-service';
|
|
8
|
+
export * from './functions/get-other-types';
|
|
9
|
+
export * from './functions/get-env';
|
|
10
|
+
export * from './functions/create-interceptor';
|
package/core/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./functions/bootstrap"), exports);
|
|
18
|
+
__exportStar(require("./functions/get-action-path"), exports);
|
|
19
|
+
__exportStar(require("./functions/create-action"), exports);
|
|
20
|
+
__exportStar(require("./interfaces"), exports);
|
|
21
|
+
__exportStar(require("./core.controller"), exports);
|
|
22
|
+
__exportStar(require("./services/object-loader"), exports);
|
|
23
|
+
__exportStar(require("./services/locale-service"), exports);
|
|
24
|
+
__exportStar(require("./functions/get-other-types"), exports);
|
|
25
|
+
__exportStar(require("./functions/get-env"), exports);
|
|
26
|
+
__exportStar(require("./functions/create-interceptor"), exports);
|