@sentzunhat/zacatl 0.0.14 → 0.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +292 -207
- package/build/architecture/index.d.ts +2 -0
- package/build/architecture/index.d.ts.map +1 -0
- package/build/architecture/index.js +2 -0
- package/build/architecture/index.js.map +1 -0
- package/build/configuration/app-config.d.ts +10 -0
- package/build/configuration/app-config.d.ts.map +1 -0
- package/build/configuration/app-config.js +5 -0
- package/build/configuration/app-config.js.map +1 -0
- package/build/configuration/index.d.ts +7 -0
- package/build/configuration/index.d.ts.map +1 -0
- package/build/configuration/index.js +6 -0
- package/build/configuration/index.js.map +1 -0
- package/build/configuration/legacy.d.ts +10 -0
- package/build/configuration/legacy.d.ts.map +1 -0
- package/build/configuration/legacy.js +5 -0
- package/build/configuration/legacy.js.map +1 -0
- package/build/configuration/loader-factory.d.ts +2 -0
- package/build/configuration/loader-factory.d.ts.map +1 -0
- package/build/configuration/loader-factory.js +2 -0
- package/build/configuration/loader-factory.js.map +1 -0
- package/build/configuration/loader.d.ts +9 -0
- package/build/configuration/loader.d.ts.map +1 -0
- package/build/configuration/loader.js +38 -0
- package/build/configuration/loader.js.map +1 -0
- package/build/configuration/loaders/index.d.ts +3 -0
- package/build/configuration/loaders/index.d.ts.map +1 -0
- package/build/configuration/loaders/index.js +3 -0
- package/build/configuration/loaders/index.js.map +1 -0
- package/build/configuration/loaders/json-loader.d.ts +8 -0
- package/build/configuration/loaders/json-loader.d.ts.map +1 -0
- package/build/configuration/loaders/json-loader.js +18 -0
- package/build/configuration/loaders/json-loader.js.map +1 -0
- package/build/configuration/loaders/yaml-loader.d.ts +8 -0
- package/build/configuration/loaders/yaml-loader.d.ts.map +1 -0
- package/build/configuration/loaders/yaml-loader.js +20 -0
- package/build/configuration/loaders/yaml-loader.js.map +1 -0
- package/build/configuration/types.d.ts +12 -0
- package/build/configuration/types.d.ts.map +1 -0
- package/build/configuration/types.js +2 -0
- package/build/configuration/types.js.map +1 -0
- package/build/configuration/validation.d.ts +14 -0
- package/build/configuration/validation.d.ts.map +1 -0
- package/build/configuration/validation.js +22 -0
- package/build/configuration/validation.js.map +1 -0
- package/build/configuration.d.ts +2 -0
- package/build/configuration.d.ts.map +1 -0
- package/build/configuration.js +2 -0
- package/build/configuration.js.map +1 -0
- package/build/dependency-injection/container.d.ts +9 -0
- package/build/dependency-injection/container.d.ts.map +1 -0
- package/build/dependency-injection/container.js +22 -0
- package/build/dependency-injection/container.js.map +1 -0
- package/build/dependency-injection/index.d.ts +2 -0
- package/build/dependency-injection/index.d.ts.map +1 -0
- package/build/dependency-injection/index.js +2 -0
- package/build/dependency-injection/index.js.map +1 -0
- package/build/error/bad-request.d.ts +7 -0
- package/build/error/bad-request.d.ts.map +1 -0
- package/build/error/bad-request.js +13 -0
- package/build/error/bad-request.js.map +1 -0
- package/build/error/bad-resource.d.ts +7 -0
- package/build/error/bad-resource.d.ts.map +1 -0
- package/build/error/bad-resource.js +13 -0
- package/build/error/bad-resource.js.map +1 -0
- package/build/error/custom.d.ts +49 -0
- package/build/error/custom.d.ts.map +1 -0
- package/build/error/custom.js +65 -0
- package/build/error/custom.js.map +1 -0
- package/build/error/forbidden.d.ts +7 -0
- package/build/error/forbidden.d.ts.map +1 -0
- package/build/error/forbidden.js +13 -0
- package/build/error/forbidden.js.map +1 -0
- package/build/error/index.d.ts +9 -0
- package/build/error/index.d.ts.map +1 -0
- package/build/error/index.js +9 -0
- package/build/error/index.js.map +1 -0
- package/build/error/internal-server.d.ts +7 -0
- package/build/error/internal-server.d.ts.map +1 -0
- package/build/error/internal-server.js +13 -0
- package/build/error/internal-server.js.map +1 -0
- package/build/error/not-found.d.ts +7 -0
- package/build/error/not-found.d.ts.map +1 -0
- package/build/error/not-found.js +13 -0
- package/build/error/not-found.js.map +1 -0
- package/build/error/unauthorized.d.ts +7 -0
- package/build/error/unauthorized.d.ts.map +1 -0
- package/build/error/unauthorized.js +13 -0
- package/build/error/unauthorized.js.map +1 -0
- package/build/error/validation.d.ts +7 -0
- package/build/error/validation.d.ts.map +1 -0
- package/build/error/validation.js +13 -0
- package/build/error/validation.js.map +1 -0
- package/build/examples/index.d.ts +3 -0
- package/build/examples/index.d.ts.map +1 -0
- package/build/examples/index.js +3 -0
- package/build/examples/index.js.map +1 -0
- package/build/examples/providers/file-system-provider.d.ts +13 -0
- package/build/examples/providers/file-system-provider.d.ts.map +1 -0
- package/build/examples/providers/file-system-provider.js +82 -0
- package/build/examples/providers/file-system-provider.js.map +1 -0
- package/build/examples/providers/filesystem-provider.d.ts +15 -0
- package/build/examples/providers/filesystem-provider.d.ts.map +1 -0
- package/build/examples/providers/filesystem-provider.js +139 -0
- package/build/examples/providers/filesystem-provider.js.map +1 -0
- package/build/examples/providers/index.d.ts +6 -0
- package/build/examples/providers/index.d.ts.map +1 -0
- package/build/examples/providers/index.js +4 -0
- package/build/examples/providers/index.js.map +1 -0
- package/build/examples/providers/process-provider.d.ts +19 -0
- package/build/examples/providers/process-provider.d.ts.map +1 -0
- package/build/examples/providers/process-provider.js +101 -0
- package/build/examples/providers/process-provider.js.map +1 -0
- package/build/examples/repositories/index.d.ts +3 -0
- package/build/examples/repositories/index.d.ts.map +1 -0
- package/build/examples/repositories/index.js +3 -0
- package/build/examples/repositories/index.js.map +1 -0
- package/build/examples/repositories/sqlite-repository.d.ts +14 -0
- package/build/examples/repositories/sqlite-repository.d.ts.map +1 -0
- package/build/examples/repositories/sqlite-repository.js +111 -0
- package/build/examples/repositories/sqlite-repository.js.map +1 -0
- package/build/i18n/adapters/index.d.ts +15 -0
- package/build/i18n/adapters/index.d.ts.map +1 -0
- package/build/i18n/adapters/index.js +46 -0
- package/build/i18n/adapters/index.js.map +1 -0
- package/build/i18n/i18n.d.ts +6 -0
- package/build/i18n/i18n.d.ts.map +1 -0
- package/build/i18n/i18n.js +118 -0
- package/build/i18n/i18n.js.map +1 -0
- package/build/i18n/index.d.ts +5 -0
- package/build/i18n/index.d.ts.map +1 -0
- package/build/i18n/index.js +4 -0
- package/build/i18n/index.js.map +1 -0
- package/build/i18n/types.d.ts +22 -0
- package/build/i18n/types.d.ts.map +1 -0
- package/build/i18n/types.js +2 -0
- package/build/i18n/types.js.map +1 -0
- package/build/i18n/validation.d.ts +16 -0
- package/build/i18n/validation.d.ts.map +1 -0
- package/build/i18n/validation.js +23 -0
- package/build/i18n/validation.js.map +1 -0
- package/build/index.d.ts +20 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +16 -0
- package/build/index.js.map +1 -0
- package/build/intl/adapters/index.d.ts +15 -0
- package/build/intl/adapters/index.d.ts.map +1 -0
- package/build/intl/adapters/index.js +46 -0
- package/build/intl/adapters/index.js.map +1 -0
- package/build/intl/index.d.ts +5 -0
- package/build/intl/index.d.ts.map +1 -0
- package/build/intl/index.js +4 -0
- package/build/intl/index.js.map +1 -0
- package/build/intl/intl.d.ts +6 -0
- package/build/intl/intl.d.ts.map +1 -0
- package/build/intl/intl.js +118 -0
- package/build/intl/intl.js.map +1 -0
- package/build/intl/types.d.ts +22 -0
- package/build/intl/types.d.ts.map +1 -0
- package/build/intl/types.js +2 -0
- package/build/intl/types.js.map +1 -0
- package/build/intl/validation.d.ts +16 -0
- package/build/intl/validation.d.ts.map +1 -0
- package/build/intl/validation.js +23 -0
- package/build/intl/validation.js.map +1 -0
- package/build/localization/adapters/index.d.ts +15 -0
- package/build/localization/adapters/index.d.ts.map +1 -0
- package/build/localization/adapters/index.js +46 -0
- package/build/localization/adapters/index.js.map +1 -0
- package/build/localization/i18n.d.ts +6 -0
- package/build/localization/i18n.d.ts.map +1 -0
- package/build/localization/i18n.js +118 -0
- package/build/localization/i18n.js.map +1 -0
- package/build/localization/index.d.ts +5 -0
- package/build/localization/index.d.ts.map +1 -0
- package/build/localization/index.js +4 -0
- package/build/localization/index.js.map +1 -0
- package/build/localization/intl.d.ts +6 -0
- package/build/localization/intl.d.ts.map +1 -0
- package/build/localization/intl.js +120 -0
- package/build/localization/intl.js.map +1 -0
- package/build/localization/localization.d.ts +6 -0
- package/build/localization/localization.d.ts.map +1 -0
- package/build/localization/localization.js +120 -0
- package/build/localization/localization.js.map +1 -0
- package/build/localization/types.d.ts +22 -0
- package/build/localization/types.d.ts.map +1 -0
- package/build/localization/types.js +2 -0
- package/build/localization/types.js.map +1 -0
- package/build/localization/validation.d.ts +16 -0
- package/build/localization/validation.d.ts.map +1 -0
- package/build/localization/validation.js +23 -0
- package/build/localization/validation.js.map +1 -0
- package/build/logs/adapters/console-adapter.d.ts +18 -0
- package/build/logs/adapters/console-adapter.d.ts.map +1 -0
- package/build/logs/adapters/console-adapter.js +65 -0
- package/build/logs/adapters/console-adapter.js.map +1 -0
- package/build/logs/adapters/pino-adapter.d.ts +14 -0
- package/build/logs/adapters/pino-adapter.d.ts.map +1 -0
- package/build/logs/adapters/pino-adapter.js +30 -0
- package/build/logs/adapters/pino-adapter.js.map +1 -0
- package/build/logs/config.d.ts +9 -0
- package/build/logs/config.d.ts.map +1 -0
- package/build/logs/config.js +34 -0
- package/build/logs/config.js.map +1 -0
- package/build/logs/index.d.ts +6 -0
- package/build/logs/index.d.ts.map +1 -0
- package/build/logs/index.js +5 -0
- package/build/logs/index.js.map +1 -0
- package/build/logs/logger.d.ts +4 -0
- package/build/logs/logger.d.ts.map +1 -0
- package/build/logs/logger.js +14 -0
- package/build/logs/logger.js.map +1 -0
- package/build/logs/types.d.ts +23 -0
- package/build/logs/types.d.ts.map +1 -0
- package/build/logs/types.js +2 -0
- package/build/logs/types.js.map +1 -0
- package/build/logs.d.ts +4 -0
- package/build/logs.d.ts.map +1 -0
- package/build/logs.js +3 -0
- package/build/logs.js.map +1 -0
- package/build/micro-service/architecture/application/application.d.ts +22 -0
- package/build/micro-service/architecture/application/application.d.ts.map +1 -0
- package/build/micro-service/architecture/application/application.js +25 -0
- package/build/micro-service/architecture/application/application.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/index.d.ts +2 -0
- package/build/micro-service/architecture/application/entry-points/index.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/index.js +2 -0
- package/build/micro-service/architecture/application/entry-points/index.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/handler.d.ts +4 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/handler.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/handler.js +2 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/handler.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/index.d.ts +3 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/index.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/index.js +3 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/index.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/request.d.ts +9 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/request.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/request.js +2 -0
- package/build/micro-service/architecture/application/entry-points/rest/common/request.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts +7 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js +2 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.d.ts +2 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.js +2 -0
- package/build/micro-service/architecture/application/entry-points/rest/hook-handlers/index.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/index.d.ts +4 -0
- package/build/micro-service/architecture/application/entry-points/rest/index.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/index.js +4 -0
- package/build/micro-service/architecture/application/entry-points/rest/index.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts +26 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.js +21 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.d.ts +8 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.js +10 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/generics.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts +10 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js +11 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.d.ts +6 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.js +6 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/index.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts +10 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js +11 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts +9 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts.map +1 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.js +2 -0
- package/build/micro-service/architecture/application/entry-points/rest/route-handlers/route-handler.js.map +1 -0
- package/build/micro-service/architecture/application/index.d.ts +3 -0
- package/build/micro-service/architecture/application/index.d.ts.map +1 -0
- package/build/micro-service/architecture/application/index.js +3 -0
- package/build/micro-service/architecture/application/index.js.map +1 -0
- package/build/micro-service/architecture/architecture.d.ts +11 -0
- package/build/micro-service/architecture/architecture.d.ts.map +1 -0
- package/build/micro-service/architecture/architecture.js +20 -0
- package/build/micro-service/architecture/architecture.js.map +1 -0
- package/build/micro-service/architecture/domain/domain.d.ts +11 -0
- package/build/micro-service/architecture/domain/domain.d.ts.map +1 -0
- package/build/micro-service/architecture/domain/domain.js +25 -0
- package/build/micro-service/architecture/domain/domain.js.map +1 -0
- package/build/micro-service/architecture/domain/index.d.ts +3 -0
- package/build/micro-service/architecture/domain/index.d.ts.map +1 -0
- package/build/micro-service/architecture/domain/index.js +3 -0
- package/build/micro-service/architecture/domain/index.js.map +1 -0
- package/build/micro-service/architecture/domain/provider.d.ts +6 -0
- package/build/micro-service/architecture/domain/provider.d.ts.map +1 -0
- package/build/micro-service/architecture/domain/provider.js +7 -0
- package/build/micro-service/architecture/domain/provider.js.map +1 -0
- package/build/micro-service/architecture/index.d.ts +6 -0
- package/build/micro-service/architecture/index.d.ts.map +1 -0
- package/build/micro-service/architecture/index.js +6 -0
- package/build/micro-service/architecture/index.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/index.d.ts +3 -0
- package/build/micro-service/architecture/infrastructure/index.d.ts.map +1 -0
- package/{src/micro-service/architecture/infrastructure/index.ts → build/micro-service/architecture/infrastructure/index.js} +1 -0
- package/build/micro-service/architecture/infrastructure/index.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/infrastructure.d.ts +10 -0
- package/build/micro-service/architecture/infrastructure/infrastructure.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/infrastructure.js +12 -0
- package/build/micro-service/architecture/infrastructure/infrastructure.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts +13 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.js +92 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/mongoose-adapter.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts +12 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.js +49 -0
- package/build/micro-service/architecture/infrastructure/orm/adapters/sequelize-adapter.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/orm/index.d.ts +3 -0
- package/build/micro-service/architecture/infrastructure/orm/index.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/orm/index.js +3 -0
- package/build/micro-service/architecture/infrastructure/orm/index.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/abstract.d.ts +19 -0
- package/build/micro-service/architecture/infrastructure/repositories/abstract.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/abstract.js +64 -0
- package/build/micro-service/architecture/infrastructure/repositories/abstract.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/index.d.ts +2 -0
- package/build/micro-service/architecture/infrastructure/repositories/index.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/index.js +2 -0
- package/build/micro-service/architecture/infrastructure/repositories/index.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/mongoose.d.ts +13 -0
- package/build/micro-service/architecture/infrastructure/repositories/mongoose.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/mongoose.js +92 -0
- package/build/micro-service/architecture/infrastructure/repositories/mongoose.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/sequelize.d.ts +12 -0
- package/build/micro-service/architecture/infrastructure/repositories/sequelize.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/sequelize.js +49 -0
- package/build/micro-service/architecture/infrastructure/repositories/sequelize.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/types.d.ts +43 -0
- package/build/micro-service/architecture/infrastructure/repositories/types.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/repositories/types.js +2 -0
- package/build/micro-service/architecture/infrastructure/repositories/types.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/repository-interface.d.ts +9 -0
- package/build/micro-service/architecture/infrastructure/repository-interface.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/repository-interface.js +2 -0
- package/build/micro-service/architecture/infrastructure/repository-interface.js.map +1 -0
- package/build/micro-service/architecture/infrastructure/repository.d.ts +9 -0
- package/build/micro-service/architecture/infrastructure/repository.d.ts.map +1 -0
- package/build/micro-service/architecture/infrastructure/repository.js +2 -0
- package/build/micro-service/architecture/infrastructure/repository.js.map +1 -0
- package/build/micro-service/architecture/platform/index.d.ts +6 -0
- package/build/micro-service/architecture/platform/index.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/index.js +5 -0
- package/build/micro-service/architecture/platform/index.js.map +1 -0
- package/build/micro-service/architecture/platform/micro-service.d.ts +24 -0
- package/build/micro-service/architecture/platform/micro-service.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/micro-service.js +40 -0
- package/build/micro-service/architecture/platform/micro-service.js.map +1 -0
- package/build/micro-service/architecture/platform/page/index.d.ts +2 -0
- package/build/micro-service/architecture/platform/page/index.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/page/index.js +2 -0
- package/build/micro-service/architecture/platform/page/index.js.map +1 -0
- package/build/micro-service/architecture/platform/page/page.d.ts +16 -0
- package/build/micro-service/architecture/platform/page/page.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/page/page.js +38 -0
- package/build/micro-service/architecture/platform/page/page.js.map +1 -0
- package/build/micro-service/architecture/platform/server/adapters/express-adapter.d.ts +15 -0
- package/build/micro-service/architecture/platform/server/adapters/express-adapter.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/server/adapters/express-adapter.js +91 -0
- package/build/micro-service/architecture/platform/server/adapters/express-adapter.js.map +1 -0
- package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.d.ts +15 -0
- package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.js +54 -0
- package/build/micro-service/architecture/platform/server/adapters/fastify-adapter.js.map +1 -0
- package/build/micro-service/architecture/platform/server/adapters/index.d.ts +3 -0
- package/build/micro-service/architecture/platform/server/adapters/index.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/server/adapters/index.js +3 -0
- package/build/micro-service/architecture/platform/server/adapters/index.js.map +1 -0
- package/build/micro-service/architecture/platform/server/index.d.ts +2 -0
- package/build/micro-service/architecture/platform/server/index.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/server/index.js +2 -0
- package/build/micro-service/architecture/platform/server/index.js.map +1 -0
- package/build/micro-service/architecture/platform/server/server-adapter.d.ts +21 -0
- package/build/micro-service/architecture/platform/server/server-adapter.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/server/server-adapter.js +2 -0
- package/build/micro-service/architecture/platform/server/server-adapter.js.map +1 -0
- package/build/micro-service/architecture/platform/server/server.d.ts +97 -0
- package/build/micro-service/architecture/platform/server/server.d.ts.map +1 -0
- package/build/micro-service/architecture/platform/server/server.js +219 -0
- package/build/micro-service/architecture/platform/server/server.js.map +1 -0
- package/build/micro-service/index.d.ts +2 -0
- package/build/micro-service/index.d.ts.map +1 -0
- package/build/micro-service/index.js +2 -0
- package/build/micro-service/index.js.map +1 -0
- package/build/optionals.d.ts +4 -0
- package/build/optionals.d.ts.map +1 -0
- package/build/optionals.js +2 -0
- package/build/optionals.js.map +1 -0
- package/build/orm-exports.d.ts +5 -0
- package/build/orm-exports.d.ts.map +1 -0
- package/build/orm-exports.js +3 -0
- package/build/orm-exports.js.map +1 -0
- package/build/runtime/detector.d.ts +7 -0
- package/build/runtime/detector.d.ts.map +1 -0
- package/build/runtime/detector.js +28 -0
- package/build/runtime/detector.js.map +1 -0
- package/build/runtime/index.d.ts +3 -0
- package/build/runtime/index.d.ts.map +1 -0
- package/build/runtime/index.js +3 -0
- package/build/runtime/index.js.map +1 -0
- package/build/runtime/types.d.ts +8 -0
- package/build/runtime/types.d.ts.map +1 -0
- package/build/runtime/types.js +2 -0
- package/build/runtime/types.js.map +1 -0
- package/build/service/architecture/application/application.d.ts +22 -0
- package/build/service/architecture/application/application.d.ts.map +1 -0
- package/build/service/architecture/application/application.js +25 -0
- package/build/service/architecture/application/application.js.map +1 -0
- package/build/service/architecture/application/entry-points/index.d.ts +2 -0
- package/build/service/architecture/application/entry-points/index.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/index.js +2 -0
- package/build/service/architecture/application/entry-points/index.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/common/handler.d.ts +4 -0
- package/build/service/architecture/application/entry-points/rest/common/handler.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/common/handler.js +2 -0
- package/build/service/architecture/application/entry-points/rest/common/handler.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/common/index.d.ts +3 -0
- package/build/service/architecture/application/entry-points/rest/common/index.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/common/index.js +3 -0
- package/build/service/architecture/application/entry-points/rest/common/index.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/common/request.d.ts +9 -0
- package/build/service/architecture/application/entry-points/rest/common/request.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/common/request.js +2 -0
- package/build/service/architecture/application/entry-points/rest/common/request.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts +7 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js +2 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/hook-handler.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/index.d.ts +2 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/index.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/index.js +2 -0
- package/build/service/architecture/application/entry-points/rest/hook-handlers/index.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/index.d.ts +4 -0
- package/build/service/architecture/application/entry-points/rest/index.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/index.js +4 -0
- package/build/service/architecture/application/entry-points/rest/index.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts +27 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.js +21 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/abstract.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/generics.d.ts +8 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/generics.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/generics.js +10 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/generics.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts +10 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js +11 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/get-route-handler.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/index.d.ts +6 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/index.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/index.js +6 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/index.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts +11 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js +11 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/post-route-handler.js.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts +9 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.d.ts.map +1 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.js +2 -0
- package/build/service/architecture/application/entry-points/rest/route-handlers/route-handler.js.map +1 -0
- package/build/service/architecture/application/index.d.ts +3 -0
- package/build/service/architecture/application/index.d.ts.map +1 -0
- package/build/service/architecture/application/index.js +3 -0
- package/build/service/architecture/application/index.js.map +1 -0
- package/build/service/architecture/architecture.d.ts +11 -0
- package/build/service/architecture/architecture.d.ts.map +1 -0
- package/build/service/architecture/architecture.js +20 -0
- package/build/service/architecture/architecture.js.map +1 -0
- package/build/service/architecture/domain/domain.d.ts +11 -0
- package/build/service/architecture/domain/domain.d.ts.map +1 -0
- package/build/service/architecture/domain/domain.js +25 -0
- package/build/service/architecture/domain/domain.js.map +1 -0
- package/build/service/architecture/domain/index.d.ts +3 -0
- package/build/service/architecture/domain/index.d.ts.map +1 -0
- package/build/service/architecture/domain/index.js +3 -0
- package/build/service/architecture/domain/index.js.map +1 -0
- package/build/service/architecture/domain/provider.d.ts +6 -0
- package/build/service/architecture/domain/provider.d.ts.map +1 -0
- package/build/service/architecture/domain/provider.js +7 -0
- package/build/service/architecture/domain/provider.js.map +1 -0
- package/build/service/architecture/index.d.ts +6 -0
- package/build/service/architecture/index.d.ts.map +1 -0
- package/build/service/architecture/index.js +6 -0
- package/build/service/architecture/index.js.map +1 -0
- package/build/service/architecture/infrastructure/index.d.ts +7 -0
- package/build/service/architecture/infrastructure/index.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/index.js +5 -0
- package/build/service/architecture/infrastructure/index.js.map +1 -0
- package/build/service/architecture/infrastructure/infrastructure.d.ts +10 -0
- package/build/service/architecture/infrastructure/infrastructure.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/infrastructure.js +12 -0
- package/build/service/architecture/infrastructure/infrastructure.js.map +1 -0
- package/build/service/architecture/infrastructure/orm/adapter-loader.d.ts +5 -0
- package/build/service/architecture/infrastructure/orm/adapter-loader.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/orm/adapter-loader.js +25 -0
- package/build/service/architecture/infrastructure/orm/adapter-loader.js.map +1 -0
- package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts +13 -0
- package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.js +90 -0
- package/build/service/architecture/infrastructure/orm/adapters/mongoose-adapter.js.map +1 -0
- package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts +12 -0
- package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.js +49 -0
- package/build/service/architecture/infrastructure/orm/adapters/sequelize-adapter.js.map +1 -0
- package/build/service/architecture/infrastructure/orm/index.d.ts +3 -0
- package/build/service/architecture/infrastructure/orm/index.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/orm/index.js +3 -0
- package/build/service/architecture/infrastructure/orm/index.js.map +1 -0
- package/build/service/architecture/infrastructure/repositories/abstract.d.ts +20 -0
- package/build/service/architecture/infrastructure/repositories/abstract.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/repositories/abstract.js +63 -0
- package/build/service/architecture/infrastructure/repositories/abstract.js.map +1 -0
- package/build/service/architecture/infrastructure/repositories/index.d.ts +2 -0
- package/build/service/architecture/infrastructure/repositories/index.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/repositories/index.js +2 -0
- package/build/service/architecture/infrastructure/repositories/index.js.map +1 -0
- package/build/service/architecture/infrastructure/repositories/mongoose.d.ts +13 -0
- package/build/service/architecture/infrastructure/repositories/mongoose.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/repositories/mongoose.js +92 -0
- package/build/service/architecture/infrastructure/repositories/mongoose.js.map +1 -0
- package/build/service/architecture/infrastructure/repositories/sequelize.d.ts +12 -0
- package/build/service/architecture/infrastructure/repositories/sequelize.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/repositories/sequelize.js +49 -0
- package/build/service/architecture/infrastructure/repositories/sequelize.js.map +1 -0
- package/build/service/architecture/infrastructure/repositories/types.d.ts +47 -0
- package/build/service/architecture/infrastructure/repositories/types.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/repositories/types.js +6 -0
- package/build/service/architecture/infrastructure/repositories/types.js.map +1 -0
- package/build/service/architecture/infrastructure/repository-interface.d.ts +9 -0
- package/build/service/architecture/infrastructure/repository-interface.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/repository-interface.js +2 -0
- package/build/service/architecture/infrastructure/repository-interface.js.map +1 -0
- package/build/service/architecture/infrastructure/repository.d.ts +9 -0
- package/build/service/architecture/infrastructure/repository.d.ts.map +1 -0
- package/build/service/architecture/infrastructure/repository.js +2 -0
- package/build/service/architecture/infrastructure/repository.js.map +1 -0
- package/build/service/architecture/platform/index.d.ts +6 -0
- package/build/service/architecture/platform/index.d.ts.map +1 -0
- package/build/service/architecture/platform/index.js +5 -0
- package/build/service/architecture/platform/index.js.map +1 -0
- package/build/service/architecture/platform/page/index.d.ts +2 -0
- package/build/service/architecture/platform/page/index.d.ts.map +1 -0
- package/build/service/architecture/platform/page/index.js +2 -0
- package/build/service/architecture/platform/page/index.js.map +1 -0
- package/build/service/architecture/platform/page/page.d.ts +16 -0
- package/build/service/architecture/platform/page/page.d.ts.map +1 -0
- package/build/service/architecture/platform/page/page.js +38 -0
- package/build/service/architecture/platform/page/page.js.map +1 -0
- package/build/service/architecture/platform/server/adapters/express-adapter.d.ts +15 -0
- package/build/service/architecture/platform/server/adapters/express-adapter.d.ts.map +1 -0
- package/build/service/architecture/platform/server/adapters/express-adapter.js +91 -0
- package/build/service/architecture/platform/server/adapters/express-adapter.js.map +1 -0
- package/build/service/architecture/platform/server/adapters/fastify-adapter.d.ts +15 -0
- package/build/service/architecture/platform/server/adapters/fastify-adapter.d.ts.map +1 -0
- package/build/service/architecture/platform/server/adapters/fastify-adapter.js +54 -0
- package/build/service/architecture/platform/server/adapters/fastify-adapter.js.map +1 -0
- package/build/service/architecture/platform/server/adapters/index.d.ts +3 -0
- package/build/service/architecture/platform/server/adapters/index.d.ts.map +1 -0
- package/build/service/architecture/platform/server/adapters/index.js +3 -0
- package/build/service/architecture/platform/server/adapters/index.js.map +1 -0
- package/build/service/architecture/platform/server/index.d.ts +2 -0
- package/build/service/architecture/platform/server/index.d.ts.map +1 -0
- package/build/service/architecture/platform/server/index.js +2 -0
- package/build/service/architecture/platform/server/index.js.map +1 -0
- package/build/service/architecture/platform/server/server-adapter.d.ts +21 -0
- package/build/service/architecture/platform/server/server-adapter.d.ts.map +1 -0
- package/build/service/architecture/platform/server/server-adapter.js +2 -0
- package/build/service/architecture/platform/server/server-adapter.js.map +1 -0
- package/build/service/architecture/platform/server/server.d.ts +97 -0
- package/build/service/architecture/platform/server/server.d.ts.map +1 -0
- package/build/service/architecture/platform/server/server.js +219 -0
- package/build/service/architecture/platform/server/server.js.map +1 -0
- package/build/service/architecture/platform/service.d.ts +24 -0
- package/build/service/architecture/platform/service.d.ts.map +1 -0
- package/build/service/architecture/platform/service.js +40 -0
- package/build/service/architecture/platform/service.js.map +1 -0
- package/build/service/index.d.ts +2 -0
- package/build/service/index.d.ts.map +1 -0
- package/build/service/index.js +2 -0
- package/build/service/index.js.map +1 -0
- package/build/test/tsconfig.tsbuildinfo +1 -0
- package/build/utils/base64.d.ts +3 -0
- package/build/utils/base64.d.ts.map +1 -0
- package/build/utils/base64.js +7 -0
- package/build/utils/base64.js.map +1 -0
- package/build/utils/hmac.d.ts +2 -0
- package/build/utils/hmac.d.ts.map +1 -0
- package/build/utils/hmac.js +7 -0
- package/build/utils/hmac.js.map +1 -0
- package/build/utils/index.d.ts +3 -0
- package/build/utils/index.d.ts.map +1 -0
- package/build/utils/index.js +3 -0
- package/build/utils/index.js.map +1 -0
- package/package.json +110 -27
- package/src/configuration/app-config.ts +24 -0
- package/src/configuration/index.ts +20 -0
- package/src/configuration/loader-factory.ts +1 -0
- package/src/configuration/loader.ts +70 -0
- package/src/configuration/loaders/index.ts +2 -0
- package/src/configuration/loaders/json-loader.ts +32 -0
- package/src/configuration/loaders/yaml-loader.ts +32 -0
- package/src/configuration/types.ts +32 -0
- package/src/configuration/validation.ts +50 -0
- package/src/dependency-injection/container.ts +92 -0
- package/src/dependency-injection/index.ts +1 -0
- package/src/error/custom.ts +52 -1
- package/src/examples/index.ts +2 -0
- package/src/examples/providers/filesystem-provider.ts +198 -0
- package/src/examples/providers/index.ts +6 -0
- package/src/examples/providers/process-provider.ts +150 -0
- package/src/examples/repositories/index.ts +3 -0
- package/src/examples/repositories/sqlite-repository.ts +170 -0
- package/src/index.ts +32 -2
- package/src/locales/en.json +1 -9
- package/src/locales/fr.json +1 -9
- package/src/localization/adapters/index.ts +90 -0
- package/src/localization/index.ts +16 -0
- package/src/localization/locales/en.json +9 -0
- package/src/localization/locales/es.json +9 -0
- package/src/localization/localization.ts +222 -0
- package/src/localization/types.ts +110 -0
- package/src/localization/validation.ts +43 -0
- package/src/logs/adapters/console-adapter.ts +90 -0
- package/src/logs/adapters/pino-adapter.ts +65 -0
- package/src/logs/config.ts +53 -0
- package/src/logs/index.ts +16 -0
- package/src/logs/logger.ts +66 -0
- package/src/logs/types.ts +44 -0
- package/src/orm-exports.ts +23 -0
- package/src/runtime/detector.ts +61 -0
- package/src/runtime/index.ts +2 -0
- package/src/runtime/types.ts +18 -0
- package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/abstract.ts +8 -7
- package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/post-route-handler.ts +3 -1
- package/src/service/architecture/domain/domain.ts +36 -0
- package/src/service/architecture/domain/index.ts +2 -0
- package/src/service/architecture/domain/provider.ts +9 -0
- package/src/service/architecture/infrastructure/index.ts +48 -0
- package/src/service/architecture/infrastructure/orm/adapter-loader.ts +52 -0
- package/src/service/architecture/infrastructure/orm/adapters/mongoose-adapter.ts +133 -0
- package/src/service/architecture/infrastructure/orm/adapters/sequelize-adapter.ts +75 -0
- package/src/service/architecture/infrastructure/orm/index.ts +2 -0
- package/src/service/architecture/infrastructure/repositories/abstract.ts +112 -0
- package/src/service/architecture/infrastructure/repositories/types.ts +125 -0
- package/src/service/architecture/infrastructure/repository-interface.ts +35 -0
- package/src/service/architecture/infrastructure/repository.ts +75 -0
- package/src/service/architecture/platform/index.ts +5 -0
- package/src/service/architecture/platform/page/index.ts +1 -0
- package/src/service/architecture/platform/page/page.ts +52 -0
- package/src/service/architecture/platform/server/adapters/express-adapter.ts +112 -0
- package/src/service/architecture/platform/server/adapters/fastify-adapter.ts +61 -0
- package/src/service/architecture/platform/server/adapters/index.ts +2 -0
- package/src/service/architecture/platform/server/index.ts +1 -0
- package/src/service/architecture/platform/server/server-adapter.ts +23 -0
- package/src/{micro-service/architecture/platform/service/service.ts → service/architecture/platform/server/server.ts} +73 -90
- package/src/service/architecture/platform/service.ts +63 -0
- package/context.yaml +0 -151
- package/eslint.config.mjs +0 -59
- package/guidelines.yaml +0 -74
- package/mongodb.yaml +0 -29
- package/patterns.yaml +0 -55
- package/src/configuration.ts +0 -13
- package/src/logs.ts +0 -77
- package/src/micro-service/architecture/domain/domain.ts +0 -19
- package/src/micro-service/architecture/domain/index.ts +0 -1
- package/src/micro-service/architecture/infrastructure/repositories/abstract.ts +0 -90
- package/src/micro-service/architecture/infrastructure/repositories/mongoose.ts +0 -124
- package/src/micro-service/architecture/infrastructure/repositories/sequelize.ts +0 -70
- package/src/micro-service/architecture/infrastructure/repositories/types.ts +0 -69
- package/src/micro-service/architecture/platform/index.ts +0 -2
- package/src/micro-service/architecture/platform/micro-service.ts +0 -53
- package/src/micro-service/architecture/platform/service/index.ts +0 -1
- package/start.md +0 -34
- package/test/tsconfig.json +0 -9
- package/test/unit/helpers/common/common.ts +0 -32
- package/test/unit/helpers/common/logger.ts +0 -8
- package/test/unit/helpers/database/mongo.ts +0 -77
- package/test/unit/lib/global-setup.ts +0 -79
- package/test/unit/lib/setup-files.ts +0 -16
- package/test/unit/micro-service/architecture/application/application.test.ts +0 -60
- package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/abstract.test.ts +0 -62
- package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/get-route-handler.test.ts +0 -38
- package/test/unit/micro-service/architecture/application/entry-points/rest/route-handlers/post-route-handler.test.ts +0 -45
- package/test/unit/micro-service/architecture/architecture.test.ts +0 -64
- package/test/unit/micro-service/architecture/domain/domain.test.ts +0 -35
- package/test/unit/micro-service/architecture/infrastructure/infrastructure.test.ts +0 -33
- package/test/unit/micro-service/architecture/infrastructure/repositories/abstract.test.ts +0 -86
- package/test/unit/micro-service/architecture/platform/micro-service.test.ts +0 -86
- package/test/unit/micro-service/architecture/platform/service/service.test.ts +0 -200
- package/tsconfig.json +0 -63
- package/vite.config.mjs +0 -44
- /package/src/{micro-service → service}/architecture/application/application.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/index.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/handler.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/index.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/common/request.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/hook-handlers/hook-handler.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/hook-handlers/index.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/index.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/generics.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/get-route-handler.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/index.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/entry-points/rest/route-handlers/route-handler.ts +0 -0
- /package/src/{micro-service → service}/architecture/application/index.ts +0 -0
- /package/src/{micro-service → service}/architecture/architecture.ts +0 -0
- /package/src/{micro-service → service}/architecture/index.ts +0 -0
- /package/src/{micro-service → service}/architecture/infrastructure/infrastructure.ts +0 -0
- /package/src/{micro-service → service}/architecture/infrastructure/repositories/index.ts +0 -0
- /package/src/{micro-service → service}/index.ts +0 -0
package/patterns.yaml
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Zacatl Project: Coding Patterns and Architectural Practices
|
|
2
|
-
|
|
3
|
-
origin:
|
|
4
|
-
- coding_standards.md
|
|
5
|
-
- coding_standards.pdf
|
|
6
|
-
- README.md (patterns section)
|
|
7
|
-
|
|
8
|
-
patterns:
|
|
9
|
-
- hexagonal_architecture:
|
|
10
|
-
description: |
|
|
11
|
-
Structure the application to separate core business logic from external dependencies using Ports and Adapters. Core logic is in the Domain layer, with Application, Infrastructure, and Platform layers handling entry points, persistence, and orchestration.
|
|
12
|
-
source: coding_standards.pdf
|
|
13
|
-
- object_oriented_programming:
|
|
14
|
-
description: |
|
|
15
|
-
Use classes to encapsulate state and behavior, especially for providers, repositories, and server classes. Follows OOP principles for modularity and encapsulation.
|
|
16
|
-
source: coding_standards.pdf
|
|
17
|
-
- functional_programming:
|
|
18
|
-
description: |
|
|
19
|
-
Use pure functions and higher-order functions for stateless operations and utility logic. Prefer immutability and function composition where possible.
|
|
20
|
-
source: coding_standards.pdf
|
|
21
|
-
- dependency_injection:
|
|
22
|
-
description: |
|
|
23
|
-
Use tsyringe for DI. Register all services, repositories, and handlers in the DI container. Never instantiate dependencies directly; always resolve via DI. Promotes modularity, flexibility, and testability.
|
|
24
|
-
source: coding_standards.pdf
|
|
25
|
-
- modular_server_design:
|
|
26
|
-
description: |
|
|
27
|
-
Server classes (e.g., ModularServer, FastifyServer) accept dependencies (Fastify, providers, databases, etc.) via constructor injection. Route registration and DI setup are centralized.
|
|
28
|
-
source: coding_standards.pdf
|
|
29
|
-
- centralized_configuration:
|
|
30
|
-
description: |
|
|
31
|
-
Use a DI container to register and configure dependencies (providers, repositories, Fastify instances, etc.). Server initialization is performed by resolving the server from the DI container and starting it on a specified port.
|
|
32
|
-
source: coding_standards.pdf
|
|
33
|
-
- error_handling:
|
|
34
|
-
description: |
|
|
35
|
-
All custom errors extend CustomError. Use CustomError.handle(error) in middleware or route handlers to log/format errors. Always include relevant metadata and a clear message. Let errors bubble up to Fastify’s error handler unless custom handling is needed.
|
|
36
|
-
source: README.md
|
|
37
|
-
- validation:
|
|
38
|
-
description: |
|
|
39
|
-
Use zod schemas for all request/response validation. Place validation logic in the Application layer.
|
|
40
|
-
source: README.md
|
|
41
|
-
- testing:
|
|
42
|
-
description: |
|
|
43
|
-
Use vitest for all tests. Place tests in test/, mirroring src/ structure. Write unit tests for all logic. Mock all external dependencies (DB, services) in tests. Use descriptive test names and group related tests in files named after the module under test.
|
|
44
|
-
source: README.md
|
|
45
|
-
|
|
46
|
-
best_practices:
|
|
47
|
-
- clean_code:
|
|
48
|
-
description: Write clean, modular, and straightforward code with meaningful names and strong typing. Use the latest language features and avoid redundancy (DRY principle).
|
|
49
|
-
source: coding_standards.pdf
|
|
50
|
-
- security_and_ethics:
|
|
51
|
-
description: Validate all inputs, handle errors gracefully, and never expose sensitive data. Code should be secure, efficient, and ethical.
|
|
52
|
-
source: coding_standards.pdf
|
|
53
|
-
- minimal_comments:
|
|
54
|
-
description: Prefer clarity in code and tests over excessive comments. Use comments only when necessary for context.
|
|
55
|
-
source: coding_standards.pdf
|
package/src/configuration.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import config from "config";
|
|
2
|
-
|
|
3
|
-
type ConfigInput = {
|
|
4
|
-
SERVICE_NAME: string;
|
|
5
|
-
NODE_ENV: string;
|
|
6
|
-
APP_VERSION: string;
|
|
7
|
-
APP_ENV: string;
|
|
8
|
-
CONNECTION_STRING: string;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export const getConfigOrThrow = <T>(name: keyof ConfigInput): T => {
|
|
12
|
-
return config.get<T>(name);
|
|
13
|
-
};
|
package/src/logs.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import pino from "pino";
|
|
2
|
-
|
|
3
|
-
import { getConfigOrThrow } from "./configuration";
|
|
4
|
-
|
|
5
|
-
const defaultLogger: pino.BaseLogger = pino({
|
|
6
|
-
level: process.env["LOG_LEVEL"] ?? "info",
|
|
7
|
-
transport: {
|
|
8
|
-
target: "pino-pretty",
|
|
9
|
-
options: {
|
|
10
|
-
colorize: true,
|
|
11
|
-
},
|
|
12
|
-
},
|
|
13
|
-
formatters: {
|
|
14
|
-
bindings: (bindings) => {
|
|
15
|
-
return {
|
|
16
|
-
unique: bindings["pid"],
|
|
17
|
-
service: getConfigOrThrow<string>("SERVICE_NAME"),
|
|
18
|
-
environment: getConfigOrThrow<string>("NODE_ENV"),
|
|
19
|
-
app: {
|
|
20
|
-
version: getConfigOrThrow<string>("APP_VERSION"),
|
|
21
|
-
environment: getConfigOrThrow<string>("APP_ENV"),
|
|
22
|
-
},
|
|
23
|
-
host: bindings["hostname"],
|
|
24
|
-
};
|
|
25
|
-
},
|
|
26
|
-
level: (label) => {
|
|
27
|
-
return { level: label.toLocaleLowerCase() };
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
export type LoggerInput =
|
|
33
|
-
| {
|
|
34
|
-
data?: unknown;
|
|
35
|
-
details?: unknown;
|
|
36
|
-
}
|
|
37
|
-
| undefined;
|
|
38
|
-
|
|
39
|
-
const logger = {
|
|
40
|
-
log: (message: string, input?: LoggerInput): void => {
|
|
41
|
-
console.log(message, {
|
|
42
|
-
data: input?.data,
|
|
43
|
-
details: input?.details,
|
|
44
|
-
});
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
info: (message: string, input?: LoggerInput): void => {
|
|
48
|
-
defaultLogger.info({ data: input?.data, details: input?.details }, message);
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
trace: (message: string, input?: LoggerInput): void => {
|
|
52
|
-
defaultLogger.trace(
|
|
53
|
-
{ data: input?.data, details: input?.details },
|
|
54
|
-
message
|
|
55
|
-
);
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
warn: (message: string, input?: LoggerInput): void => {
|
|
59
|
-
defaultLogger.warn({ data: input?.data, details: input?.details }, message);
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
error: (message: string, input?: LoggerInput): void => {
|
|
63
|
-
defaultLogger.error(
|
|
64
|
-
{ data: input?.data, details: input?.details },
|
|
65
|
-
message
|
|
66
|
-
);
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
fatal: (message: string, input?: LoggerInput): void => {
|
|
70
|
-
defaultLogger.fatal(
|
|
71
|
-
{ data: input?.data, details: input?.details },
|
|
72
|
-
message
|
|
73
|
-
);
|
|
74
|
-
},
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export { defaultLogger, logger };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { AbstractArchitecture, Constructor } from "../architecture";
|
|
2
|
-
|
|
3
|
-
export type ConfigDomain = {
|
|
4
|
-
providers: Array<Constructor>;
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
export class Domain extends AbstractArchitecture {
|
|
8
|
-
private config: ConfigDomain;
|
|
9
|
-
|
|
10
|
-
constructor(config: ConfigDomain) {
|
|
11
|
-
super();
|
|
12
|
-
|
|
13
|
-
this.config = config;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
public start(): void {
|
|
17
|
-
this.registerDependencies(this.config.providers);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./domain";
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { Model as MongooseModel } from "mongoose";
|
|
2
|
-
import { ModelCtor } from "sequelize";
|
|
3
|
-
import {
|
|
4
|
-
BaseRepositoryConfig,
|
|
5
|
-
Repository,
|
|
6
|
-
LeanDocument,
|
|
7
|
-
ToLeanInput,
|
|
8
|
-
MongooseRepositoryConfig,
|
|
9
|
-
} from "./types";
|
|
10
|
-
import { MongooseRepository } from "./mongoose";
|
|
11
|
-
import { SequelizeRepository } from "./sequelize";
|
|
12
|
-
|
|
13
|
-
export * from "./types";
|
|
14
|
-
|
|
15
|
-
export abstract class BaseRepository<D, T> implements Repository<D, T> {
|
|
16
|
-
private implementation: Repository<D, T>;
|
|
17
|
-
|
|
18
|
-
constructor(config: BaseRepositoryConfig<D>) {
|
|
19
|
-
if (config.type === "mongoose") {
|
|
20
|
-
this.implementation = new MongooseRepository(config);
|
|
21
|
-
} else if (config.type === "sequelize") {
|
|
22
|
-
this.implementation = new SequelizeRepository(
|
|
23
|
-
config as any
|
|
24
|
-
) as unknown as Repository<D, T>;
|
|
25
|
-
} else {
|
|
26
|
-
// Backward compatibility: if type is missing but schema is present, assume Mongoose
|
|
27
|
-
if ((config as any).schema) {
|
|
28
|
-
const mongooseConfig: MongooseRepositoryConfig<D> = {
|
|
29
|
-
type: "mongoose",
|
|
30
|
-
name: (config as any).name,
|
|
31
|
-
schema: (config as any).schema,
|
|
32
|
-
};
|
|
33
|
-
this.implementation = new MongooseRepository(mongooseConfig);
|
|
34
|
-
} else {
|
|
35
|
-
throw new Error(
|
|
36
|
-
"Invalid repository configuration: 'type' must be 'mongoose' or 'sequelize'"
|
|
37
|
-
);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
get model(): MongooseModel<D> | ModelCtor<any> {
|
|
43
|
-
return this.implementation.model;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
public isMongoose(): boolean {
|
|
47
|
-
return this.implementation instanceof MongooseRepository;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
public isSequelize(): boolean {
|
|
51
|
-
return this.implementation instanceof SequelizeRepository;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
public getMongooseModel(): MongooseModel<D> {
|
|
55
|
-
if (!this.isMongoose()) {
|
|
56
|
-
throw new Error("Repository is not using Mongoose");
|
|
57
|
-
}
|
|
58
|
-
return this.implementation.model as MongooseModel<D>;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
public getSequelizeModel(): ModelCtor<any> {
|
|
62
|
-
if (!this.isSequelize()) {
|
|
63
|
-
throw new Error("Repository is not using Sequelize");
|
|
64
|
-
}
|
|
65
|
-
return this.implementation.model as ModelCtor<any>;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
public toLean(input: ToLeanInput<D, T>): LeanDocument<T> | null {
|
|
69
|
-
return this.implementation.toLean(input);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
async findById(id: string): Promise<LeanDocument<T> | null> {
|
|
73
|
-
return this.implementation.findById(id);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
async create(entity: D): Promise<LeanDocument<T>> {
|
|
77
|
-
return this.implementation.create(entity);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
async update(
|
|
81
|
-
id: string,
|
|
82
|
-
update: Partial<D>
|
|
83
|
-
): Promise<LeanDocument<T> | null> {
|
|
84
|
-
return this.implementation.update(id, update);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
async delete(id: string): Promise<LeanDocument<T> | null> {
|
|
88
|
-
return this.implementation.delete(id);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import importedMongoose, { connection, Model, Mongoose } from "mongoose";
|
|
2
|
-
import { v4 as uuidv4 } from "uuid";
|
|
3
|
-
import { container } from "tsyringe";
|
|
4
|
-
import {
|
|
5
|
-
Repository,
|
|
6
|
-
MongooseRepositoryConfig,
|
|
7
|
-
LeanDocument,
|
|
8
|
-
ToLeanInput,
|
|
9
|
-
LeanWithMeta,
|
|
10
|
-
MongooseDoc,
|
|
11
|
-
} from "./types";
|
|
12
|
-
|
|
13
|
-
export class MongooseRepository<D, T> implements Repository<D, T> {
|
|
14
|
-
public readonly model: Model<D>;
|
|
15
|
-
private readonly config: MongooseRepositoryConfig<D>;
|
|
16
|
-
|
|
17
|
-
constructor(config: MongooseRepositoryConfig<D>) {
|
|
18
|
-
this.config = config;
|
|
19
|
-
const mongoose = connection.db?.databaseName
|
|
20
|
-
? importedMongoose
|
|
21
|
-
: container.resolve<Mongoose>(Mongoose);
|
|
22
|
-
|
|
23
|
-
const { name, schema } = this.config;
|
|
24
|
-
|
|
25
|
-
if (name) {
|
|
26
|
-
this.model = mongoose.model<D>(name, schema);
|
|
27
|
-
} else {
|
|
28
|
-
this.model = mongoose.model<D>(uuidv4(), schema);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
this.model.createCollection();
|
|
32
|
-
this.model.createIndexes();
|
|
33
|
-
this.model.init();
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
public toLean(input: ToLeanInput<D, T>): LeanDocument<T> | null {
|
|
37
|
-
if (!input) {
|
|
38
|
-
return null;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
let base: LeanWithMeta<T>;
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
input &&
|
|
45
|
-
typeof input === "object" &&
|
|
46
|
-
"toObject" in input &&
|
|
47
|
-
typeof (input as any).toObject === "function"
|
|
48
|
-
) {
|
|
49
|
-
base = (input as any).toObject({
|
|
50
|
-
virtuals: true,
|
|
51
|
-
}) as LeanWithMeta<T>;
|
|
52
|
-
} else {
|
|
53
|
-
base = input as LeanWithMeta<T>;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
const result: LeanDocument<T> = {
|
|
57
|
-
...(base as T),
|
|
58
|
-
id:
|
|
59
|
-
typeof base.id === "string"
|
|
60
|
-
? base.id
|
|
61
|
-
: typeof base._id === "string"
|
|
62
|
-
? base._id
|
|
63
|
-
: base._id !== undefined
|
|
64
|
-
? String(base._id)
|
|
65
|
-
: "",
|
|
66
|
-
createdAt:
|
|
67
|
-
base.createdAt instanceof Date
|
|
68
|
-
? base.createdAt
|
|
69
|
-
: base.createdAt
|
|
70
|
-
? new Date(base.createdAt as string | number)
|
|
71
|
-
: new Date(),
|
|
72
|
-
updatedAt:
|
|
73
|
-
base.updatedAt instanceof Date
|
|
74
|
-
? base.updatedAt
|
|
75
|
-
: base.updatedAt
|
|
76
|
-
? new Date(base.updatedAt as string | number)
|
|
77
|
-
: new Date(),
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
return result;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
async findById(id: string): Promise<LeanDocument<T> | null> {
|
|
84
|
-
const entity = await this.model
|
|
85
|
-
.findById(id)
|
|
86
|
-
.lean<LeanDocument<T>>({ virtuals: true })
|
|
87
|
-
.exec();
|
|
88
|
-
|
|
89
|
-
return this.toLean(entity);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
async create(entity: D): Promise<LeanDocument<T>> {
|
|
93
|
-
const document = await this.model.create<D>(entity);
|
|
94
|
-
|
|
95
|
-
const leanDocument = this.toLean(document as MongooseDoc<D>);
|
|
96
|
-
|
|
97
|
-
if (!leanDocument) {
|
|
98
|
-
throw new Error("failed to create document");
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
return leanDocument;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
async update(
|
|
105
|
-
id: string,
|
|
106
|
-
update: Partial<D>
|
|
107
|
-
): Promise<LeanDocument<T> | null> {
|
|
108
|
-
const entity = await this.model
|
|
109
|
-
.findByIdAndUpdate(id, update, { new: true })
|
|
110
|
-
.lean<LeanDocument<T>>({ virtuals: true })
|
|
111
|
-
.exec();
|
|
112
|
-
|
|
113
|
-
return this.toLean(entity);
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
async delete(id: string): Promise<LeanDocument<T> | null> {
|
|
117
|
-
const entity = await this.model
|
|
118
|
-
.findByIdAndDelete(id)
|
|
119
|
-
.lean<LeanDocument<T>>({ virtuals: true })
|
|
120
|
-
.exec();
|
|
121
|
-
|
|
122
|
-
return this.toLean(entity);
|
|
123
|
-
}
|
|
124
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { Model, ModelCtor } from "sequelize";
|
|
2
|
-
import { Repository, SequelizeRepositoryConfig, LeanDocument } from "./types";
|
|
3
|
-
|
|
4
|
-
export class SequelizeRepository<D extends Model, T>
|
|
5
|
-
implements Repository<D, T>
|
|
6
|
-
{
|
|
7
|
-
public readonly model: ModelCtor<D>;
|
|
8
|
-
|
|
9
|
-
constructor(config: SequelizeRepositoryConfig<D>) {
|
|
10
|
-
this.model = config.model;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
public toLean(input: any): LeanDocument<T> | null {
|
|
14
|
-
if (!input) return null;
|
|
15
|
-
const plain = input instanceof Model ? input.get({ plain: true }) : input;
|
|
16
|
-
|
|
17
|
-
// Ensure id, createdAt, updatedAt exist and are correct types
|
|
18
|
-
// This assumes the model has these fields.
|
|
19
|
-
return {
|
|
20
|
-
...(plain as T),
|
|
21
|
-
id: String(plain.id || plain._id || ""),
|
|
22
|
-
createdAt: plain.createdAt ? new Date(plain.createdAt) : new Date(),
|
|
23
|
-
updatedAt: plain.updatedAt ? new Date(plain.updatedAt) : new Date(),
|
|
24
|
-
} as LeanDocument<T>;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
async findById(id: string): Promise<LeanDocument<T> | null> {
|
|
28
|
-
const entity = await this.model.findByPk(id);
|
|
29
|
-
return this.toLean(entity);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async create(entity: D): Promise<LeanDocument<T>> {
|
|
33
|
-
const document = await this.model.create(entity as any);
|
|
34
|
-
return this.toLean(document) as LeanDocument<T>;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async update(
|
|
38
|
-
id: string,
|
|
39
|
-
update: Partial<D>
|
|
40
|
-
): Promise<LeanDocument<T> | null> {
|
|
41
|
-
const [affectedCount] = await this.model.update(update as any, {
|
|
42
|
-
where: { id } as any,
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
if (affectedCount === 0) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return this.findById(id);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
async delete(id: string): Promise<LeanDocument<T> | null> {
|
|
53
|
-
const entity = await this.findById(id);
|
|
54
|
-
if (!entity) return null;
|
|
55
|
-
|
|
56
|
-
await this.model.destroy({
|
|
57
|
-
where: { id } as any,
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
return entity;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
[
|
|
64
|
-
{
|
|
65
|
-
type: "image",
|
|
66
|
-
payload: {
|
|
67
|
-
attachment_id: "{{ $json.propertyName }}",
|
|
68
|
-
},
|
|
69
|
-
},
|
|
70
|
-
];
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Document,
|
|
3
|
-
Model as MongooseModel,
|
|
4
|
-
Schema,
|
|
5
|
-
Default__v,
|
|
6
|
-
Require_id,
|
|
7
|
-
ObjectId,
|
|
8
|
-
IfAny,
|
|
9
|
-
} from "mongoose";
|
|
10
|
-
import { Model as SequelizeModel, ModelCtor, Model } from "sequelize";
|
|
11
|
-
|
|
12
|
-
export type WithMongooseMeta<T> = Default__v<Require_id<T>>;
|
|
13
|
-
|
|
14
|
-
export type MongooseDocument<Db> = Document<
|
|
15
|
-
ObjectId,
|
|
16
|
-
{},
|
|
17
|
-
Db,
|
|
18
|
-
Record<string, string>
|
|
19
|
-
> &
|
|
20
|
-
WithMongooseMeta<Db>;
|
|
21
|
-
|
|
22
|
-
export type LeanWithMeta<T> = WithMongooseMeta<T> & {
|
|
23
|
-
id: string;
|
|
24
|
-
createdAt: Date;
|
|
25
|
-
updatedAt: Date;
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export type LeanDocument<T> = T & {
|
|
29
|
-
id: string;
|
|
30
|
-
createdAt: Date;
|
|
31
|
-
updatedAt: Date;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export type MongooseDoc<Db> = IfAny<
|
|
35
|
-
MongooseDocument<Db>,
|
|
36
|
-
MongooseDocument<Db>,
|
|
37
|
-
MongooseDocument<Db>
|
|
38
|
-
>;
|
|
39
|
-
|
|
40
|
-
export type ToLeanInput<D, T> =
|
|
41
|
-
| MongooseDoc<D>
|
|
42
|
-
| LeanDocument<T>
|
|
43
|
-
| null
|
|
44
|
-
| undefined;
|
|
45
|
-
|
|
46
|
-
export type MongooseRepositoryConfig<D> = {
|
|
47
|
-
type: "mongoose";
|
|
48
|
-
name?: string;
|
|
49
|
-
schema: Schema<D>;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export type SequelizeRepositoryConfig<D extends Model> = {
|
|
53
|
-
type: "sequelize";
|
|
54
|
-
model: ModelCtor<D>;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export type BaseRepositoryConfig<D> =
|
|
58
|
-
| MongooseRepositoryConfig<D>
|
|
59
|
-
| SequelizeRepositoryConfig<D extends Model ? D : never>;
|
|
60
|
-
|
|
61
|
-
export type Repository<D, T> = {
|
|
62
|
-
model: MongooseModel<D> | ModelCtor<SequelizeModel<any, any>>;
|
|
63
|
-
|
|
64
|
-
toLean(input: any): LeanDocument<T> | null;
|
|
65
|
-
findById(id: string): Promise<LeanDocument<T> | null>;
|
|
66
|
-
create(entity: D): Promise<LeanDocument<T>>;
|
|
67
|
-
update(id: string, update: Partial<D>): Promise<LeanDocument<T> | null>;
|
|
68
|
-
delete(id: string): Promise<LeanDocument<T> | null>;
|
|
69
|
-
};
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Application, ConfigApplication } from "../application";
|
|
2
|
-
import { ConfigDomain, Domain } from "../domain";
|
|
3
|
-
import { ConfigInfrastructure, Infrastructure } from "../infrastructure";
|
|
4
|
-
import { ConfigService, HandlersType, Service } from "./service/service";
|
|
5
|
-
|
|
6
|
-
export type ConfigMicroService = {
|
|
7
|
-
architecture: {
|
|
8
|
-
application: ConfigApplication;
|
|
9
|
-
domain: ConfigDomain;
|
|
10
|
-
infrastructure: ConfigInfrastructure;
|
|
11
|
-
service: ConfigService;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export class MicroService {
|
|
16
|
-
private application: Application;
|
|
17
|
-
private domain: Domain;
|
|
18
|
-
private infrastructure: Infrastructure;
|
|
19
|
-
private service: Service;
|
|
20
|
-
|
|
21
|
-
constructor(config: ConfigMicroService) {
|
|
22
|
-
const { architecture } = config;
|
|
23
|
-
const { application, domain, infrastructure, service } = architecture;
|
|
24
|
-
|
|
25
|
-
this.application = new Application(application);
|
|
26
|
-
this.domain = new Domain(domain);
|
|
27
|
-
this.infrastructure = new Infrastructure(infrastructure);
|
|
28
|
-
this.service = new Service(service);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
public async start(input: { port: number }): Promise<void> {
|
|
32
|
-
const { port } = input;
|
|
33
|
-
|
|
34
|
-
await this.service.configureDatabases();
|
|
35
|
-
|
|
36
|
-
this.infrastructure.start();
|
|
37
|
-
|
|
38
|
-
this.domain.start();
|
|
39
|
-
|
|
40
|
-
this.application.start();
|
|
41
|
-
|
|
42
|
-
this.service.registerHandlers({
|
|
43
|
-
handlers: this.application.routeHandlers,
|
|
44
|
-
handlersType: HandlersType.ROUTE,
|
|
45
|
-
});
|
|
46
|
-
this.service.registerHandlers({
|
|
47
|
-
handlers: this.application.hookHandlers,
|
|
48
|
-
handlersType: HandlersType.HOOK,
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
await this.service.start({ port });
|
|
52
|
-
}
|
|
53
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./service";
|
package/start.md
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Zacatl Project Onboarding & Usage
|
|
2
|
-
|
|
3
|
-
Welcome to Zacatl! This project uses structured YAML documentation for all context, architecture, coding standards, and best practices.
|
|
4
|
-
|
|
5
|
-
## Getting Started
|
|
6
|
-
|
|
7
|
-
- **Project context, architecture, and component summaries:**
|
|
8
|
-
See [`context.yaml`](./context.yaml)
|
|
9
|
-
- **Coding standards, naming conventions, and best practices:**
|
|
10
|
-
See [`guidelines.yaml`](./guidelines.yaml)
|
|
11
|
-
- **Design and usage patterns:**
|
|
12
|
-
See [`patterns.yaml`](./patterns.yaml)
|
|
13
|
-
- **MongoDB schema design guidelines:**
|
|
14
|
-
See [`mongodb.yaml`](./mongodb.yaml)
|
|
15
|
-
|
|
16
|
-
## Setup
|
|
17
|
-
|
|
18
|
-
1. Install dependencies:
|
|
19
|
-
```zsh
|
|
20
|
-
npm install
|
|
21
|
-
```
|
|
22
|
-
2. Run tests:
|
|
23
|
-
```zsh
|
|
24
|
-
npm test
|
|
25
|
-
```
|
|
26
|
-
3. Explore the codebase, starting from `src/`.
|
|
27
|
-
|
|
28
|
-
## Contributing
|
|
29
|
-
|
|
30
|
-
- Follow the guidelines in `guidelines.yaml` and `patterns.yaml`.
|
|
31
|
-
- Update `context.yaml`, `guidelines.yaml`, `patterns.yaml`, or `mongodb.yaml` with any new patterns or conventions.
|
|
32
|
-
- Place all tests in the `test/` directory, mirroring the `src/` structure.
|
|
33
|
-
|
|
34
|
-
For any questions, refer to the YAML documentation or contact the maintainers.
|
package/test/tsconfig.json
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { FastifyRequest } from "fastify";
|
|
2
|
-
|
|
3
|
-
export const createFakeFastifyRequest = (): Partial<FastifyRequest> => ({
|
|
4
|
-
id: "req-1",
|
|
5
|
-
params: {},
|
|
6
|
-
// raw: {},
|
|
7
|
-
query: {},
|
|
8
|
-
headers: {},
|
|
9
|
-
// log: {
|
|
10
|
-
// info: vi.fn(),
|
|
11
|
-
// error: vi.fn(),
|
|
12
|
-
// },
|
|
13
|
-
server: {} as any,
|
|
14
|
-
body: {},
|
|
15
|
-
// If your code calls these methods, stub them as needed.
|
|
16
|
-
getValidationFunction: vi.fn(),
|
|
17
|
-
compileValidationSchema: vi.fn(),
|
|
18
|
-
validateInput: vi.fn(),
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
// Create a fake FastifyReply object. It mocks the 'code' and 'send' methods.
|
|
22
|
-
export const createFakeFastifyReply = () => {
|
|
23
|
-
const reply: any = {
|
|
24
|
-
code: vi.fn().mockImplementation(function (this: any, code: number) {
|
|
25
|
-
// Save the code for potential additional assertions.
|
|
26
|
-
this.calledCode = code;
|
|
27
|
-
return this;
|
|
28
|
-
}),
|
|
29
|
-
send: vi.fn().mockResolvedValue(undefined),
|
|
30
|
-
};
|
|
31
|
-
return reply;
|
|
32
|
-
};
|