arpakitlib 1.8.4__tar.gz → 1.8.5__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.
Files changed (274) hide show
  1. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/PKG-INFO +1 -1
  2. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/alembic/env.py +1 -1
  3. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/auth.py +31 -2
  4. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/event.py +1 -1
  5. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/exception_handler.py +2 -2
  6. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/main_router.py +0 -3
  7. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/clear_log_file.py +4 -5
  8. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/get_errors_info.py +10 -1
  9. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/get_log_file.py +4 -5
  10. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/main_router.py +12 -20
  11. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/raise_fake_error.py +4 -5
  12. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/api/router/v1/reinit_sqlalchemy_db.py +33 -0
  13. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/v1/out.py +1 -1
  14. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/business_service/remove_operations.py +2 -2
  15. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/check_sqlalchemy_db.py +1 -1
  16. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/drop_sqlalchemy_db.py +2 -1
  17. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/init_sqlalchemy_db.py +1 -1
  18. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/reinit_sqlalchemy_db.py +1 -1
  19. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/remove_story_logs.py +2 -2
  20. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/start_api_for_prod.py +19 -0
  21. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/start_sync_operation_executor_worker.py → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/start_operation_executor_worker_for_not_prod.py +1 -1
  22. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/start_sync_operation_executor_workers.py → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/start_operation_executor_workers_for_not_prod.py +1 -1
  23. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/start_tg_bot_for_prod.py +11 -0
  24. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/const.py +3 -1
  25. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/settings.py +2 -2
  26. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/operation_execution/operation_executor_worker.py +2 -2
  27. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/operation_execution/scheduled_operation_creator_worker.py +2 -2
  28. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/operation_execution/scheduled_operations.py +1 -1
  29. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/resource/static/helloworld +1 -0
  30. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sqladmin_/add_admin_in_app.py +1 -1
  31. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sqladmin_/model_view.py +1 -1
  32. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db_}/sqlalchemy_db.py +1 -1
  33. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db_}/sqlalchemy_model.py +1 -1
  34. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/blank/blank.py +24 -0
  35. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/const.py +1 -1
  36. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/event.py +77 -0
  37. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/filter_.py +69 -0
  38. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/inline_/callback.py +37 -0
  39. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/inline_/common.py +15 -0
  40. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/static_/common.py +14 -0
  41. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/middleware/init_user.py +0 -3
  42. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/middleware/middleware.py +12 -0
  43. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/router/arpakitlib_project_template_info.py +14 -0
  44. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/router/error.py +0 -3
  45. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/router/healthcheck.py +2 -1
  46. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/router/main_router.py +7 -3
  47. arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/start_tg_bot.py +39 -0
  48. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/tg_bot_dispatcher.py +3 -2
  49. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/util/read_arpakitlib_project_template_file.py +1 -1
  50. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_aiogram_util.py +3 -123
  51. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/pyproject.toml +1 -1
  52. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/start_async_operation_executor_worker.py +0 -14
  53. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/start_async_scheduled_operation_creator_worker.py +0 -14
  54. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/blank/blank.py +0 -5
  55. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/blank/util.py +0 -12
  56. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/event.py +0 -51
  57. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/filter/not_prod_mode.py +0 -8
  58. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/filter/prod_mode.py +0 -8
  59. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/inline_/callback.py +0 -0
  60. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/inline_/common.py +0 -0
  61. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/static_/common.py +0 -0
  62. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/middleware/middleware.py +0 -12
  63. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/router/arpakitlib_.py +0 -10
  64. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/start_tg_bot.py +0 -34
  65. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/transmitted_tg_data.py +0 -58
  66. arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/util/__init__.py +0 -0
  67. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/LICENSE +0 -0
  68. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/README.md +0 -0
  69. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/__init__.py +0 -0
  70. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/.gitignore +0 -0
  71. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/.python-version +0 -0
  72. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/LICENSE +0 -0
  73. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/README.md +0 -0
  74. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/additional_model/__init__.py +0 -0
  75. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/additional_model/additional_model.py +0 -0
  76. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/alembic/README +0 -0
  77. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/alembic/script.py.mako +0 -0
  78. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/alembic.ini +0 -0
  79. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/__init__.py +0 -0
  80. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/asgi.py +0 -0
  81. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/const.py +0 -0
  82. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/create_api_app.py +0 -0
  83. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/exception.py +0 -0
  84. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/openapi_ui.py +0 -0
  85. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/response.py +0 -0
  86. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/__init__.py +0 -0
  87. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/__init__.py +0 -0
  88. /arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/api/router/v1/arpakitlib_project_template.py → /arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/api/router/v1/arpakitlib_project_template_info.py +0 -0
  89. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/check_auth.py +0 -0
  90. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/healthcheck.py +0 -0
  91. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/router/v1/now_utc_datetime.py +0 -0
  92. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/__init__.py +0 -0
  93. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/base_schema.py +0 -0
  94. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/common/__init__.py +0 -0
  95. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/common/in_.py +0 -0
  96. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/common/out.py +0 -0
  97. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/v1/__init__.py +0 -0
  98. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/schema/v1/in_.py +0 -0
  99. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/api/util.py +0 -0
  100. /arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/arpakitlib_project_template.json → /arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/arpakitlib_project_template_info.json +0 -0
  101. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/business_service/__init__.py +0 -0
  102. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/business_service/hello_world.py +0 -0
  103. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/celery_/__init__.py +0 -0
  104. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/__init__.py +0 -0
  105. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/alembic_history.sh +0 -0
  106. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/alembic_revision_autogenerate.sh +0 -0
  107. /arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/alembic_upgrade_head .sh → /arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/alembic_upgrade_head.sh +0 -0
  108. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/beautify_json.py +0 -0
  109. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/check_logging.py +0 -0
  110. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/docker_ps_a.sh +0 -0
  111. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/docker_rm_postgres.sh +0 -0
  112. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/docker_run_postgres.sh +0 -0
  113. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/docker_start_postgres.sh +0 -0
  114. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/docker_stop_postgres.sh +0 -0
  115. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/drop_json_db.py +0 -0
  116. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/generate_settings_env_example.py +0 -0
  117. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_commit.sh +0 -0
  118. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_push_arpakit_company_github_1.sh +0 -0
  119. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_push_arpakit_company_gitlab_1.sh +0 -0
  120. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_push_arpakit_github_1.sh +0 -0
  121. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_push_arpakit_gitlab_1.sh +0 -0
  122. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_remote_v.sh +0 -0
  123. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_set_arpakit_company_origin.sh +0 -0
  124. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_set_arpakit_origin.sh +0 -0
  125. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_set_divarteam_origin.sh +0 -0
  126. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/git_status.sh +0 -0
  127. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/hello_world.py +0 -0
  128. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/init_json_db.py +0 -0
  129. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_check.sh +0 -0
  130. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_clear_cache.sh +0 -0
  131. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_config.sh +0 -0
  132. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_install.sh +0 -0
  133. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_lock.sh +0 -0
  134. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_remove_and_add_arpakitlib.sh +0 -0
  135. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_show.sh +0 -0
  136. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_show_arpakitlib.sh +0 -0
  137. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_update.sh +0 -0
  138. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/poetry_update_arpakitlib.sh +0 -0
  139. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/reinit_json_db.py +0 -0
  140. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/remove_operations.py +0 -0
  141. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/rm_all_records_in_json_db.py +0 -0
  142. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/command/show_settings.py +0 -0
  143. /arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/start_api_with_reload.py → /arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/start_api_with_reload_for_not_prod.py +0 -0
  144. /arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/start_api_without_reload.py → /arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/start_api_without_reload_for_not_prod.py +0 -0
  145. /arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/command/start_sync_scheduled_operation_creator_worker.py → /arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/command/start_scheduled_operation_creator_worker_for_not_prod.py +0 -0
  146. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/__init__.py +0 -0
  147. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/cache_file_storage_in_dir.py +0 -0
  148. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/dump_file_storage_in_dir.py +0 -0
  149. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/jinja2_templates.py +0 -0
  150. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/media_file_storage_in_dir.py +0 -0
  151. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/core/util.py +0 -0
  152. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/example.env +0 -0
  153. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/json_db/__init__.py +0 -0
  154. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/json_db/json_db.py +0 -0
  155. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/resource/static → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/more}/helloworld +0 -0
  156. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/note/__init__.py +0 -0
  157. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/note/note_1.txt +0 -0
  158. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/note/note_2.txt +0 -0
  159. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/note/note_3.txt +0 -0
  160. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/note/note_4.txt +0 -0
  161. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/note/note_5.txt +0 -0
  162. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/operation_execution/__init__.py +0 -0
  163. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/operation_execution/const.py +0 -0
  164. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/operation_execution/util.py +0 -0
  165. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/__init__.py +0 -0
  166. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/1 +0 -0
  167. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/healthcheck +0 -0
  168. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/openapi-favicon.png +0 -0
  169. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/redoc/redoc.standalone.js +0 -0
  170. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/favicon-16x16.png +0 -0
  171. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/favicon-32x32.png +0 -0
  172. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/index.css +0 -0
  173. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/index.html +0 -0
  174. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/oauth2-redirect.html +0 -0
  175. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-initializer.js +0 -0
  176. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-bundle.js +0 -0
  177. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-bundle.js.map +0 -0
  178. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-es-bundle-core.js +0 -0
  179. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-es-bundle-core.js.map +0 -0
  180. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-es-bundle.js +0 -0
  181. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-es-bundle.js.map +0 -0
  182. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-standalone-preset.js +0 -0
  183. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui-standalone-preset.js.map +0 -0
  184. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui.css +0 -0
  185. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui.css.map +0 -0
  186. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui.js +0 -0
  187. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/resource/static/swagger-ui/swagger-ui.js.map +0 -0
  188. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/__init__.py +0 -0
  189. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/sandbox_1.py +0 -0
  190. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/sandbox_2.py +0 -0
  191. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/sandbox_3.py +0 -0
  192. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/sandbox_4.py +0 -0
  193. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/sandbox_5.py +0 -0
  194. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/sandbox_6.py +0 -0
  195. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sandbox/sandbox_7.py +0 -0
  196. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/__init__.py +0 -0
  197. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/asgi.py +0 -0
  198. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/consts.py +0 -0
  199. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/create_site_app.py +0 -0
  200. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/event.py +0 -0
  201. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/exception_handler.py +0 -0
  202. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/router/__init__.py +0 -0
  203. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/site/router/main_router.py +0 -0
  204. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sqladmin_/__init__.py +0 -0
  205. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/sqladmin_/admin_auth.py +0 -0
  206. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db_}/__init__.py +0 -0
  207. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db_}/const.py +0 -0
  208. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/sqlalchemy_db_}/util.py +0 -0
  209. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/test_data/__init__.py +0 -0
  210. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/test_data/make_test_data_1.py +0 -0
  211. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/test_data/make_test_data_2.py +0 -0
  212. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/test_data/make_test_data_3.py +0 -0
  213. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/test_data/make_test_data_4.py +0 -0
  214. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/test_data/make_test_data_5.py +0 -0
  215. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/__init__.py +0 -0
  216. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/blank/__init__.py +0 -0
  217. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/filter → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb}/__init__.py +0 -0
  218. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/inline_}/__init__.py +0 -0
  219. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/inline_ → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/static_}/__init__.py +0 -0
  220. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/kb/static_ → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/middleware}/__init__.py +0 -0
  221. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/middleware → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/tg_bot/router}/__init__.py +0 -0
  222. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/tg_bot.py +0 -0
  223. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/_arpakit_project_template_v_1/tg_bot/util.py +0 -0
  224. {arpakitlib-1.8.4/arpakitlib/_arpakit_project_template_v_1/tg_bot/router → arpakitlib-1.8.5/arpakitlib/_arpakit_project_template_v_1/util}/__init__.py +0 -0
  225. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_additional_model_util.py +0 -0
  226. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_arpakit_lib_module_util.py +0 -0
  227. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_arpakit_project_template_util.py +0 -0
  228. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_arpakit_schedule_uust_api_client_util.py +0 -0
  229. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_arpakit_schedule_uust_site_util.py +0 -0
  230. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_arpakitlib_cli_util.py +0 -0
  231. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_base64_util.py +0 -0
  232. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_base_worker_util.py +0 -0
  233. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_blank_util.py +0 -0
  234. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_cache_file_util.py +0 -0
  235. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_class_util.py +0 -0
  236. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_cryptomus_api_client_util.py +0 -0
  237. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_datetime_util.py +0 -0
  238. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_dict_util.py +0 -0
  239. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_dream_ai_api_client_util.py +0 -0
  240. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_encrypt_decrypt_util.py +0 -0
  241. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_enumeration_util.py +0 -0
  242. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_exception_util.py +0 -0
  243. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_file_storage_in_dir_util.py +0 -0
  244. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_file_util.py +0 -0
  245. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_func_util.py +0 -0
  246. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_hash_util.py +0 -0
  247. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_http_request_util.py +0 -0
  248. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_ip_util.py +0 -0
  249. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_json_db_util.py +0 -0
  250. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_json_util.py +0 -0
  251. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_jwt_util.py +0 -0
  252. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_list_of_dicts_to_xlsx.py +0 -0
  253. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_list_util.py +0 -0
  254. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_logging_util.py +0 -0
  255. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_mongodb_util.py +0 -0
  256. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_need_type_util.py +0 -0
  257. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_openai_api_client_util.py +0 -0
  258. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_parse_command.py +0 -0
  259. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_postgresql_util.py +0 -0
  260. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_rat_func_util.py +0 -0
  261. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_retry_func_util.py +0 -0
  262. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_run_cmd_util.py +0 -0
  263. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_schedule_uust_api_client_util.py +0 -0
  264. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_settings_util.py +0 -0
  265. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_sleep_util.py +0 -0
  266. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_sqladmin_util.py +0 -0
  267. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_sqlalchemy_util.py +0 -0
  268. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_ssh_runner_util.py +0 -0
  269. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_steam_payment_api_client_util.py +0 -0
  270. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_str_util.py +0 -0
  271. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_type_util.py +0 -0
  272. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_wata_api_client.py +0 -0
  273. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_yookassa_api_client_util.py +0 -0
  274. {arpakitlib-1.8.4 → arpakitlib-1.8.5}/arpakitlib/ar_zabbix_api_client_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.4
