arpakitlib 1.8.111__tar.gz → 1.8.112__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.111 → arpakitlib-1.8.112}/PKG-INFO +1 -1
- arpakitlib-1.8.112/arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +4 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py +1 -5
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py +1 -5
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py +0 -5
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/settings.py +12 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py +1 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py +0 -1
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +1 -2
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +1 -2
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/verification_code.py +10 -1
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_1.py +18 -2
- arpakitlib-1.8.112/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/blank.py +20 -0
- arpakitlib-1.8.112/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier/tg_bot_notifier.py +24 -0
- arpakitlib-1.8.112/arpakitlib/_arpakit_project_template_v_5/project/util/etc.py +0 -0
- arpakitlib-1.8.112/arpakitlib/_arpakit_project_template_v_5/project/util/send_email.py +81 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/pyproject.toml +1 -1
- arpakitlib-1.8.111/arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +0 -4
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/LICENSE +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/README.md +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/.gitignore +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/.python-version +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/LICENSE +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/README.md +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/alembic/README +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/alembic/env.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/alembic.ini +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/alembic_upgrade_head.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/beautify_json.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/check_logging.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/check_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/demojize.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/docker_ps_a.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/docker_rm_postgres.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/docker_run_postgres.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/docker_start_postgres.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/docker_stop_postgres.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/drop_json_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/drop_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/emojize.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/generate_settings_env_example.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_commit.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_github_1.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_company_gitlab_1.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_github_1.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_push_arpakit_gitlab_1.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_remote_v.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_company_origin.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_set_arpakit_origin.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_set_divarteam_origin.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/git_status.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/hello_world.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/init_json_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_check.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_clear_cache.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_config.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_install.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_lock.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_remove_and_add_arpakitlib.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_show_arpakitlib.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/poetry_update_arpakitlib.sh +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/reinit_all_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/reinit_json_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/remove_operations.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/remove_story_logs.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/rm_all_records_in_json_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/show_arpakitlib_project_template_info.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/show_settings.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/show_sqlalchemy_db_table_name_to_amount.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_api.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_api_for_prod.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_api_with_reload.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_worker.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_async_task.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_operation_executor_workers_mode_thread.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_scheduled_operation_creator_worker.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_for_prod.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_sqladmin_with_reload.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/command/start_tg_bot_for_prod.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/example.env +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_1.txt +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_2.txt +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_3.txt +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_4.txt +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_5.txt +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/additional_model/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/asgi.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/admin.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/client.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/const.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/event.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/exception.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/response.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/check_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_statuses.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_types.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/main_router.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_1.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_fake_error.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/client/main_router.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/check_authorization.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_current_api_key.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_errors_info.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/main_router.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/router/main_router.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/admin/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/client/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/common/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/in_/general/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/operation.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/story_log.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_1.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_token_1.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user_token.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/datetime_.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/error.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/ok.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/raw_data.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/api_key.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user_token.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/api/util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/business_service/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/business_service/create_first_admin.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/business_service/hello_world.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/business_service/remove_operations.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/celery_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/cache_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/const.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/dump_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/easy_openai_api_client.py +2 -2
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/media_file_storage_in_dir.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/core/util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/json_db/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/json_db/json_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/more/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/more/helloworld +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/const.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operation_creator_worker.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/operation_execution/util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/1 +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/healthcheck +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/helloworld +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/openapi-favicon.png +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/redoc/redoc.standalone.js +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/sqladmin-favicon.png +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-16x16.png +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/favicon-32x32.png +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.css +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/index.html +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/oauth2-redirect.html +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-initializer.js +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-bundle.js.map +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.css.map +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/static/swagger-ui/swagger-ui.js.map +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/resource/templates/healthcheck.txt +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_1.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_2.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_3.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_4.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_5.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_6.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sandbox/sandbox_7.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/asgi.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/consts.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/create_site_app.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/event.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/exception_handler.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/router/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/site/router/main_router.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/const.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/verification_code.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/test_data/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_api_keys.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_2.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_3.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_4.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_5.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/admin.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/client.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback_data_/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/const.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/is_private_chat.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/not_prod_mode_filter.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/prod_mode_filter.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_admin.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_client.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/admin/hello_world.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/client/support.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/inline_/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/admin/hello_world.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/uil.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/arpakitlib_project_template_info.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/clear_log_file.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/current_state.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/drop_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/hello_world.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/init_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_not_modified.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_old_cd.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_raise_error.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_remove_message.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/me.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/raise_fake_error.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/reinit_sqlalchemy_db.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/healthcheck.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_inline_query.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_message.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/main_router.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/admin.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/client.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/common.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot_dispatcher.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/etc.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py +0 -0
- {arpakitlib-1.8.111/arpakitlib/_arpakit_project_template_v_5/project/util → arpakitlib-1.8.112/arpakitlib/_arpakit_project_template_v_5/project/tg_bot_notifier}/__init__.py +0 -0
- /arpakitlib-1.8.111/arpakitlib/_arpakit_project_template_v_5/project/util/etc.py → /arpakitlib-1.8.112/arpakitlib/_arpakit_project_template_v_5/project/util/__init__.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/project/util/arpakitlib_project_template_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/todo.txt +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_additional_model_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_aiogram_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_arpakit_schedule_uust_site_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_base64_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_base_worker_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_blank_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_cache_file_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_class_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_cryptomus_api_client_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_datetime_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_dict_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_enumeration_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_exception_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_file_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_func_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_hash_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_http_request_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_ip_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_json_db_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_json_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_jwt_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_list_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_logging_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_mongodb_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_need_type_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_openai_api_client_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_parse_command.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_postgresql_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_rat_func_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_retry_func_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_run_cmd_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_settings_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_sleep_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_sqladmin_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_sqlalchemy_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_ssh_runner_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_str_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_type_util.py +0 -0
- {arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
@@ -34,12 +34,10 @@ async def _(
|
|
34
34
|
])),
|
35
35
|
filter_id: int | None = fastapi.Query(default=None),
|
36
36
|
filter_long_id: str | None = fastapi.Query(default=None),
|
37
|
-
filter_slug: str | None = fastapi.Query(default=None),
|
38
37
|
):
|
39
38
|
filter_long_id = make_none_if_blank(strip_if_not_none(filter_long_id))
|
40
|
-
filter_slug = make_none_if_blank(strip_if_not_none(filter_slug))
|
41
39
|
|
42
|
-
if filter_id is None and filter_long_id is None
|
40
|
+
if filter_id is None and filter_long_id is None:
|
43
41
|
return None
|
44
42
|
|
45
43
|
query = sqlalchemy.select(OperationDBM)
|
@@ -47,8 +45,6 @@ async def _(
|
|
47
45
|
query = query.filter(OperationDBM.id == filter_id)
|
48
46
|
if filter_long_id is not None:
|
49
47
|
query = query.filter(OperationDBM.long_id == filter_long_id)
|
50
|
-
if filter_slug is not None:
|
51
|
-
query = query.filter(OperationDBM.slug == filter_slug)
|
52
48
|
|
53
49
|
async with get_cached_sqlalchemy_db().new_async_session() as async_session:
|
54
50
|
result = await async_session.scalar(query)
|
@@ -34,12 +34,10 @@ async def _(
|
|
34
34
|
])),
|
35
35
|
filter_id: int | None = fastapi.Query(default=None),
|
36
36
|
filter_long_id: str | None = fastapi.Query(default=None),
|
37
|
-
filter_slug: str | None = fastapi.Query(default=None),
|
38
37
|
):
|
39
38
|
filter_long_id = make_none_if_blank(strip_if_not_none(filter_long_id))
|
40
|
-
filter_slug = make_none_if_blank(strip_if_not_none(filter_slug))
|
41
39
|
|
42
|
-
if filter_id is None and filter_long_id is None
|
40
|
+
if filter_id is None and filter_long_id is None:
|
43
41
|
return None
|
44
42
|
|
45
43
|
query = sqlalchemy.select(StoryLogDBM)
|
@@ -47,8 +45,6 @@ async def _(
|
|
47
45
|
query = query.filter(StoryLogDBM.id == filter_id)
|
48
46
|
if filter_long_id is not None:
|
49
47
|
query = query.filter(StoryLogDBM.long_id == filter_long_id)
|
50
|
-
if filter_slug is not None:
|
51
|
-
query = query.filter(StoryLogDBM.slug == filter_slug)
|
52
48
|
|
53
49
|
async with get_cached_sqlalchemy_db().new_async_session() as async_session:
|
54
50
|
result = await async_session.scalar(query)
|
@@ -34,20 +34,17 @@ async def _(
|
|
34
34
|
])),
|
35
35
|
filter_id: int | None = fastapi.Query(default=None),
|
36
36
|
filter_long_id: str | None = fastapi.Query(default=None),
|
37
|
-
filter_slug: str | None = fastapi.Query(default=None),
|
38
37
|
filter_email: str | None = fastapi.Query(default=None),
|
39
38
|
filter_username: str | None = fastapi.Query(default=None),
|
40
39
|
filter_tg_id: int | None = fastapi.Query(default=None),
|
41
40
|
):
|
42
41
|
filter_long_id = make_none_if_blank(strip_if_not_none(filter_long_id))
|
43
|
-
filter_slug = make_none_if_blank(strip_if_not_none(filter_slug))
|
44
42
|
filter_email = make_none_if_blank(strip_if_not_none(filter_email))
|
45
43
|
filter_username = make_none_if_blank(strip_if_not_none(filter_username))
|
46
44
|
|
47
45
|
if (
|
48
46
|
filter_id is None
|
49
47
|
and filter_long_id is None
|
50
|
-
and filter_slug is None
|
51
48
|
and filter_email is None
|
52
49
|
and filter_username is None
|
53
50
|
and filter_tg_id is None
|
@@ -59,8 +56,6 @@ async def _(
|
|
59
56
|
query = query.filter(UserDBM.id == filter_id)
|
60
57
|
if filter_long_id is not None:
|
61
58
|
query = query.filter(UserDBM.long_id == filter_long_id)
|
62
|
-
if filter_slug is not None:
|
63
|
-
query = query.filter(UserDBM.slug == filter_slug)
|
64
59
|
if filter_email is not None:
|
65
60
|
query = query.filter(UserDBM.email == filter_email)
|
66
61
|
if filter_username is not None:
|
@@ -168,6 +168,14 @@ class Settings(SimpleSettings):
|
|
168
168
|
|
169
169
|
local_timezone: str | None = None
|
170
170
|
|
171
|
+
email_smtp_user: str | None = None
|
172
|
+
|
173
|
+
email_smtp_password: str | None = None
|
174
|
+
|
175
|
+
email_smtp_port: int | None = 465
|
176
|
+
|
177
|
+
email_smtp_hostname: str | None = "smtp.yandex.ru"
|
178
|
+
|
171
179
|
@property
|
172
180
|
def local_timezone_as_pytz(self) -> Any:
|
173
181
|
raise_for_type(self.local_timezone, str)
|
@@ -177,6 +185,10 @@ class Settings(SimpleSettings):
|
|
177
185
|
|
178
186
|
openai_api_base_url: str | None = "https://api.proxyapi.ru/openai/v1"
|
179
187
|
|
188
|
+
tg_bot_notifier_token: str | None = None
|
189
|
+
|
190
|
+
tg_bot_notifier_proxy_url: str | None = None
|
191
|
+
|
180
192
|
|
181
193
|
@lru_cache()
|
182
194
|
def get_cached_settings() -> Settings:
|
@@ -43,7 +43,7 @@ class UserMV(SimpleMV, model=UserDBM):
|
|
43
43
|
form_args = {
|
44
44
|
UserDBM.roles.key: {
|
45
45
|
"choices": [(role, role) for role in UserDBM.Roles.values_list()],
|
46
|
-
"description": "Choose
|
46
|
+
"description": "Choose roles"
|
47
47
|
}
|
48
48
|
}
|
49
49
|
column_sortable_list = sqlalchemy.inspect(UserDBM).columns
|
@@ -55,7 +55,6 @@ class UserMV(SimpleMV, model=UserDBM):
|
|
55
55
|
UserDBM.long_id,
|
56
56
|
UserDBM.email,
|
57
57
|
UserDBM.username,
|
58
|
-
UserDBM.password,
|
59
58
|
UserDBM.tg_id
|
60
59
|
]
|
61
60
|
column_formatters = {
|
@@ -34,7 +34,6 @@ class UserTokenMV(SimpleMV, model=UserTokenDBM):
|
|
34
34
|
column_searchable_list = [
|
35
35
|
UserTokenDBM.id,
|
36
36
|
UserTokenDBM.long_id,
|
37
|
-
UserTokenDBM.slug,
|
38
37
|
UserTokenDBM.value,
|
39
38
|
]
|
40
39
|
column_formatters = {
|
@@ -47,7 +46,7 @@ class UserTokenMV(SimpleMV, model=UserTokenDBM):
|
|
47
46
|
}
|
48
47
|
form_ajax_refs = {
|
49
48
|
UserTokenDBM.user.key: {
|
50
|
-
"fields": [UserDBM.id.key, UserDBM.email.key],
|
49
|
+
"fields": [UserDBM.id.key, UserDBM.email.key, UserDBM.username.key],
|
51
50
|
"placeholder": "Search by id or email",
|
52
51
|
"minimum_input_length": 1,
|
53
52
|
"page_size": 10,
|
@@ -5,7 +5,7 @@ from sqladmin.fields import SelectField
|
|
5
5
|
|
6
6
|
from project.sqladmin_.model_view import SimpleMV
|
7
7
|
from project.sqladmin_.util.etc import format_datetime_, format_json_for_preview_, format_json_
|
8
|
-
from project.sqlalchemy_db_.sqlalchemy_model import VerificationCodeDBM
|
8
|
+
from project.sqlalchemy_db_.sqlalchemy_model import VerificationCodeDBM, UserDBM
|
9
9
|
|
10
10
|
|
11
11
|
class VerificationCodeMV(SimpleMV, model=VerificationCodeDBM):
|
@@ -48,6 +48,7 @@ class VerificationCodeMV(SimpleMV, model=VerificationCodeDBM):
|
|
48
48
|
]
|
49
49
|
column_searchable_list = [
|
50
50
|
VerificationCodeDBM.id,
|
51
|
+
VerificationCodeDBM.long_id,
|
51
52
|
VerificationCodeDBM.value,
|
52
53
|
VerificationCodeDBM.recipient
|
53
54
|
]
|
@@ -59,3 +60,11 @@ class VerificationCodeMV(SimpleMV, model=VerificationCodeDBM):
|
|
59
60
|
VerificationCodeDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt),
|
60
61
|
VerificationCodeDBM.extra_data: lambda m, a: format_json_(m.extra_data),
|
61
62
|
}
|
63
|
+
form_ajax_refs = {
|
64
|
+
VerificationCodeDBM.user.key: {
|
65
|
+
"fields": [UserDBM.id.key, UserDBM.email.key, UserDBM.username.key],
|
66
|
+
"placeholder": "Search by id or email",
|
67
|
+
"minimum_input_length": 1,
|
68
|
+
"page_size": 10,
|
69
|
+
}
|
70
|
+
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import asyncio
|
2
2
|
import logging
|
3
3
|
|
4
|
+
from arpakitlib.ar_datetime_util import now_utc_dt
|
4
5
|
from project.core.settings import get_cached_settings
|
5
6
|
from project.core.util import setup_logging
|
6
7
|
from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
|
@@ -31,13 +32,28 @@ def make_test_data_1():
|
|
31
32
|
is_active=True,
|
32
33
|
is_verified=True,
|
33
34
|
password="123",
|
34
|
-
tg_id=269870432
|
35
|
+
tg_id=269870432,
|
36
|
+
tg_bot_last_action_dt=now_utc_dt(),
|
37
|
+
tg_data={
|
38
|
+
"id": 269870432,
|
39
|
+
"is_bot": False,
|
40
|
+
"first_name": "Арсен",
|
41
|
+
"last_name": "Arsen",
|
42
|
+
"username": "arpakit",
|
43
|
+
"language_code": "en",
|
44
|
+
"is_premium": True,
|
45
|
+
"added_to_attachment_menu": None,
|
46
|
+
"can_join_groups": None,
|
47
|
+
"can_read_all_group_messages": None,
|
48
|
+
"supports_inline_queries": None,
|
49
|
+
"can_connect_to_business": None
|
50
|
+
}
|
35
51
|
)
|
36
52
|
session.add(arpakit_user)
|
37
53
|
session.commit()
|
38
54
|
_logger.info(arpakit_user)
|
39
55
|
|
40
|
-
for i in range(
|
56
|
+
for i in range(100):
|
41
57
|
user_token_dbm = UserTokenDBM(user_id=arpakit_user.id, value=str(i))
|
42
58
|
session.add(user_token_dbm)
|
43
59
|
_logger.info(user_token_dbm)
|
@@ -0,0 +1,20 @@
|
|
1
|
+
from functools import lru_cache
|
2
|
+
|
3
|
+
from arpakitlib.ar_blank_util import BaseBlank
|
4
|
+
|
5
|
+
|
6
|
+
class TgBotNotifierBlank(BaseBlank):
|
7
|
+
pass
|
8
|
+
|
9
|
+
|
10
|
+
@lru_cache()
|
11
|
+
def get_cached_rus_tg_bot_notifier_blank() -> TgBotNotifierBlank:
|
12
|
+
return TgBotNotifierBlank(lang=TgBotNotifierBlank.Languages.rus)
|
13
|
+
|
14
|
+
|
15
|
+
def __example():
|
16
|
+
print(get_cached_rus_tg_bot_notifier_blank().hello_world())
|
17
|
+
|
18
|
+
|
19
|
+
if __name__ == '__main__':
|
20
|
+
__example()
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import aiogram
|
2
|
+
from aiogram.client.default import DefaultBotProperties
|
3
|
+
from aiogram.client.session.aiohttp import AiohttpSession
|
4
|
+
from aiogram.enums import ParseMode
|
5
|
+
|
6
|
+
from project.core.settings import get_cached_settings
|
7
|
+
|
8
|
+
|
9
|
+
def create_tg_bot_notifier() -> aiogram.Bot | None:
|
10
|
+
if get_cached_settings().tg_bot_notifier_token is None:
|
11
|
+
return None
|
12
|
+
session: AiohttpSession | None = None
|
13
|
+
if get_cached_settings().tg_bot_notifier_proxy_url:
|
14
|
+
session = AiohttpSession(proxy=get_cached_settings().tg_bot_notifier_proxy_url)
|
15
|
+
tg_bot = aiogram.Bot(
|
16
|
+
token=get_cached_settings().tg_bot_notifier_token,
|
17
|
+
default=DefaultBotProperties(
|
18
|
+
parse_mode=ParseMode.HTML,
|
19
|
+
disable_notification=False,
|
20
|
+
link_preview_is_disabled=True
|
21
|
+
),
|
22
|
+
session=session
|
23
|
+
)
|
24
|
+
return tg_bot
|
File without changes
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import asyncio
|
2
|
+
import logging
|
3
|
+
import smtplib
|
4
|
+
from email.message import EmailMessage
|
5
|
+
|
6
|
+
import aiosmtplib
|
7
|
+
|
8
|
+
from project.core.settings import get_cached_settings
|
9
|
+
from project.core.util import setup_logging
|
10
|
+
|
11
|
+
_logger = logging.getLogger(__name__)
|
12
|
+
|
13
|
+
|
14
|
+
def send_email(
|
15
|
+
*, to_email: str, subject: str = "Hello world", html_content: str,
|
16
|
+
emulate: bool = False
|
17
|
+
):
|
18
|
+
to_email = to_email.strip()
|
19
|
+
|
20
|
+
if emulate:
|
21
|
+
_logger.info(f"emulate email sending, {to_email=}, {subject=}, {html_content=}")
|
22
|
+
return
|
23
|
+
|
24
|
+
message = EmailMessage()
|
25
|
+
message["From"] = get_cached_settings().email_smtp_user
|
26
|
+
message["To"] = to_email
|
27
|
+
message["Subject"] = subject
|
28
|
+
message.add_alternative(html_content, subtype="html")
|
29
|
+
|
30
|
+
with smtplib.SMTP_SSL(
|
31
|
+
get_cached_settings().email_smtp_hostname,
|
32
|
+
get_cached_settings().email_smtp_port
|
33
|
+
) as server:
|
34
|
+
server.login(
|
35
|
+
get_cached_settings().email_smtp_user,
|
36
|
+
get_cached_settings().email_smtp_password
|
37
|
+
)
|
38
|
+
server.send_message(message)
|
39
|
+
|
40
|
+
_logger.info(f"email was send, {to_email=}")
|
41
|
+
|
42
|
+
|
43
|
+
async def async_send_email(
|
44
|
+
*,
|
45
|
+
to_email: str, subject: str = "Hello world", html_content: str,
|
46
|
+
emulate: bool = False
|
47
|
+
):
|
48
|
+
to_email = to_email.strip()
|
49
|
+
|
50
|
+
if emulate:
|
51
|
+
_logger.info(f"emulate email sending, {to_email=}, {subject=}, {html_content=}")
|
52
|
+
return
|
53
|
+
|
54
|
+
message = EmailMessage()
|
55
|
+
message["From"] = get_cached_settings().email_smtp_user
|
56
|
+
message["To"] = to_email
|
57
|
+
message["Subject"] = subject
|
58
|
+
message.add_alternative(html_content, subtype="html")
|
59
|
+
|
60
|
+
await aiosmtplib.send(
|
61
|
+
message,
|
62
|
+
hostname=get_cached_settings().email_smtp_hostname,
|
63
|
+
port=get_cached_settings().email_smtp_port,
|
64
|
+
username=get_cached_settings().email_smtp_user,
|
65
|
+
password=get_cached_settings().email_smtp_password,
|
66
|
+
use_tls=True
|
67
|
+
)
|
68
|
+
|
69
|
+
_logger.info(f"email was send, {to_email=}")
|
70
|
+
|
71
|
+
|
72
|
+
async def __async_example():
|
73
|
+
setup_logging()
|
74
|
+
send_email(
|
75
|
+
to_email="arpakit@gmail.com",
|
76
|
+
html_content="Hello world 2"
|
77
|
+
)
|
78
|
+
|
79
|
+
|
80
|
+
if __name__ == '__main__':
|
81
|
+
asyncio.run(__async_example())
|
File without changes
|
File without changes
|
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/.gitignore
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/.python-version
RENAMED
File without changes
|
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/README.md
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/alembic/README
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/alembic/env.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/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
|
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
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/example.env
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_1.txt
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_2.txt
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_3.txt
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_4.txt
RENAMED
File without changes
|
{arpakitlib-1.8.111 → arpakitlib-1.8.112}/arpakitlib/_arpakit_project_template_v_5/note/note_5.txt
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
|