aury-boot 0.0.11__tar.gz → 0.0.12__tar.gz
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.
- {aury_boot-0.0.11 → aury_boot-0.0.12}/PKG-INFO +1 -1
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/_version.py +2 -2
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/10-storage.md.tpl +49 -6
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/16-adapter.md.tpl +28 -28
- {aury_boot-0.0.11 → aury_boot-0.0.12}/.gitignore +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/README.md +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/adapter/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/adapter/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/adapter/config.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/adapter/decorators.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/adapter/exceptions.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/adapter/http.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/app/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/app/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/app/components.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/app/middlewares.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/app/startup.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/config/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/config/multi_instance.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/config/settings.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/constants/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/constants/components.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/constants/scheduler.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/constants/service.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/errors/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/errors/chain.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/errors/codes.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/errors/exceptions.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/errors/handlers.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/errors/response.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/interfaces/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/interfaces/egress.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/interfaces/ingress.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/middleware/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/middleware/logging.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/migrations/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/migrations/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/migrations/setup.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/rpc/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/rpc/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/rpc/client.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/rpc/discovery.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/scheduler/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/scheduler/runner.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/application/server/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/add.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/app.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/config.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/docker.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/docs.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/generate.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/init.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/migrate/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/migrate/app.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/migrate/commands.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/pkg.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/scheduler.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/server/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/server/app.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/generate/api.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/generate/model.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/generate/repository.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/generate/schema.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/generate/service.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/AGENTS.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/README.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/admin_console_init.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/00-overview.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/01-model.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/02-repository.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/03-service.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/04-schema.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/05-api.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/06-exception.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/07-cache.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/08-scheduler.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/09-tasks.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/11-logging.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/12-admin.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/13-channel.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/14-mq.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/15-events.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/99-cli.md.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/config.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/conftest.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/_header.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/admin.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/cache.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/database.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/log.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/messaging.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/rpc.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/scheduler.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/service.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/storage.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/third_party.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/gitignore.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/main.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/api.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/exceptions.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/schedules.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/tasks.py.tpl +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/worker.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/exceptions/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/i18n/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/i18n/translator.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/logging/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/logging/context.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/logging/decorators.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/logging/format.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/common/logging/setup.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/contrib/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/contrib/admin_console/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/contrib/admin_console/auth.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/contrib/admin_console/discovery.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/contrib/admin_console/install.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/contrib/admin_console/utils.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/exceptions/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/models/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/models/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/models/mixins.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/models/models.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/pagination/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/repository/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/repository/impl.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/repository/interceptors.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/repository/interface.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/repository/query_builder.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/service/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/service/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/domain/transaction/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/cache/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/cache/backends.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/cache/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/cache/exceptions.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/cache/factory.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/cache/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/channel/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/channel/backends/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/channel/backends/memory.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/channel/backends/redis.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/channel/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/channel/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/clients/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/clients/rabbitmq/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/clients/rabbitmq/config.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/clients/rabbitmq/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/clients/redis/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/clients/redis/config.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/clients/redis/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/config.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/exceptions.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/query_tools/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/strategies/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/di/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/di/container.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/backends/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/backends/memory.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/backends/rabbitmq.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/backends/redis.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/events/middleware.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/monitoring/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/mq/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/mq/backends/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/mq/backends/rabbitmq.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/mq/backends/redis.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/mq/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/mq/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/scheduler/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/scheduler/exceptions.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/scheduler/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/storage/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/storage/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/storage/exceptions.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/storage/factory.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/tasks/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/tasks/config.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/tasks/constants.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/tasks/exceptions.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/tasks/manager.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/testing/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/testing/base.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/testing/client.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/testing/factory.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/toolkit/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/toolkit/http/__init__.py +0 -0
- {aury_boot-0.0.11 → aury_boot-0.0.12}/pyproject.toml +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0, 0,
|
|
31
|
+
__version__ = version = '0.0.12'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 0, 12)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -11,17 +11,20 @@ pip install "aury-sdk-storage[aws]"
|
|
|
11
11
|
|
|
12
12
|
## 10.2 基本用法(StorageManager)
|
|
13
13
|
|
|
14
|
-
`StorageManager`
|
|
14
|
+
`StorageManager` 支持**命名多实例**,内部使用 `aury-sdk-storage` 提供的 `StorageFactory.from_config()` 智能选择后端(COS 原生 / S3 兼容等),对上层暴露统一接口。
|
|
15
15
|
|
|
16
16
|
```python
|
|
17
17
|
from aury.boot.infrastructure.storage import (
|
|
18
|
-
StorageManager,
|
|
18
|
+
StorageManager,
|
|
19
|
+
StorageConfig,
|
|
20
|
+
StorageBackend,
|
|
21
|
+
StorageFile,
|
|
19
22
|
)
|
|
20
23
|
|
|
21
24
|
# 默认实例
|
|
22
25
|
storage = StorageManager.get_instance()
|
|
23
26
|
await storage.initialize(StorageConfig(
|
|
24
|
-
backend=StorageBackend.COS,
|
|
27
|
+
backend=StorageBackend.COS, # 自动选择 COS 原生 SDK 或 S3 兼容模式
|
|
25
28
|
bucket_name="my-bucket-1250000000",
|
|
26
29
|
region="ap-guangzhou",
|
|
27
30
|
endpoint="https://cos.ap-guangzhou.myqcloud.com",
|
|
@@ -45,6 +48,12 @@ url = await storage.upload_file(
|
|
|
45
48
|
)
|
|
46
49
|
)
|
|
47
50
|
|
|
51
|
+
# 批量上传
|
|
52
|
+
urls = await storage.upload_files([
|
|
53
|
+
StorageFile(object_name="img/1.jpg", data=b"..."),
|
|
54
|
+
StorageFile(object_name="img/2.jpg", data=b"..."),
|
|
55
|
+
])
|
|
56
|
+
|
|
48
57
|
# 下载文件
|
|
49
58
|
content = await storage.download_file("user/123/avatar.png")
|
|
50
59
|
|
|
@@ -58,7 +67,38 @@ exists = await storage.file_exists("user/123/avatar.png")
|
|
|
58
67
|
await storage.delete_file("user/123/avatar.png")
|
|
59
68
|
```
|
|
60
69
|
|
|
61
|
-
## 10.3
|
|
70
|
+
## 10.3 高级用法:直接使用 SDKStorageFactory / StorageType
|
|
71
|
+
|
|
72
|
+
对于需要更精细控制后端类型(如在脚手架或基础设施层扩展存储实现)的场景,可以直接使用 SDK 导出的类型:
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
from aury.boot.infrastructure.storage import (
|
|
76
|
+
COSStorage,
|
|
77
|
+
LocalStorage,
|
|
78
|
+
S3Storage,
|
|
79
|
+
SDKStorageFactory, # SDK 工厂(基于 StorageType 枚举)
|
|
80
|
+
StorageConfig,
|
|
81
|
+
StorageFile,
|
|
82
|
+
StorageType,
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
# 使用 StorageType 创建后端
|
|
86
|
+
config = StorageConfig(
|
|
87
|
+
backend=StorageType.COS,
|
|
88
|
+
bucket_name="my-bucket-1250000000",
|
|
89
|
+
region="ap-guangzhou",
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
backend = SDKStorageFactory.from_config(config)
|
|
93
|
+
result = await backend.upload_file(
|
|
94
|
+
StorageFile(object_name="dev/test.txt", data=b"hello"),
|
|
95
|
+
)
|
|
96
|
+
print(result.url)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
> 一般业务代码直接通过 `StorageManager` 即可,只有在需要自定义装配流程或编写基础设施扩展时才需要直接使用 `SDKStorageFactory` / `StorageType` / `COSStorage` 等类型。
|
|
100
|
+
|
|
101
|
+
## 10.4 STS 临时凭证(前端直传)
|
|
62
102
|
|
|
63
103
|
```python
|
|
64
104
|
from aury.sdk.storage.sts import (
|
|
@@ -95,11 +135,14 @@ return {{
|
|
|
95
135
|
}}
|
|
96
136
|
```
|
|
97
137
|
|
|
98
|
-
## 10.
|
|
138
|
+
## 10.5 本地存储(开发测试)
|
|
99
139
|
|
|
100
140
|
```python
|
|
101
141
|
from aury.boot.infrastructure.storage import (
|
|
102
|
-
StorageManager,
|
|
142
|
+
StorageManager,
|
|
143
|
+
StorageConfig,
|
|
144
|
+
StorageBackend,
|
|
145
|
+
StorageFile,
|
|
103
146
|
)
|
|
104
147
|
|
|
105
148
|
storage = StorageManager.get_instance()
|
|
@@ -33,7 +33,7 @@ class PaymentAdapter(BaseAdapter):
|
|
|
33
33
|
# 真实调用第三方 API
|
|
34
34
|
response = await self.http_client.post(
|
|
35
35
|
"https://api.payment.com/orders",
|
|
36
|
-
json={"amount": amount, "order_id": order_id},
|
|
36
|
+
json={{"amount": amount, "order_id": order_id}},
|
|
37
37
|
)
|
|
38
38
|
return response.json()
|
|
39
39
|
|
|
@@ -41,12 +41,12 @@ class PaymentAdapter(BaseAdapter):
|
|
|
41
41
|
async def create_order_mock(self, amount: int, order_id: str) -> dict:
|
|
42
42
|
"""创建支付订单(Mock 实现)。"""
|
|
43
43
|
if amount > 100000:
|
|
44
|
-
return {"success": False, "error": "金额超限"}
|
|
45
|
-
return {
|
|
44
|
+
return {{"success": False, "error": "金额超限"}}
|
|
45
|
+
return {{
|
|
46
46
|
"success": True,
|
|
47
|
-
"transaction_id": f"mock_tx_{order_id}",
|
|
47
|
+
"transaction_id": f"mock_tx_{{order_id}}",
|
|
48
48
|
"amount": amount,
|
|
49
|
-
}
|
|
49
|
+
}}
|
|
50
50
|
|
|
51
51
|
@adapter_method("query_order")
|
|
52
52
|
async def query_order(self, transaction_id: str) -> dict:
|
|
@@ -59,11 +59,11 @@ class PaymentAdapter(BaseAdapter):
|
|
|
59
59
|
@query_order.mock
|
|
60
60
|
async def query_order_mock(self, transaction_id: str) -> dict:
|
|
61
61
|
"""查询支付订单(Mock)。"""
|
|
62
|
-
return {
|
|
62
|
+
return {{
|
|
63
63
|
"transaction_id": transaction_id,
|
|
64
64
|
"status": "paid",
|
|
65
65
|
"mock": True,
|
|
66
|
-
}
|
|
66
|
+
}}
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
## 16.3 Adapter 配置
|
|
@@ -78,7 +78,7 @@ THIRD_PARTY__GATEWAY_MODE=mock
|
|
|
78
78
|
|
|
79
79
|
# 方法级模式覆盖(JSON 格式)
|
|
80
80
|
# 例如:query 方法使用 real,其他方法使用全局配置
|
|
81
|
-
THIRD_PARTY__METHOD_MODES={"query_order": "real"}
|
|
81
|
+
THIRD_PARTY__METHOD_MODES={{"query_order": "real"}}
|
|
82
82
|
|
|
83
83
|
# Mock 策略:decorator(装饰器)/ auto(自动生成)
|
|
84
84
|
THIRD_PARTY__MOCK_STRATEGY=decorator
|
|
@@ -140,7 +140,7 @@ class WechatAdapter(HttpAdapter):
|
|
|
140
140
|
return await self._request(
|
|
141
141
|
"POST",
|
|
142
142
|
"/cgi-bin/message/send",
|
|
143
|
-
json={"touser": openid, "content": content},
|
|
143
|
+
json={{"touser": openid, "content": content}},
|
|
144
144
|
)
|
|
145
145
|
|
|
146
146
|
@send_message.mock
|
|
@@ -156,13 +156,13 @@ class WechatAdapter(HttpAdapter):
|
|
|
156
156
|
```python
|
|
157
157
|
settings = AdapterSettings(
|
|
158
158
|
mode="mock", # 默认 Mock
|
|
159
|
-
method_modes={
|
|
159
|
+
method_modes={{
|
|
160
160
|
"query_order": "real", # 查询走真实接口
|
|
161
161
|
"create_order": "mock", # 创建走 Mock
|
|
162
162
|
"refund": "disabled", # 退款禁用
|
|
163
|
-
},
|
|
163
|
+
}},
|
|
164
|
+
debug=True,
|
|
164
165
|
)
|
|
165
|
-
|
|
166
166
|
adapter = PaymentAdapter("payment", settings)
|
|
167
167
|
|
|
168
168
|
# query_order 会调用真实 API
|
|
@@ -237,19 +237,19 @@ class PaymentAdapter(HttpAdapter):
|
|
|
237
237
|
self, method: str, args: tuple, kwargs: dict
|
|
238
238
|
) -> None:
|
|
239
239
|
"""调用前钩子。"""
|
|
240
|
-
logger.info(f"调用 {method},参数: {args}")
|
|
240
|
+
logger.info(f"调用 {{method}},参数: {{args}}")
|
|
241
241
|
|
|
242
242
|
async def _on_after_call(
|
|
243
243
|
self, method: str, args: tuple, kwargs: dict, result: Any
|
|
244
244
|
) -> None:
|
|
245
245
|
"""调用后钩子。"""
|
|
246
|
-
logger.info(f"{method} 返回: {result}")
|
|
246
|
+
logger.info(f"{{method}} 返回: {{result}}")
|
|
247
247
|
|
|
248
248
|
async def _on_call_error(
|
|
249
249
|
self, method: str, args: tuple, kwargs: dict, error: Exception
|
|
250
250
|
) -> None:
|
|
251
251
|
"""调用异常钩子。"""
|
|
252
|
-
logger.error(f"{method} 异常: {error}")
|
|
252
|
+
logger.error(f"{{method}} 异常: {{error}}")
|
|
253
253
|
# 可以在这里发送告警
|
|
254
254
|
```
|
|
255
255
|
|
|
@@ -277,11 +277,11 @@ class CompositePaymentAdapter(BaseAdapter):
|
|
|
277
277
|
@pay.mock
|
|
278
278
|
async def pay_mock(self, channel: str, amount: int, order_id: str) -> dict:
|
|
279
279
|
"""统一 Mock 实现。"""
|
|
280
|
-
return {
|
|
280
|
+
return {{
|
|
281
281
|
"success": True,
|
|
282
282
|
"channel": channel,
|
|
283
|
-
"transaction_id": f"mock_{channel}_{order_id}",
|
|
284
|
-
}
|
|
283
|
+
"transaction_id": f"mock_{{channel}}_{{order_id}}",
|
|
284
|
+
}}
|
|
285
285
|
```
|
|
286
286
|
|
|
287
287
|
## 16.8 异常处理
|
|
@@ -303,9 +303,9 @@ except AdapterTimeoutError:
|
|
|
303
303
|
logger.error("支付适配器超时")
|
|
304
304
|
# 重试或告警
|
|
305
305
|
except AdapterValidationError as e:
|
|
306
|
-
logger.error(f"参数校验失败: {e}")
|
|
306
|
+
logger.error(f"参数校验失败: {{e}}")
|
|
307
307
|
except AdapterError as e:
|
|
308
|
-
logger.error(f"适配器错误: {e}")
|
|
308
|
+
logger.error(f"适配器错误: {{e}}")
|
|
309
309
|
```
|
|
310
310
|
|
|
311
311
|
## 16.9 最佳实践
|
|
@@ -329,16 +329,16 @@ async def create_order_mock(self, amount: int, order_id: str) -> dict:
|
|
|
329
329
|
"""Mock 应模拟各种场景。"""
|
|
330
330
|
# 模拟金额校验
|
|
331
331
|
if amount <= 0:
|
|
332
|
-
return {"success": False, "error": "金额必须大于0"}
|
|
332
|
+
return {{"success": False, "error": "金额必须大于0"}}
|
|
333
333
|
if amount > 100000:
|
|
334
|
-
return {"success": False, "error": "金额超限"}
|
|
334
|
+
return {{"success": False, "error": "金额超限"}}
|
|
335
335
|
|
|
336
336
|
# 模拟偶发失败(可选)
|
|
337
337
|
import random
|
|
338
338
|
if random.random() < 0.01:
|
|
339
|
-
return {"success": False, "error": "系统繁忙"}
|
|
339
|
+
return {{"success": False, "error": "系统繁忙"}}
|
|
340
340
|
|
|
341
|
-
return {"success": True, "transaction_id": f"mock_{order_id}"}
|
|
341
|
+
return {{"success": True, "transaction_id": f"mock_{{order_id}}"}}
|
|
342
342
|
```
|
|
343
343
|
|
|
344
344
|
### 3. 环境配置建议
|
|
@@ -381,11 +381,11 @@ class OrderService(BaseService):
|
|
|
381
381
|
async def create_order(self, user_id: str, amount: int) -> Order:
|
|
382
382
|
"""创建订单并发起支付。"""
|
|
383
383
|
# 1. 创建订单记录
|
|
384
|
-
order = await self.order_repo.create({
|
|
384
|
+
order = await self.order_repo.create({{
|
|
385
385
|
"user_id": user_id,
|
|
386
386
|
"amount": amount,
|
|
387
387
|
"status": "pending",
|
|
388
|
-
})
|
|
388
|
+
}})
|
|
389
389
|
|
|
390
390
|
# 2. 调用支付适配器
|
|
391
391
|
pay_result = await self.payment.create_order(amount, str(order.id))
|
|
@@ -394,10 +394,10 @@ class OrderService(BaseService):
|
|
|
394
394
|
raise PaymentError(pay_result["error"])
|
|
395
395
|
|
|
396
396
|
# 3. 更新订单状态
|
|
397
|
-
await self.order_repo.update(order, {
|
|
397
|
+
await self.order_repo.update(order, {{
|
|
398
398
|
"transaction_id": pay_result["transaction_id"],
|
|
399
399
|
"status": "paid",
|
|
400
|
-
})
|
|
400
|
+
}})
|
|
401
401
|
|
|
402
402
|
return order
|
|
403
403
|
```
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/generate/repository.py.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/admin_console_init.py.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/01-model.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/05-api.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/07-cache.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/09-tasks.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/12-admin.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/14-mq.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/aury_docs/99-cli.md.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/_header.tpl
RENAMED
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/admin.tpl
RENAMED
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/cache.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/log.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/rpc.tpl
RENAMED
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/service.tpl
RENAMED
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/env_templates/storage.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/api.py.tpl
RENAMED
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/exceptions.py.tpl
RENAMED
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/schedules.py.tpl
RENAMED
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/commands/templates/project/modules/tasks.py.tpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/query_tools/__init__.py
RENAMED
|
File without changes
|
{aury_boot-0.0.11 → aury_boot-0.0.12}/aury/boot/infrastructure/database/strategies/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|