arpakitlib 1.8.101__tar.gz → 1.8.103__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.
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/PKG-INFO +1 -1
- arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +4 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/show_arpakitlib_project_template_info.py +1 -1
- arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/command/start_api.py +26 -0
- arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/command/start_api_for_prod.py +26 -0
- arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/command/start_api_with_reload.py +26 -0
- arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_async_task.py +24 -0
- arpakitlib-1.8.101/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers.py → arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_thread.py +1 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py +1 -1
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py +1 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py +1 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py +10 -1
- arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py +53 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/__init__.py +1 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py +18 -2
- arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/verification_code.py +101 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/arpakitlib_project_template_info.py +1 -1
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/pyproject.toml +1 -1
- arpakitlib-1.8.101/arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +0 -4
- arpakitlib-1.8.101/arpakitlib/_arpakit_project_template_v_5/command/start_api.py +0 -19
- arpakitlib-1.8.101/arpakitlib/_arpakit_project_template_v_5/command/start_api_for_prod.py +0 -19
- arpakitlib-1.8.101/arpakitlib/_arpakit_project_template_v_5/command/start_api_with_reload.py +0 -19
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/LICENSE +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/README.md +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/.gitignore +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/.python-version +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/LICENSE +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/README.md +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic/README +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic/env.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic.ini +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/alembic_upgrade_head.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/beautify_json.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/check_logging.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/check_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/demojize.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/docker_ps_a.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/docker_rm_postgres.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/docker_run_postgres.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/docker_start_postgres.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/docker_stop_postgres.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/drop_json_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/drop_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/emojize.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/generate_settings_env_example.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_commit.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_github_1.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_gitlab_1.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_github_1.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_gitlab_1.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_remote_v.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_company_origin.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_origin.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_set_divarteam_origin.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/git_status.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/hello_world.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/init_json_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_check.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_clear_cache.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_config.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_install.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_lock.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_remove_and_add_arpakitlib.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show_arpakitlib.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update_arpakitlib.sh +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/reinit_all_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/reinit_json_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/remove_operations.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/remove_story_logs.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/rm_all_records_in_json_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/show_settings.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/show_sqlalchemy_db_table_name_to_amount.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_worker.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/start_scheduled_operation_creator_worker.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_for_prod.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_with_reload.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot_for_prod.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/example.env +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/note/note_1.txt +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/note/note_2.txt +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/note/note_3.txt +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/note/note_4.txt +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/note/note_5.txt +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/asgi.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/admin.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/client.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/const.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/event.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/exception.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/response.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/check_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_statuses.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_types.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/main_router.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_1.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_fake_error.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/main_router.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/check_authorization.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_current_api_key.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_errors_info.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/main_router.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/router/main_router.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/common/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/operation.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/story_log.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_1.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_token_1.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user_token.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/datetime_.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/error.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/ok.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/raw_data.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/api_key.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user_token.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/api/util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/business_service/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/business_service/create_first_admin.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/business_service/hello_world.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/business_service/remove_operations.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/celery_/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/cache_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/const.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/dump_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/media_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/settings.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/core/util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/json_db/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/json_db/json_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/more/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/more/helloworld +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/const.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operation_creator_worker.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/1 +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/healthcheck +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/helloworld +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/openapi-favicon.png +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/redoc/redoc.standalone.js +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/sqladmin-favicon.png +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-16x16.png +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-32x32.png +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.css +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.html +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/oauth2-redirect.html +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-initializer.js +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js.map +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css.map +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js.map +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/resource/templates/healthcheck.txt +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_1.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_2.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_3.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_4.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_5.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_6.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_7.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/asgi.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/consts.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/create_site_app.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/event.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/exception_handler.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/router/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/site/router/main_router.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/const.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/test_data/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_api_keys.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_1.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_2.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_3.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_4.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_5.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/admin.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/client.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/const.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/is_private_chat.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/not_prod_mode_filter.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/prod_mode_filter.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_admin.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_client.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/hello_world.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/support.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/hello_world.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/uil.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/clear_log_file.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/current_state.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/drop_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/hello_world.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_not_modified.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_old_cd.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_raise_error.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_remove_message.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/me.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/raise_fake_error.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/healthcheck.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_inline_query.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_message.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/main_router.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/admin.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/client.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/common.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot_dispatcher.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/__init__.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/etc.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/util/__init__.py +0 -0
- /arpakitlib-1.8.101/arpakitlib/_arpakit_project_template_v_5/project/util/arpakitlib_project_template.py → /arpakitlib-1.8.103/arpakitlib/_arpakit_project_template_v_5/project/util/arpakitlib_project_template_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/project/util/etc.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_additional_model_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_aiogram_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_arpakit_schedule_uust_site_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_base64_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_base_worker_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_blank_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_cache_file_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_class_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_cryptomus_api_client_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_datetime_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_dict_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_enumeration_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_exception_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_file_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_func_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_hash_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_http_request_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_ip_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_json_db_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_json_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_jwt_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_list_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_logging_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_mongodb_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_need_type_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_openai_api_client_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_parse_command.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_postgresql_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_rat_func_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_retry_func_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_run_cmd_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_settings_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_sleep_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_sqladmin_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_sqlalchemy_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_ssh_runner_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_str_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_type_util.py +0 -0
- {arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
import uvicorn
|
2
|
+
|
3
|
+
from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
|
4
|
+
from project.core.settings import get_cached_settings
|
5
|
+
from project.core.util import setup_logging
|
6
|
+
from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
|
7
|
+
|
8
|
+
|
9
|
+
def __command():
|
10
|
+
setup_logging()
|
11
|
+
if get_cached_settings().api_start_scheduled_operation_creator_worker:
|
12
|
+
_ = safe_run_worker_in_background(
|
13
|
+
worker=create_scheduled_operation_creator_worker(),
|
14
|
+
mode=SafeRunInBackgroundModes.thread
|
15
|
+
)
|
16
|
+
uvicorn.run(
|
17
|
+
"project.api.asgi:app",
|
18
|
+
port=get_cached_settings().api_port,
|
19
|
+
host="localhost",
|
20
|
+
workers=1,
|
21
|
+
reload=False
|
22
|
+
)
|
23
|
+
|
24
|
+
|
25
|
+
if __name__ == '__main__':
|
26
|
+
__command()
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import uvicorn
|
2
|
+
|
3
|
+
from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
|
4
|
+
from project.core.settings import get_cached_settings
|
5
|
+
from project.core.util import setup_logging
|
6
|
+
from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
|
7
|
+
|
8
|
+
|
9
|
+
def __command():
|
10
|
+
setup_logging()
|
11
|
+
if get_cached_settings().api_start_scheduled_operation_creator_worker:
|
12
|
+
_ = safe_run_worker_in_background(
|
13
|
+
worker=create_scheduled_operation_creator_worker(),
|
14
|
+
mode=SafeRunInBackgroundModes.thread
|
15
|
+
)
|
16
|
+
uvicorn.run(
|
17
|
+
app="project.api.asgi:app",
|
18
|
+
host="127.0.0.1",
|
19
|
+
port=get_cached_settings().api_port,
|
20
|
+
reload=False,
|
21
|
+
workers=4
|
22
|
+
)
|
23
|
+
|
24
|
+
|
25
|
+
if __name__ == '__main__':
|
26
|
+
__command()
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import uvicorn
|
2
|
+
|
3
|
+
from arpakitlib.ar_base_worker_util import SafeRunInBackgroundModes, safe_run_worker_in_background
|
4
|
+
from project.core.settings import get_cached_settings
|
5
|
+
from project.core.util import setup_logging
|
6
|
+
from project.operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
|
7
|
+
|
8
|
+
|
9
|
+
def __command():
|
10
|
+
setup_logging()
|
11
|
+
if get_cached_settings().api_start_scheduled_operation_creator_worker:
|
12
|
+
_ = safe_run_worker_in_background(
|
13
|
+
worker=create_scheduled_operation_creator_worker(),
|
14
|
+
mode=SafeRunInBackgroundModes.thread
|
15
|
+
)
|
16
|
+
uvicorn.run(
|
17
|
+
"project.api.asgi:app",
|
18
|
+
port=get_cached_settings().api_port,
|
19
|
+
host="localhost",
|
20
|
+
workers=1,
|
21
|
+
reload=True
|
22
|
+
)
|
23
|
+
|
24
|
+
|
25
|
+
if __name__ == '__main__':
|
26
|
+
__command()
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import asyncio
|
2
|
+
|
3
|
+
from arpakitlib.ar_base_worker_util import safe_run_workers_in_background, SafeRunInBackgroundModes
|
4
|
+
from project.core.util import setup_logging
|
5
|
+
from project.operation_execution.operation_executor_worker import OperationExecutorWorker
|
6
|
+
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
7
|
+
|
8
|
+
|
9
|
+
async def __async_command():
|
10
|
+
setup_logging()
|
11
|
+
workers = []
|
12
|
+
for i in range(int(input("amount of workers: "))):
|
13
|
+
workers.append(OperationExecutorWorker(
|
14
|
+
sqlalchemy_db=get_cached_sqlalchemy_db(),
|
15
|
+
))
|
16
|
+
async_tasks = safe_run_workers_in_background(
|
17
|
+
workers=workers,
|
18
|
+
mode=SafeRunInBackgroundModes.async_task
|
19
|
+
)
|
20
|
+
await asyncio.gather(*async_tasks)
|
21
|
+
|
22
|
+
|
23
|
+
if __name__ == '__main__':
|
24
|
+
asyncio.run(__async_command())
|
@@ -1,4 +1,5 @@
|
|
1
1
|
from arpakitlib.ar_base_worker_util import safe_run_workers_in_background, SafeRunInBackgroundModes
|
2
|
+
|
2
3
|
from project.core.util import setup_logging
|
3
4
|
from project.operation_execution.operation_executor_worker import OperationExecutorWorker
|
4
5
|
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
@@ -6,7 +6,7 @@ from project.api.authorize import require_user_token_dbm_api_authorize_middlewar
|
|
6
6
|
api_authorize, require_api_key_dbm_api_authorize_middleware
|
7
7
|
from project.api.schema.out.common.error import ErrorCommonSO
|
8
8
|
from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
|
9
|
-
from project.util.
|
9
|
+
from project.util.arpakitlib_project_template_util import get_arpakitlib_project_template_info
|
10
10
|
|
11
11
|
api_router = APIRouter()
|
12
12
|
|
@@ -4,3 +4,4 @@ from project.sqladmin_.model_view.operation import OperationMV
|
|
4
4
|
from project.sqladmin_.model_view.story_log import StoryLogMV
|
5
5
|
from project.sqladmin_.model_view.user import UserMV
|
6
6
|
from project.sqladmin_.model_view.user_token import UserTokenMV
|
7
|
+
from project.sqladmin_.model_view.verification_code import VerificationCodeMV
|
@@ -9,7 +9,16 @@ class StoryLogMV(SimpleMV, model=StoryLogDBM):
|
|
9
9
|
name = "StoryLog"
|
10
10
|
name_plural = "StoryLogs"
|
11
11
|
icon = "fa-solid fa-history"
|
12
|
-
column_list =
|
12
|
+
column_list = [
|
13
|
+
StoryLogDBM.id,
|
14
|
+
StoryLogDBM.long_id,
|
15
|
+
StoryLogDBM.slug,
|
16
|
+
StoryLogDBM.creation_dt,
|
17
|
+
StoryLogDBM.level,
|
18
|
+
StoryLogDBM.type,
|
19
|
+
StoryLogDBM.title,
|
20
|
+
StoryLogDBM.extra_data
|
21
|
+
]
|
13
22
|
form_columns = [
|
14
23
|
StoryLogDBM.slug,
|
15
24
|
StoryLogDBM.level,
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
import sqlalchemy
|
4
|
+
|
5
|
+
from project.sqladmin_.model_view import SimpleMV
|
6
|
+
from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
|
7
|
+
from project.sqlalchemy_db_.sqlalchemy_model import VerificationCodeDBM
|
8
|
+
|
9
|
+
|
10
|
+
class VerificationCodeMV(SimpleMV, model=VerificationCodeDBM):
|
11
|
+
name = "VerificationCode"
|
12
|
+
name_plural = "VerificationCodes"
|
13
|
+
icon = "fa-solid fa-envelope"
|
14
|
+
column_list = [
|
15
|
+
VerificationCodeDBM.id,
|
16
|
+
VerificationCodeDBM.long_id,
|
17
|
+
VerificationCodeDBM.slug,
|
18
|
+
VerificationCodeDBM.creation_dt,
|
19
|
+
VerificationCodeDBM.type,
|
20
|
+
VerificationCodeDBM.value,
|
21
|
+
VerificationCodeDBM.recipient,
|
22
|
+
VerificationCodeDBM.user,
|
23
|
+
VerificationCodeDBM.is_active,
|
24
|
+
VerificationCodeDBM.extra_data
|
25
|
+
]
|
26
|
+
form_columns = [
|
27
|
+
VerificationCodeDBM.slug,
|
28
|
+
VerificationCodeDBM.type,
|
29
|
+
VerificationCodeDBM.value,
|
30
|
+
VerificationCodeDBM.recipient,
|
31
|
+
VerificationCodeDBM.user,
|
32
|
+
VerificationCodeDBM.is_active,
|
33
|
+
VerificationCodeDBM.extra_data
|
34
|
+
]
|
35
|
+
column_sortable_list = sqlalchemy.inspect(VerificationCodeDBM).columns
|
36
|
+
column_default_sort = [
|
37
|
+
(VerificationCodeDBM.creation_dt, True)
|
38
|
+
]
|
39
|
+
column_searchable_list = [
|
40
|
+
VerificationCodeDBM.id,
|
41
|
+
VerificationCodeDBM.long_id,
|
42
|
+
VerificationCodeDBM.slug,
|
43
|
+
VerificationCodeDBM.value,
|
44
|
+
VerificationCodeDBM.recipient,
|
45
|
+
]
|
46
|
+
column_formatters = {
|
47
|
+
VerificationCodeDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
48
|
+
VerificationCodeDBM.extra_data: lambda m, _: format_json_for_preview_(m.extra_data)
|
49
|
+
}
|
50
|
+
column_formatters_detail = {
|
51
|
+
VerificationCodeDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
52
|
+
VerificationCodeDBM.extra_data: lambda m, a: format_json_(m.extra_data),
|
53
|
+
}
|
@@ -6,6 +6,7 @@ from project.sqlalchemy_db_.sqlalchemy_model.operation import OperationDBM
|
|
6
6
|
from project.sqlalchemy_db_.sqlalchemy_model.story_log import StoryLogDBM
|
7
7
|
from project.sqlalchemy_db_.sqlalchemy_model.user import UserDBM
|
8
8
|
from project.sqlalchemy_db_.sqlalchemy_model.user_token import UserTokenDBM
|
9
|
+
from project.sqlalchemy_db_.sqlalchemy_model.verification_code import VerificationCodeDBM
|
9
10
|
|
10
11
|
if __name__ == '__main__':
|
11
12
|
print(get_string_info_from_declarative_base(SimpleDBM))
|
@@ -5,16 +5,18 @@ from typing import TYPE_CHECKING, Any
|
|
5
5
|
from uuid import uuid4
|
6
6
|
|
7
7
|
import sqlalchemy
|
8
|
+
from email_validator import validate_email
|
9
|
+
from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
|
10
|
+
|
8
11
|
from arpakitlib.ar_datetime_util import now_utc_dt
|
9
12
|
from arpakitlib.ar_enumeration_util import Enumeration
|
10
13
|
from arpakitlib.ar_str_util import make_none_if_blank
|
11
14
|
from arpakitlib.ar_type_util import raise_for_type
|
12
|
-
from email_validator import validate_email
|
13
15
|
from project.sqlalchemy_db_.sqlalchemy_model.common import SimpleDBM
|
14
|
-
from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
|
15
16
|
|
16
17
|
if TYPE_CHECKING:
|
17
18
|
from project.sqlalchemy_db_.sqlalchemy_model.user_token import UserTokenDBM
|
19
|
+
from project.sqlalchemy_db_.sqlalchemy_model.verification_code import VerificationCodeDBM
|
18
20
|
|
19
21
|
|
20
22
|
def generate_default_user_password() -> str:
|
@@ -55,6 +57,13 @@ class UserDBM(SimpleDBM):
|
|
55
57
|
insert_default=True,
|
56
58
|
server_default="true",
|
57
59
|
)
|
60
|
+
is_verified: Mapped[bool] = mapped_column(
|
61
|
+
sqlalchemy.Boolean,
|
62
|
+
nullable=False,
|
63
|
+
index=True,
|
64
|
+
insert_default=False,
|
65
|
+
server_default="false",
|
66
|
+
)
|
58
67
|
password: Mapped[str | None] = mapped_column(
|
59
68
|
sqlalchemy.TEXT,
|
60
69
|
nullable=True,
|
@@ -87,6 +96,13 @@ class UserDBM(SimpleDBM):
|
|
87
96
|
foreign_keys="UserTokenDBM.user_id",
|
88
97
|
cascade="all, delete-orphan"
|
89
98
|
)
|
99
|
+
verification_codes: Mapped[list[VerificationCodeDBM]] = relationship(
|
100
|
+
"VerificationCodeDBM",
|
101
|
+
uselist=True,
|
102
|
+
back_populates="user",
|
103
|
+
foreign_keys="VerificationCodeDBM.user_id",
|
104
|
+
cascade="all, delete-orphan"
|
105
|
+
)
|
90
106
|
|
91
107
|
def __repr__(self) -> str:
|
92
108
|
parts = [f"id={self.id}"]
|
@@ -0,0 +1,101 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from random import randint
|
4
|
+
from typing import TYPE_CHECKING
|
5
|
+
|
6
|
+
import sqlalchemy
|
7
|
+
from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
|
8
|
+
|
9
|
+
from arpakitlib.ar_enumeration_util import Enumeration
|
10
|
+
from arpakitlib.ar_str_util import make_none_if_blank
|
11
|
+
from project.sqlalchemy_db_.sqlalchemy_model.common import SimpleDBM
|
12
|
+
|
13
|
+
if TYPE_CHECKING:
|
14
|
+
from project.sqlalchemy_db_.sqlalchemy_model.user import UserDBM
|
15
|
+
|
16
|
+
|
17
|
+
def generate_default_verification_code_value() -> str:
|
18
|
+
alphabet: list = list("JZSDQWRLGFZX" + "123456789")
|
19
|
+
return "".join(alphabet[randint(0, len(alphabet) - 1)] for _ in range(7))
|
20
|
+
|
21
|
+
|
22
|
+
class VerificationCodeDBM(SimpleDBM):
|
23
|
+
__tablename__ = "verification_code"
|
24
|
+
|
25
|
+
class Types(Enumeration):
|
26
|
+
register_or_authenticate = "register_or_authenticate"
|
27
|
+
reset_email = "reset_email"
|
28
|
+
|
29
|
+
type: Mapped[str] = mapped_column(
|
30
|
+
sqlalchemy.TEXT,
|
31
|
+
nullable=False,
|
32
|
+
index=True,
|
33
|
+
)
|
34
|
+
value: Mapped[str] = mapped_column(
|
35
|
+
sqlalchemy.TEXT,
|
36
|
+
nullable=False,
|
37
|
+
index=True,
|
38
|
+
insert_default=generate_default_verification_code_value,
|
39
|
+
server_default=sqlalchemy.func.gen_random_uuid(),
|
40
|
+
)
|
41
|
+
recipient: Mapped[str | None] = mapped_column(
|
42
|
+
sqlalchemy.TEXT,
|
43
|
+
nullable=True,
|
44
|
+
index=True,
|
45
|
+
)
|
46
|
+
user_id: Mapped[int | None] = mapped_column(
|
47
|
+
sqlalchemy.BIGINT,
|
48
|
+
sqlalchemy.ForeignKey("user.id", ondelete="CASCADE"),
|
49
|
+
nullable=True,
|
50
|
+
index=True,
|
51
|
+
)
|
52
|
+
is_active: Mapped[bool] = mapped_column(
|
53
|
+
sqlalchemy.BOOLEAN,
|
54
|
+
nullable=False,
|
55
|
+
index=True,
|
56
|
+
insert_default=True,
|
57
|
+
server_default="true"
|
58
|
+
)
|
59
|
+
|
60
|
+
# one to many
|
61
|
+
user: Mapped[UserDBM | None] = relationship(
|
62
|
+
"UserDBM",
|
63
|
+
uselist=False,
|
64
|
+
back_populates="verification_codes",
|
65
|
+
foreign_keys=[user_id]
|
66
|
+
)
|
67
|
+
|
68
|
+
def __repr__(self) -> str:
|
69
|
+
parts = [
|
70
|
+
f"id={self.id}",
|
71
|
+
f"type={self.type}"
|
72
|
+
]
|
73
|
+
if self.recipient is not None:
|
74
|
+
parts.append(f"recipient={self.recipient}")
|
75
|
+
elif self.user_id is not None:
|
76
|
+
parts.append(f"user_id={self.user_id}")
|
77
|
+
return f"{self.entity_name} ({', '.join(parts)})"
|
78
|
+
|
79
|
+
@validates("type")
|
80
|
+
def _validate_type(self, key, value, *args, **kwargs):
|
81
|
+
if not isinstance(value, str):
|
82
|
+
raise ValueError(f"{key=}, {value=}, value is not str")
|
83
|
+
value = value.strip()
|
84
|
+
if not value:
|
85
|
+
raise ValueError(f"{key=}, {value=}, value is empty")
|
86
|
+
if value not in self.Types.values_list():
|
87
|
+
raise ValueError(f"{value} not in {self.Types.values_list()}")
|
88
|
+
return value
|
89
|
+
|
90
|
+
@validates("recipient")
|
91
|
+
def _validate_recipient(self, key, value, *args, **kwargs):
|
92
|
+
if value is None:
|
93
|
+
return None
|
94
|
+
if not isinstance(value, str):
|
95
|
+
raise ValueError(f"{key=}, {value=}, value is not str")
|
96
|
+
value = make_none_if_blank(value.strip())
|
97
|
+
return value
|
98
|
+
|
99
|
+
@property
|
100
|
+
def sdp_allowed_types(self) -> list[str]:
|
101
|
+
return self.Types.values_list()
|
@@ -7,7 +7,7 @@ from project.tg_bot.const import AdminTgBotCommands
|
|
7
7
|
from project.tg_bot.filter_.is_private_chat import IsPrivateChatTgBotFilter
|
8
8
|
from project.tg_bot.filter_.user_roles_has_admin import UserRolesHasAdminTgBotFilter
|
9
9
|
from project.tg_bot.middleware.common import MiddlewareDataTgBot
|
10
|
-
from project.util.
|
10
|
+
from project.util.arpakitlib_project_template_util import get_arpakitlib_project_template_info
|
11
11
|
|
12
12
|
tg_bot_router = aiogram.Router()
|
13
13
|
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import uvicorn
|
2
|
-
|
3
|
-
from project.core.settings import get_cached_settings
|
4
|
-
from project.core.util import setup_logging
|
5
|
-
|
6
|
-
|
7
|
-
def __command():
|
8
|
-
setup_logging()
|
9
|
-
uvicorn.run(
|
10
|
-
"project.api.asgi:app",
|
11
|
-
port=get_cached_settings().api_port,
|
12
|
-
host="localhost",
|
13
|
-
workers=1,
|
14
|
-
reload=False
|
15
|
-
)
|
16
|
-
|
17
|
-
|
18
|
-
if __name__ == '__main__':
|
19
|
-
__command()
|
@@ -1,19 +0,0 @@
|
|
1
|
-
import uvicorn
|
2
|
-
|
3
|
-
from project.core.settings import get_cached_settings
|
4
|
-
from project.core.util import setup_logging
|
5
|
-
|
6
|
-
|
7
|
-
def __command():
|
8
|
-
setup_logging()
|
9
|
-
uvicorn.run(
|
10
|
-
app="project.api.asgi:app",
|
11
|
-
host="127.0.0.1",
|
12
|
-
port=get_cached_settings().api_port,
|
13
|
-
reload=False,
|
14
|
-
workers=4
|
15
|
-
)
|
16
|
-
|
17
|
-
|
18
|
-
if __name__ == '__main__':
|
19
|
-
__command()
|
arpakitlib-1.8.101/arpakitlib/_arpakit_project_template_v_5/command/start_api_with_reload.py
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
import uvicorn
|
2
|
-
|
3
|
-
from project.core.settings import get_cached_settings
|
4
|
-
from project.core.util import setup_logging
|
5
|
-
|
6
|
-
|
7
|
-
def __command():
|
8
|
-
setup_logging()
|
9
|
-
uvicorn.run(
|
10
|
-
"project.api.asgi:app",
|
11
|
-
port=get_cached_settings().api_port,
|
12
|
-
host="localhost",
|
13
|
-
workers=1,
|
14
|
-
reload=True
|
15
|
-
)
|
16
|
-
|
17
|
-
|
18
|
-
if __name__ == '__main__':
|
19
|
-
__command()
|
File without changes
|
File without changes
|
File without changes
|
{arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/.gitignore
RENAMED
File without changes
|
{arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/.python-version
RENAMED
File without changes
|
File without changes
|
{arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/README.md
RENAMED
File without changes
|
{arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic/README
RENAMED
File without changes
|
{arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic/env.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{arpakitlib-1.8.101 → arpakitlib-1.8.103}/arpakitlib/_arpakit_project_template_v_5/alembic.ini
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
|