3
+ Version: 1.8.5
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -6,7 +6,7 @@ from sqlalchemy import pool
6
6
 
7
7
  from arpakitlib.ar_type_util import raise_for_type
8
8
  from core.settings import get_cached_settings
9
- from sqlalchemy_db.sqlalchemy_model import get_simple_dbm
9
+ from sqlalchemy_db_.sqlalchemy_model import get_simple_dbm
10
10
 
11
11
  # this is the Alembic Config object, which provides
12
12
  # access to the values within the .ini file in use.
@@ -31,6 +31,10 @@ class APIAuthData(BaseModel):
31
31
  is_token_correct: bool | None = None
32
32
  is_api_key_correct: bool | None = None
33
33
 
34
+ require_mode_type: str | None = None
35
+ require_not_mode_type: str | None = None
36
+ current_mode_type: str | None = None
37
+
34
38
 
35
39
  def api_auth(
36
40
  *,
@@ -41,7 +45,9 @@ def api_auth(
41
45
  correct_api_keys: str | list[str] | None = None,
42
46
  correct_tokens: str | list[str] | None = None,
43
47
  require_correct_api_key: bool = False,
44
- require_correct_token: bool = False
48
+ require_correct_token: bool = False,
49
+ require_mode_type: str | None = None,
50
+ require_not_mode_type: str | None = None
45
51
  ) -> Callable:
46
52
  if isinstance(correct_api_keys, str):
47
53
  correct_api_keys = [correct_api_keys]
@@ -80,7 +86,10 @@ def api_auth(
80
86
  require_api_key_string=require_api_key_string,
81
87
  require_token_string=require_token_string,
82
88
  require_correct_api_key=require_correct_api_key,
83
- require_correct_token=require_correct_token
89
+ require_correct_token=require_correct_token,
90
+ require_mode_type=require_mode_type,
91
+ require_not_mode_type=require_not_mode_type,
92
+ current_mode_type=get_cached_settings().mode_type
84
93
  )
85
94
 
86
95
  # parse api_key
@@ -130,6 +139,26 @@ def api_auth(
130
139
  if not api_auth_data.token_string:
131
140
  api_auth_data.token_string = None
132
141
 
142
+ # require_mode_type
143
+
144
+ if require_mode_type is not None:
145
+ if get_cached_settings().mode_type != require_mode_type:
146
+ raise APIException(
147
+ status_code=fastapi.status.HTTP_401_UNAUTHORIZED,
148
+ error_code=APIErrorCodes.cannot_authorize,
149
+ error_data=safely_transfer_obj_to_json_str_to_json_obj(api_auth_data.model_dump())
150
+ )
151
+
152
+ # require_not_mode_type
153
+
154
+ if require_not_mode_type is not None:
155
+ if get_cached_settings().mode_type == require_not_mode_type:
156
+ raise APIException(
157
+ status_code=fastapi.status.HTTP_401_UNAUTHORIZED,
158
+ error_code=APIErrorCodes.cannot_authorize,
159
+ error_data=safely_transfer_obj_to_json_str_to_json_obj(api_auth_data.model_dump())
160
+ )
161
+
133
162
  # require_api_key_string
134
163
 
135
164
  if require_api_key_string and not api_auth_data.api_key_string:
@@ -9,7 +9,7 @@ from core.settings import get_cached_settings
9
9
  from json_db.json_db import get_cached_json_db
10
10
  from operation_execution.operation_executor_worker import create_operation_executor_worker
11
11
  from operation_execution.scheduled_operation_creator_worker import create_scheduled_operation_creator_worker
12
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
12
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
13
13
 
14
14
  _logger = logging.getLogger(__name__)
15
15
 
@@ -18,8 +18,8 @@ from arpakitlib.ar_func_util import raise_if_not_async_callable, is_async_callab
18
18
  from arpakitlib.ar_json_util import safely_transfer_obj_to_json_str
19
19
  from arpakitlib.ar_type_util import raise_for_type
20
20
  from core.settings import get_cached_settings
21
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
22
- from sqlalchemy_db.sqlalchemy_model import StoryLogDBM
21
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
22
+ from sqlalchemy_db_.sqlalchemy_model import StoryLogDBM
23
23
 
24
24
  _logger = logging.getLogger(__name__)
25
25
 
@@ -4,9 +4,6 @@ from api.router.v1.main_router import main_v1_api_router
4
4
 
5
5
  main_api_router = APIRouter()
6
6
 
7
- # V1 API Router
8
-
9
-
10
7
  main_api_router.include_router(
11
8
  prefix="/v1",
12
9
  router=main_v1_api_router,
@@ -1,8 +1,7 @@
1
1
  import fastapi
2
2
  from fastapi import APIRouter, Depends
3
3
 
4
- from api.auth import APIAuthData, api_auth, correct_api_keys_from_settings__validate_api_key_func, \
5
- correct_tokens_from_settings__validate_api_key_func
4
+ from api.auth import APIAuthData, api_auth, correct_api_keys_from_settings__validate_api_key_func
6
5
  from api.schema.common.out import RawDataCommonSO, ErrorCommonSO
7
6
  from arpakitlib.ar_logging_util import init_log_file
8
7
  from core.settings import get_cached_settings
@@ -22,11 +21,11 @@ async def _(
22
21
  response: fastapi.responses.Response,
23
22
  api_auth_data: APIAuthData = Depends(api_auth(
24
23
  require_api_key_string=True,
25
- require_token_string=True,
24
+ require_token_string=False,
26
25
  validate_api_key_func=correct_api_keys_from_settings__validate_api_key_func(),
27
- validate_token_func=correct_tokens_from_settings__validate_api_key_func(),
26
+ validate_token_func=None,
28
27
  require_correct_api_key=True,
29
- require_correct_token=True,
28
+ require_correct_token=False,
30
29
  ))
31
30
  ):
32
31
  init_log_file(log_filepath=get_cached_settings().log_filepath)
@@ -1,6 +1,7 @@
1
1
  import fastapi.requests
2
- from fastapi import APIRouter
2
+ from fastapi import APIRouter, Depends
3
3
 
4
+ from api.auth import APIAuthData, api_auth, correct_api_keys_from_settings__validate_api_key_func
4
5
  from api.const import APIErrorCodes, APIErrorSpecificationCodes
5
6
  from api.schema.common.out import ErrorCommonSO, ErrorsInfoCommonSO
6
7
 
@@ -17,6 +18,14 @@ async def _(
17
18
  *,
18
19
  request: fastapi.requests.Request,
19
20
  response: fastapi.responses.Response,
21
+ api_auth_data: APIAuthData = Depends(api_auth(
22
+ require_api_key_string=True,
23
+ require_token_string=False,
24
+ validate_api_key_func=correct_api_keys_from_settings__validate_api_key_func(),
25
+ validate_token_func=None,
26
+ require_correct_api_key=True,
27
+ require_correct_token=False,
28
+ ))
20
29
  ):
21
30
  return ErrorsInfoCommonSO(
22
31
  api_error_codes=APIErrorCodes.values_list(),
@@ -2,8 +2,7 @@ import fastapi
2
2
  from fastapi import APIRouter, Depends
3
3
  from fastapi.responses import FileResponse
4
4
 
5
- from api.auth import APIAuthData, api_auth, correct_api_keys_from_settings__validate_api_key_func, \
6
- correct_tokens_from_settings__validate_api_key_func
5
+ from api.auth import APIAuthData, api_auth, correct_api_keys_from_settings__validate_api_key_func
7
6
  from arpakitlib.ar_logging_util import init_log_file
8
7
  from core.settings import get_cached_settings
9
8
 
@@ -22,11 +21,11 @@ async def _(
22
21
  response: fastapi.responses.Response,
23
22
  api_auth_data: APIAuthData = Depends(api_auth(
24
23
  require_api_key_string=True,
25
- require_token_string=True,
24
+ require_token_string=False,
26
25
  validate_api_key_func=correct_api_keys_from_settings__validate_api_key_func(),
27
- validate_token_func=correct_tokens_from_settings__validate_api_key_func(),
26
+ validate_token_func=None,
28
27
  require_correct_api_key=True,
29
- require_correct_token=True,
28
+ require_correct_token=False,
30
29
  ))
31
30
  ):
32
31
  init_log_file(log_filepath=get_cached_settings().log_filepath)
@@ -1,68 +1,60 @@
1
1
  from fastapi import APIRouter
2
2
 
3
3
  from api.router.v1 import healthcheck, get_errors_info, now_utc_datetime, clear_log_file, get_log_file, \
4
- arpakitlib_project_template
4
+ arpakitlib_project_template_info, reinit_sqlalchemy_db
5
5
  from api.router.v1 import raise_fake_error, check_auth
6
6
 
7
7
  main_v1_api_router = APIRouter()
8
8
 
9
- # Healthcheck
10
-
11
9
  main_v1_api_router.include_router(
12
10
  router=healthcheck.api_router,
13
11
  prefix="/healthcheck",
14
12
  tags=["Healthcheck"]
15
13
  )
16
14
 
17
- # arpakitlib_
18
-
19
15
  main_v1_api_router.include_router(
20
- router=arpakitlib_project_template.api_router,
21
- prefix="/arpakitlib",
16
+ router=arpakitlib_project_template_info.api_router,
17
+ prefix="/arpakitlib_project_template_info",
22
18
  tags=["arpakitlib"]
23
19
  )
24
20
 
25
- # Get errors info
26
-
27
21
  main_v1_api_router.include_router(
28
22
  router=get_errors_info.api_router,
29
23
  prefix="/get_errors_info",
30
24
  tags=["Errors info"]
31
25
  )
32
26
 
33
- # Check auth
34
-
35
27
  main_v1_api_router.include_router(
36
28
  router=check_auth.api_router,
37
29
  prefix="/check_auth",
38
30
  tags=["Check auth"]
39
31
  )
40
32
 
41
- # Raise fake error
42
-
43
33
  main_v1_api_router.include_router(
44
34
  router=raise_fake_error.api_router,
45
35
  prefix="/raise_fake_error",
46
36
  tags=["Fake error"]
47
37
  )
48
38
 
49
- # Now UTC Datetime
50
-
51
39
  main_v1_api_router.include_router(
52
40
  router=now_utc_datetime.api_router,
53
41
  prefix="/now_utc_datetime",
54
42
  tags=["Now UTC datetime"]
55
43
  )
56
44
 
57
- # Log file
58
-
45
+ main_v1_api_router.include_router(
46
+ router=get_log_file.api_router,
47
+ prefix="/get_log_file",
48
+ tags=["Log file"]
49
+ )
59
50
  main_v1_api_router.include_router(
60
51
  router=clear_log_file.api_router,
61
52
  prefix="/clear_log_file",
62
53
  tags=["Log file"]
63
54
  )
55
+
64
56
  main_v1_api_router.include_router(
65
- router=get_log_file.api_router,
66
- prefix="/get_log_file",
67
- tags=["Log file"]
57
+ router=reinit_sqlalchemy_db.api_router,
58
+ prefix="/reinit_sqlalchemy_db",
59
+ tags=["Reinit SQLAlchemy db"]
68
60
  )
@@ -2,8 +2,7 @@ import fastapi
2
2
  import starlette.exceptions
3
3
  from fastapi import APIRouter, Depends
4
4
 
5
- from api.auth import APIAuthData, api_auth, correct_api_keys_from_settings__validate_api_key_func, \
6
- correct_tokens_from_settings__validate_api_key_func
5
+ from api.auth import APIAuthData, api_auth, correct_api_keys_from_settings__validate_api_key_func
7
6
  from api.schema.common.out import ErrorCommonSO
8
7
 
9
8
  api_router = APIRouter()
@@ -22,11 +21,11 @@ async def _(
22
21
  n: int | None = None,
23
22
  api_auth_data: APIAuthData = Depends(api_auth(
24
23
  require_api_key_string=True,
25
- require_token_string=True,
24
+ require_token_string=False,
26
25
  validate_api_key_func=correct_api_keys_from_settings__validate_api_key_func(),
27
- validate_token_func=correct_tokens_from_settings__validate_api_key_func(),
26
+ validate_token_func=None,
28
27
  require_correct_api_key=True,
29
- require_correct_token=True,
28
+ require_correct_token=False,
30
29
  ))
31
30
  ):
32
31
  if n == 1:
@@ -0,0 +1,33 @@
1
+ import fastapi
2
+ from fastapi import APIRouter
3
+
4
+ from api.auth import APIAuthData, api_auth
5
+ from api.schema.common.out import ErrorCommonSO, RawDataCommonSO
6
+ from core.settings import ModeTypes
7
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
8
+
9
+ api_router = APIRouter()
10
+
11
+
12
+ @api_router.get(
13
+ "",
14
+ name="Reinit SQLAlchemy db",
15
+ status_code=fastapi.status.HTTP_200_OK,
16
+ response_model=RawDataCommonSO | ErrorCommonSO,
17
+ )
18
+ async def _(
19
+ *,
20
+ request: fastapi.requests.Request,
21
+ response: fastapi.responses.Response,
22
+ api_auth_data: APIAuthData = fastapi.Depends(api_auth(
23
+ require_api_key_string=True,
24
+ require_token_string=False,
25
+ validate_api_key_func=None,
26
+ validate_token_func=None,
27
+ require_correct_api_key=False,
28
+ require_correct_token=False,
29
+ require_not_mode_type=ModeTypes.prod
30
+ ))
31
+ ):
32
+ get_cached_sqlalchemy_db().reinit()
33
+ return RawDataCommonSO(data={"sqlalchemy_was_reinited": True})
@@ -4,7 +4,7 @@ import datetime as dt
4
4
  from typing import Any
5
5
 
6
6
  from api.schema.base_schema import BaseSO
7
- from sqlalchemy_db.sqlalchemy_model import OperationDBM, StoryLogDBM
7
+ from sqlalchemy_db_.sqlalchemy_model import OperationDBM, StoryLogDBM
8
8
 
9
9
 
10
10
  class BaseV1SO(BaseSO):
@@ -1,8 +1,8 @@
1
1
  import asyncio
2
2
 
3
3
  from arpakitlib.ar_type_util import raise_for_type
4
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
5
- from sqlalchemy_db.sqlalchemy_model import OperationDBM
4
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
5
+ from sqlalchemy_db_.sqlalchemy_model import OperationDBM
6
6
 
7
7
 
8
8
  def remove_operations(
@@ -1,5 +1,5 @@
1
1
  from core.util import setup_logging
2
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
2
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
3
3
 
4
4
 
5
5
  def __command():
@@ -1,6 +1,6 @@
1
1
  from core.settings import get_cached_settings
2
2
  from core.util import setup_logging
3
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
3
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
4
4
 
5
5
 
6
6
  def __command():
@@ -8,6 +8,7 @@ def __command():
8
8
  get_cached_settings().raise_if_mode_type_prod()
9
9
  get_cached_sqlalchemy_db().drop()
10
10
  get_cached_sqlalchemy_db().drop_celery_tables()
11
+ get_cached_sqlalchemy_db().drop_alembic_tables()
11
12
 
12
13
 
13
14
  if __name__ == '__main__':
@@ -1,5 +1,5 @@
1
1
  from core.util import setup_logging
2
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
2
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
3
3
 
4
4
 
5
5
  def __command():
@@ -1,6 +1,6 @@
1
1
  from core.settings import get_cached_settings
2
2
  from core.util import setup_logging
3
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
3
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
4
4
 
5
5
 
6
6
  def __command():
@@ -1,7 +1,7 @@
1
1
  from core.settings import get_cached_settings
2
2
  from core.util import setup_logging
3
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
4
- from sqlalchemy_db.sqlalchemy_model import StoryLogDBM
3
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
4
+ from sqlalchemy_db_.sqlalchemy_model import StoryLogDBM
5
5
 
6
6
 
7
7
  def __command():
@@ -0,0 +1,19 @@
1
+ import uvicorn
2
+
3
+ from core.settings import get_cached_settings
4
+ from core.util import setup_logging
5
+
6
+
7
+ def __command():
8
+ setup_logging()
9
+ uvicorn.run(
10
+ app="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()
@@ -1,6 +1,6 @@
1
1
  from core.util import setup_logging
2
2
  from operation_execution.operation_executor_worker import OperationExecutorWorker
3
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
3
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
4
4
 
5
5
 
6
6
  def __command():
@@ -1,7 +1,7 @@
1
1
  from arpakitlib.ar_base_worker_util import safe_run_workers_in_background, SafeRunInBackgroundModes
2
2
  from core.util import setup_logging
3
3
  from operation_execution.operation_executor_worker import OperationExecutorWorker
4
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
4
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
5
5
 
6
6
 
7
7
  def __command():
@@ -0,0 +1,11 @@
1
+ from core.util import setup_logging
2
+ from tg_bot.start_tg_bot import start_tg_bot
3
+
4
+
5
+ def __command():
6
+ setup_logging()
7
+ start_tg_bot()
8
+
9
+
10
+ if __name__ == '__main__':
11
+ __command()
@@ -17,7 +17,9 @@ class ProjectPaths(Enumeration):
17
17
 
18
18
  templates_dirpath: str = os.path.join(resource_dirpath, "templates")
19
19
 
20
- arpakit_lib_project_template_filepath: str = os.path.join(base_dirpath, "arpakitlib_project_template.json")
20
+ arpakit_lib_project_template_info_filepath: str = os.path.join(
21
+ base_dirpath, "arpakitlib_project_template_info.json"
22
+ )
21
23
 
22
24
 
23
25
  def __example():
@@ -45,7 +45,7 @@ class Settings(SimpleSettings):
45
45
  if self.is_mode_type_prod:
46
46
  raise ValueError(f"mode type = {self.mode_type}")
47
47
 
48
- project_name: str | None = None
48
+ project_name: str | None = "project"
49
49
 
50
50
  sqlalchemy_db_user: str | None = project_name
51
51
 
@@ -99,7 +99,7 @@ class Settings(SimpleSettings):
99
99
 
100
100
  sqlalchemy_db_echo: bool = False
101
101
 
102
- api_port: int | None = 50519
102
+ api_port: int | None = 8080
103
103
 
104
104
  api_init_sqlalchemy_db: bool = False
105
105
 
@@ -13,8 +13,8 @@ from arpakitlib.ar_dict_util import combine_dicts
13
13
  from arpakitlib.ar_exception_util import exception_to_traceback_str
14
14
  from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
15
15
  from arpakitlib.ar_type_util import raise_for_type
16
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
17
- from sqlalchemy_db.sqlalchemy_model import OperationDBM, StoryLogDBM
16
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
17
+ from sqlalchemy_db_.sqlalchemy_model import OperationDBM, StoryLogDBM
18
18
 
19
19
 
20
20
  class OperationExecutorWorker(BaseWorker):
@@ -6,8 +6,8 @@ from arpakitlib.ar_sleep_util import sync_safe_sleep, async_safe_sleep
6
6
  from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
7
7
  from arpakitlib.ar_type_util import raise_for_type
8
8
  from operation_execution.scheduled_operations import ScheduledOperation, get_scheduled_operations
9
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
10
- from sqlalchemy_db.sqlalchemy_model import OperationDBM
9
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
10
+ from sqlalchemy_db_.sqlalchemy_model import OperationDBM
11
11
 
12
12
 
13
13
  class ScheduledOperationCreatorWorker(BaseWorker):
@@ -5,7 +5,7 @@ from pydantic import ConfigDict
5
5
  from pydantic.v1 import BaseModel
6
6
 
7
7
  from operation_execution.util import every_timedelta_is_time_func
8
- from sqlalchemy_db.sqlalchemy_model import OperationDBM
8
+ from sqlalchemy_db_.sqlalchemy_model import OperationDBM
9
9
 
10
10
 
11
11
  class ScheduledOperation(BaseModel):
@@ -4,7 +4,7 @@ from sqladmin import Admin
4
4
  from core.settings import get_cached_settings
5
5
  from sqladmin_.admin_auth import SQLAdminAuth
6
6
  from sqladmin_.model_view import get_simple_mv
7
- from sqlalchemy_db.sqlalchemy_db import get_cached_sqlalchemy_db
7
+ from sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
8
8
 
9
9
 
10
10
  def add_sqladmin_in_app(*, app: FastAPI, base_url: str = "/sqladmin") -> FastAPI:
@@ -1,7 +1,7 @@
1
1
  from sqladmin import ModelView
2
2
 
3
3
  from arpakitlib.ar_sqladmin_util import get_string_info_from_model_view
4
- from sqlalchemy_db.sqlalchemy_model import StoryLogDBM, OperationDBM
4
+ from sqlalchemy_db_.sqlalchemy_model import StoryLogDBM, OperationDBM
5
5
 
6
6
 
7
7
  class SimpleMV(ModelView):
@@ -2,7 +2,7 @@ from functools import lru_cache
2
2
 
3
3
  from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
4
4
  from core.settings import get_cached_settings
5
- from sqlalchemy_db.sqlalchemy_model import get_simple_dbm
5
+ from sqlalchemy_db_.sqlalchemy_model import get_simple_dbm
6
6
 
7
7
 
8
8
  def create_sqlalchemy_db() -> SQLAlchemyDb | None:
@@ -9,7 +9,7 @@ from sqlalchemy.orm import mapped_column, Mapped
9
9
  from arpakitlib.ar_datetime_util import now_utc_dt
10
10
  from arpakitlib.ar_enumeration_util import Enumeration
11
11
  from arpakitlib.ar_sqlalchemy_util import get_string_info_from_declarative_base, BaseDBM
12
- from sqlalchemy_db.util import generate_default_long_id
12
+ from sqlalchemy_db_.util import generate_default_long_id
13
13
 
14
14
 
15
15
  class SimpleDBM(BaseDBM):
@@ -0,0 +1,24 @@
1
+ from functools import lru_cache
2
+
3
+ from emoji import emojize
4
+
5
+ from arpakitlib.ar_blank_util import BaseBlank
6
+
7
+
8
+ class TgBotBlank(BaseBlank):
9
+ def hello_world(self) -> str:
10
+ res = ":smile: Hello world :smile:"
11
+ return emojize(res.strip())
12
+
13
+ def healthcheck(self) -> str:
14
+ res = "healthcheck"
15
+ return emojize(res.strip())
16
+
17
+
18
+ def create_tg_bot_blank() -> TgBotBlank:
19
+ return TgBotBlank()
20
+
21
+
22
+ @lru_cache()
23
+ def get_cached_tg_bot_blank() -> TgBotBlank:
24
+ return create_tg_bot_blank()
@@ -4,7 +4,7 @@ from arpakitlib.ar_enumeration_util import Enumeration
4
4
  class TgBotCommands(Enumeration):
5
5
  # public
6
6
  healthcheck = "healthcheck"
7
- arpakitlib = "arpakitlib"
7
+ arpakitlib_project_template_info = "arpakitlib_project_template_info"
8
8
  start = "start"
9
9
  about = "about"
10
10