arpakitlib 1.8.95__py3-none-any.whl → 1.8.97__py3-none-any.whl

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 (62) hide show
  1. arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +1 -1
  2. arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py +4 -5
  3. arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py +0 -1
  4. arpakitlib/_arpakit_project_template_v_5/project/api/exception.py +0 -1
  5. arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py +0 -1
  6. arpakitlib/_arpakit_project_template_v_5/project/api/response.py +0 -1
  7. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py +1 -2
  8. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py +0 -1
  9. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py +0 -1
  10. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py +1 -2
  11. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py +1 -2
  12. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py +1 -2
  13. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py +0 -1
  14. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py +0 -1
  15. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py +1 -2
  16. arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py +1 -2
  17. arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py +1 -2
  18. arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py +0 -1
  19. arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py +1 -2
  20. arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py +1 -2
  21. arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py +1 -0
  22. arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py +1 -0
  23. arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py +1 -0
  24. arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py +0 -1
  25. arpakitlib/_arpakit_project_template_v_5/project/core/settings.py +2 -3
  26. arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py +2 -3
  27. arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py +2 -3
  28. arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py +1 -2
  29. arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py +1 -2
  30. arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py +0 -1
  31. arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +1 -1
  32. arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +1 -0
  33. arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py +1 -2
  34. arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py +10 -3
  35. arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py +2 -3
  36. arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py +1 -2
  37. arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py +14 -3
  38. arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py +1 -2
  39. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py +1 -2
  40. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py +0 -1
  41. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py +0 -1
  42. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py +0 -1
  43. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py +1 -2
  44. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py +0 -1
  45. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py +0 -1
  46. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py +0 -1
  47. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py +0 -1
  48. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py +0 -1
  49. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py +0 -1
  50. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py +0 -1
  51. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py +0 -1
  52. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py +0 -1
  53. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py +0 -1
  54. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py +0 -1
  55. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py +0 -1
  56. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py +1 -2
  57. arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py +0 -1
  58. {arpakitlib-1.8.95.dist-info → arpakitlib-1.8.97.dist-info}/METADATA +1 -2
  59. {arpakitlib-1.8.95.dist-info → arpakitlib-1.8.97.dist-info}/RECORD +62 -62
  60. {arpakitlib-1.8.95.dist-info → arpakitlib-1.8.97.dist-info}/LICENSE +0 -0
  61. {arpakitlib-1.8.95.dist-info → arpakitlib-1.8.97.dist-info}/WHEEL +0 -0
  62. {arpakitlib-1.8.95.dist-info → arpakitlib-1.8.97.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "arpakitlib_project_template_version": "5",
3
- "arpakitlib_project_template_subversion": "20"
3
+ "arpakitlib_project_template_subversion": "21"
4
4
  }
@@ -5,18 +5,17 @@ import fastapi.exceptions
5
5
  import fastapi.responses
6
6
  import fastapi.security
7
7
  import sqlalchemy
8
- from fastapi import Security
9
- from fastapi.security import APIKeyHeader
10
- from pydantic import BaseModel, ConfigDict
11
- from sqlalchemy.orm import joinedload
12
-
13
8
  from arpakitlib.ar_func_util import is_async_func, is_sync_func
14
9
  from arpakitlib.ar_json_util import transfer_data_to_json_str_to_data
10
+ from fastapi import Security
11
+ from fastapi.security import APIKeyHeader
15
12
  from project.api.const import APIErrorCodes
16
13
  from project.api.exception import APIException
17
14
  from project.core.settings import get_cached_settings
18
15
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
19
16
  from project.sqlalchemy_db_.sqlalchemy_model import ApiKeyDBM, UserTokenDBM
17
+ from pydantic import BaseModel, ConfigDict
18
+ from sqlalchemy.orm import joinedload
20
19
 
21
20
 
22
21
  class APIAuthorizeData(BaseModel):
@@ -5,7 +5,6 @@ import starlette.types
5
5
  from fastapi import FastAPI
6
6
  from fastapi.middleware.cors import CORSMiddleware
7
7
  from fastapi.staticfiles import StaticFiles
8
-
9
8
  from project.api.event import get_startup_api_events, get_shutdown_api_events
10
9
  from project.api.exception_handler import add_exception_handler_to_api_app
11
10
  from project.api.openapi_ui import add_local_openapi_ui_to_api_app
@@ -1,7 +1,6 @@
1
1
  from typing import Any
2
2
 
3
3
  import fastapi.security
4
-
5
4
  from project.api.const import APIErrorCodes
6
5
  from project.api.schema.out.common.error import ErrorCommonSO
7
6
 
@@ -6,7 +6,6 @@ from typing import Any, Callable
6
6
 
7
7
  import fastapi
8
8
  import starlette.exceptions
9
-
10
9
  from arpakitlib.ar_datetime_util import now_utc_dt
11
10
  from arpakitlib.ar_dict_util import combine_dicts
12
11
  from arpakitlib.ar_exception_util import exception_to_traceback_str
@@ -1,7 +1,6 @@
1
1
  from typing import Any
2
2
 
3
3
  import fastapi
4
-
5
4
  from arpakitlib.ar_json_util import transfer_data_to_json_str_to_data
6
5
  from project.api.schema.common import BaseSO
7
6
 
@@ -1,7 +1,6 @@
1
1
  import fastapi
2
- from fastapi import APIRouter
3
-
4
2
  from arpakitlib.ar_logging_util import init_log_file
3
+ from fastapi import APIRouter
5
4
  from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, \
6
5
  require_user_token_dbm_api_authorize_middleware, api_authorize
7
6
  from project.api.schema.out.common.error import ErrorCommonSO
@@ -2,7 +2,6 @@ from typing import Any
2
2
 
3
3
  import fastapi
4
4
  from fastapi import APIRouter
5
-
6
5
  from project.api.authorize import require_api_key_dbm_api_authorize_middleware, \
7
6
  require_user_token_dbm_api_authorize_middleware, APIAuthorizeData, api_authorize
8
7
  from project.api.schema.common import BaseSI
@@ -2,7 +2,6 @@ from typing import Any
2
2
 
3
3
  import fastapi
4
4
  from fastapi import APIRouter
5
-
6
5
  from project.api.authorize import require_user_token_dbm_api_authorize_middleware, APIAuthorizeData, \
7
6
  api_authorize, require_api_key_dbm_api_authorize_middleware
8
7
  from project.api.schema.out.common.error import ErrorCommonSO
@@ -1,9 +1,8 @@
1
1
  from typing import Any
2
2
 
3
3
  import fastapi.requests
4
- from fastapi import APIRouter
5
-
6
4
  from arpakitlib.ar_json_util import transfer_data_to_json_str_to_data
5
+ from fastapi import APIRouter
7
6
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
8
7
  require_api_key_dbm_api_authorize_middleware
9
8
  from project.api.schema.out.common.error import ErrorCommonSO
@@ -1,7 +1,6 @@
1
1
  import fastapi
2
- from fastapi import APIRouter
3
-
4
2
  from arpakitlib.ar_logging_util import init_log_file
3
+ from fastapi import APIRouter
5
4
  from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, \
6
5
  require_user_token_dbm_api_authorize_middleware, api_authorize
7
6
  from project.core.settings import get_cached_settings
@@ -1,8 +1,7 @@
1
1
  import fastapi.requests
2
2
  import sqlalchemy
3
- from fastapi import APIRouter
4
-
5
3
  from arpakitlib.ar_str_util import strip_if_not_none, make_none_if_blank
4
+ from fastapi import APIRouter
6
5
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
7
6
  require_api_key_dbm_api_authorize_middleware
8
7
  from project.api.schema.out.admin.operation import Operation1AdminSO
@@ -2,7 +2,6 @@ from typing import Any
2
2
 
3
3
  import fastapi.requests
4
4
  from fastapi import APIRouter
5
-
6
5
  from project.api.authorize import APIAuthorizeData, api_authorize, require_api_key_dbm_api_authorize_middleware, \
7
6
  require_user_token_dbm_api_authorize_middleware
8
7
  from project.api.schema.out.common.error import ErrorCommonSO
@@ -2,7 +2,6 @@ from typing import Any
2
2
 
3
3
  import fastapi
4
4
  from fastapi import APIRouter
5
-
6
5
  from project.api.authorize import require_user_token_dbm_api_authorize_middleware, APIAuthorizeData, \
7
6
  api_authorize, require_api_key_dbm_api_authorize_middleware
8
7
  from project.api.schema.out.common.error import ErrorCommonSO
@@ -1,8 +1,7 @@
1
1
  import fastapi.requests
2
2
  import sqlalchemy
3
- from fastapi import APIRouter
4
-
5
3
  from arpakitlib.ar_str_util import make_none_if_blank, strip_if_not_none
4
+ from fastapi import APIRouter
6
5
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
7
6
  require_api_key_dbm_api_authorize_middleware
8
7
  from project.api.schema.out.admin.story_log import StoryLog1AdminSO
@@ -1,8 +1,7 @@
1
1
  import fastapi.requests
2
2
  import sqlalchemy
3
- from fastapi import APIRouter
4
-
5
3
  from arpakitlib.ar_str_util import strip_if_not_none, make_none_if_blank
4
+ from fastapi import APIRouter
6
5
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
7
6
  require_api_key_dbm_api_authorize_middleware
8
7
  from project.api.schema.out.admin.user import User1AdminSO
@@ -3,14 +3,13 @@ from __future__ import annotations
3
3
  import fastapi.requests
4
4
  import sqlalchemy
5
5
  from fastapi import APIRouter
6
- from sqlalchemy.orm import joinedload
7
-
8
6
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
9
7
  require_api_key_dbm_api_authorize_middleware
10
8
  from project.api.schema.out.client.complicated_user_1 import ComplicatedUser1ClientSO
11
9
  from project.api.schema.out.common.error import ErrorCommonSO
12
10
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
13
11
  from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
12
+ from sqlalchemy.orm import joinedload
14
13
 
15
14
  api_router = APIRouter()
16
15
 
@@ -2,7 +2,6 @@ from __future__ import annotations
2
2
 
3
3
  import fastapi.requests
4
4
  from fastapi import APIRouter
5
-
6
5
  from project.api.authorize import APIAuthorizeData, api_authorize, require_user_token_dbm_api_authorize_middleware, \
7
6
  require_api_key_dbm_api_authorize_middleware
8
7
  from project.api.schema.out.client.complicated_user_token_1 import ComplicatedUserToken1ClientSO
@@ -1,9 +1,8 @@
1
1
  import datetime as dt
2
2
 
3
3
  import fastapi
4
- from fastapi import APIRouter
5
-
6
4
  from arpakitlib.ar_datetime_util import now_utc_dt
5
+ from fastapi import APIRouter
7
6
  from project.api.schema.common import BaseSO
8
7
  from project.api.schema.out.common.error import ErrorCommonSO
9
8
 
@@ -1,7 +1,6 @@
1
1
  import fastapi
2
- from fastapi import APIRouter
3
-
4
2
  from arpakitlib.ar_datetime_util import now_utc_dt
3
+ from fastapi import APIRouter
5
4
  from project.api.authorize import require_api_key_dbm_api_authorize_middleware, APIAuthorizeData, api_authorize
6
5
  from project.api.schema.out.common.datetime_ import DatetimeCommonSO
7
6
  from project.api.schema.out.common.error import ErrorCommonSO
@@ -27,6 +27,7 @@ class User1AdminSO(SimpleDBMAdminSO):
27
27
  tg_data_at_username: str | None
28
28
  tg_data_fullname: str | None
29
29
  tg_data_link_by_username: str | None
30
+ email_prefix: str | None
30
31
 
31
32
  @classmethod
32
33
  def from_dbm(cls, *, simple_dbm: UserDBM, **kwargs) -> User1AdminSO:
@@ -26,6 +26,7 @@ class User1ClientSO(SimpleDBMClientSO):
26
26
  tg_data_at_username: str | None
27
27
  tg_data_fullname: str | None
28
28
  tg_data_link_by_username: str | None
29
+ email_prefix: str | None
29
30
 
30
31
  @classmethod
31
32
  def from_dbm(cls, *, simple_dbm: UserDBM, **kwargs) -> User1ClientSO:
@@ -26,6 +26,7 @@ class User1GeneralSO(SimpleDBMGeneralSO):
26
26
  tg_data_at_username: str | None
27
27
  tg_data_fullname: str | None
28
28
  tg_data_link_by_username: str | None
29
+ email_prefix: str | None
29
30
 
30
31
  @classmethod
31
32
  def from_dbm(cls, *, simple_dbm: UserDBM, **kwargs) -> User1GeneralSO:
@@ -1,7 +1,6 @@
1
1
  from functools import lru_cache
2
2
 
3
3
  from fastapi.templating import Jinja2Templates
4
-
5
4
  from project.core.const import ProjectPaths
6
5
 
7
6
 
@@ -3,14 +3,13 @@ from functools import lru_cache
3
3
  from typing import Any
4
4
 
5
5
  import pytz
6
- from pydantic import field_validator
7
- from pydantic_core.core_schema import ValidationInfo
8
-
9
6
  from arpakitlib.ar_json_util import transfer_data_to_json_str
10
7
  from arpakitlib.ar_settings_util import SimpleSettings
11
8
  from arpakitlib.ar_sqlalchemy_util import generate_sqlalchemy_url
12
9
  from arpakitlib.ar_type_util import raise_for_type
13
10
  from project.core.const import ProjectPaths
11
+ from pydantic import field_validator
12
+ from pydantic_core.core_schema import ValidationInfo
14
13
 
15
14
 
16
15
  class Settings(SimpleSettings):
@@ -5,8 +5,6 @@ from datetime import timedelta
5
5
  from typing import Any
6
6
 
7
7
  import sqlalchemy
8
- from sqlalchemy import asc
9
-
10
8
  from arpakitlib.ar_base_worker_util import BaseWorker
11
9
  from arpakitlib.ar_datetime_util import now_utc_dt
12
10
  from arpakitlib.ar_dict_util import combine_dicts
@@ -15,6 +13,7 @@ from arpakitlib.ar_sqlalchemy_util import SQLAlchemyDb
15
13
  from arpakitlib.ar_type_util import raise_for_type
16
14
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
17
15
  from project.sqlalchemy_db_.sqlalchemy_model import OperationDBM, StoryLogDBM
16
+ from sqlalchemy import asc
18
17
 
19
18
 
20
19
  class OperationExecutorWorker(BaseWorker):
@@ -27,7 +26,7 @@ class OperationExecutorWorker(BaseWorker):
27
26
  startup_funcs: list[Any] | None = None
28
27
  ):
29
28
  super().__init__(
30
- timeout_after_run=timedelta(seconds=0.1),
29
+ timeout_after_run=timedelta(seconds=0.01),
31
30
  timeout_after_error_in_run=timedelta(seconds=0.1),
32
31
  startup_funcs=startup_funcs,
33
32
  )
@@ -1,11 +1,10 @@
1
1
  from datetime import timedelta
2
2
  from typing import Any, Callable
3
3
 
4
- from pydantic import ConfigDict
5
- from pydantic.v1 import BaseModel
6
-
7
4
  from project.operation_execution.util import every_timedelta_is_time_func
8
5
  from project.sqlalchemy_db_.sqlalchemy_model import OperationDBM
6
+ from pydantic import ConfigDict
7
+ from pydantic.v1 import BaseModel
9
8
 
10
9
 
11
10
  class ScheduledOperation(BaseModel):
@@ -1,10 +1,9 @@
1
1
  from fastapi import FastAPI
2
- from sqladmin import Admin
3
-
4
2
  from project.core.settings import get_cached_settings
5
3
  from project.sqladmin_.admin_authorize import SQLAdminAuth
6
4
  from project.sqladmin_.model_view import SimpleMV
7
5
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
6
+ from sqladmin import Admin
8
7
 
9
8
 
10
9
  def add_sqladmin_in_app(
@@ -2,12 +2,11 @@ import logging
2
2
 
3
3
  import fastapi
4
4
  import sqlalchemy
5
- from sqladmin.authentication import AuthenticationBackend
6
-
7
5
  from arpakitlib.ar_str_util import make_none_if_blank, strip_if_not_none
8
6
  from project.core.settings import get_cached_settings
9
7
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
10
8
  from project.sqlalchemy_db_.sqlalchemy_model import UserTokenDBM, UserDBM
9
+ from sqladmin.authentication import AuthenticationBackend
11
10
 
12
11
  SQLADMIN_AUTHORIZE_KEY = "sqladmin_authorize_key"
13
12
 
@@ -2,7 +2,6 @@ import logging
2
2
 
3
3
  from fastapi import FastAPI
4
4
  from fastapi.middleware.cors import CORSMiddleware
5
-
6
5
  from project.core.settings import get_cached_settings
7
6
  from project.core.util import setup_logging
8
7
  from project.sqladmin_.add_admin_in_app import add_sqladmin_in_app
@@ -7,6 +7,7 @@ from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
7
7
  class UserMV(SimpleMV, model=UserDBM):
8
8
  name = "User"
9
9
  name_plural = "Users"
10
+ icon = "fa-solid fa-user"
10
11
  column_list = [
11
12
  UserDBM.id,
12
13
  UserDBM.long_id,
@@ -41,7 +42,6 @@ class UserMV(SimpleMV, model=UserDBM):
41
42
  column_searchable_list = [
42
43
  UserDBM.id,
43
44
  UserDBM.long_id,
44
- UserDBM.slug,
45
45
  UserDBM.email,
46
46
  UserDBM.username,
47
47
  UserDBM.password,
@@ -7,6 +7,7 @@ from project.sqlalchemy_db_.sqlalchemy_model import UserTokenDBM
7
7
  class UserTokenMV(SimpleMV, model=UserTokenDBM):
8
8
  name = "UserToken"
9
9
  name_plural = "UserTokens"
10
+ icon = "fa-solid fa-fingerprint"
10
11
  column_list = [
11
12
  UserTokenDBM.id,
12
13
  UserTokenDBM.long_id,
@@ -4,11 +4,10 @@ from typing import TYPE_CHECKING
4
4
  from uuid import uuid4
5
5
 
6
6
  import sqlalchemy
7
- from sqlalchemy.orm import Mapped, mapped_column, validates
8
-
9
7
  from arpakitlib.ar_datetime_util import now_utc_dt
10
8
  from arpakitlib.ar_str_util import make_none_if_blank
11
9
  from project.sqlalchemy_db_.sqlalchemy_model.common import SimpleDBM
10
+ from sqlalchemy.orm import Mapped, mapped_column, validates
12
11
 
13
12
  if TYPE_CHECKING:
14
13
  pass
@@ -3,11 +3,10 @@ from typing import Any
3
3
  from uuid import uuid4
4
4
 
5
5
  import sqlalchemy
6
- from sqlalchemy import func
7
- from sqlalchemy.orm import mapped_column, Mapped, validates
8
-
9
6
  from arpakitlib.ar_datetime_util import now_utc_dt
10
7
  from arpakitlib.ar_sqlalchemy_util import get_string_info_from_declarative_base, BaseDBM
8
+ from sqlalchemy import func
9
+ from sqlalchemy.orm import mapped_column, Mapped, validates
11
10
 
12
11
 
13
12
  def generate_default_long_id() -> str:
@@ -91,6 +90,14 @@ class SimpleDBM(BaseDBM):
91
90
  raise ValueError(f"{key=}, {value=}, value is not dict")
92
91
  return value
93
92
 
93
+ @property
94
+ def id_and_long_id(self) -> str:
95
+ return f"{self.id}--{self.long_id}"
96
+
97
+ @property
98
+ def sdp_id_and_long_id(self) -> str:
99
+ return self.id_and_long_id
100
+
94
101
  @property
95
102
  def entity_name(self) -> str:
96
103
  return self.__class__.__name__.removesuffix("DBM")
@@ -4,12 +4,11 @@ from datetime import datetime, timedelta
4
4
  from typing import Any, TYPE_CHECKING
5
5
 
6
6
  import sqlalchemy
7
- from sqlalchemy.dialects import postgresql
8
- from sqlalchemy.orm import mapped_column, Mapped, validates
9
-
10
7
  from arpakitlib.ar_enumeration_util import Enumeration
11
8
  from arpakitlib.ar_str_util import make_none_if_blank
12
9
  from project.sqlalchemy_db_.sqlalchemy_model.common import SimpleDBM
10
+ from sqlalchemy.dialects import postgresql
11
+ from sqlalchemy.orm import mapped_column, Mapped, validates
13
12
 
14
13
  if TYPE_CHECKING:
15
14
  pass
@@ -3,11 +3,10 @@ from __future__ import annotations
3
3
  from typing import TYPE_CHECKING
4
4
 
5
5
  import sqlalchemy
6
- from sqlalchemy.orm import mapped_column, Mapped, validates
7
-
8
6
  from arpakitlib.ar_enumeration_util import Enumeration
9
7
  from arpakitlib.ar_str_util import make_none_if_blank
10
8
  from project.sqlalchemy_db_.sqlalchemy_model.common import SimpleDBM
9
+ from sqlalchemy.orm import mapped_column, Mapped, validates
11
10
 
12
11
  if TYPE_CHECKING:
13
12
  pass
@@ -5,14 +5,13 @@ from typing import TYPE_CHECKING, Any
5
5
  from uuid import uuid4
6
6
 
7
7
  import sqlalchemy
8
- from email_validator import validate_email
9
- from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
10
-
11
8
  from arpakitlib.ar_datetime_util import now_utc_dt
12
9
  from arpakitlib.ar_enumeration_util import Enumeration
13
10
  from arpakitlib.ar_str_util import make_none_if_blank
14
11
  from arpakitlib.ar_type_util import raise_for_type
12
+ from email_validator import validate_email
15
13
  from project.sqlalchemy_db_.sqlalchemy_model.common import SimpleDBM
14
+ from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
16
15
 
17
16
  if TYPE_CHECKING:
18
17
  from project.sqlalchemy_db_.sqlalchemy_model.user_token import UserTokenDBM
@@ -226,3 +225,15 @@ class UserDBM(SimpleDBM):
226
225
  @property
227
226
  def sdp_tg_data_link_by_username(self) -> str | None:
228
227
  return self.tg_data_link_by_username
228
+
229
+ @property
230
+ def email_prefix(self) -> str | None:
231
+ if self.email is None:
232
+ return None
233
+ if self.email.count("@") != 1:
234
+ return None
235
+ return self.email.split("@")[0]
236
+
237
+ @property
238
+ def sdp_email_prefix(self) -> str | None:
239
+ return self.email_prefix
@@ -4,10 +4,9 @@ from typing import TYPE_CHECKING
4
4
  from uuid import uuid4
5
5
 
6
6
  import sqlalchemy
7
- from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
8
-
9
7
  from arpakitlib.ar_datetime_util import now_utc_dt
10
8
  from project.sqlalchemy_db_.sqlalchemy_model.common import SimpleDBM
9
+ from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
11
10
 
12
11
  if TYPE_CHECKING:
13
12
  from project.sqlalchemy_db_.sqlalchemy_model.user import UserDBM
@@ -1,8 +1,7 @@
1
1
  from functools import lru_cache
2
2
 
3
- from emoji import emojize
4
-
5
3
  from arpakitlib.ar_json_util import transfer_data_to_json_str
4
+ from emoji import emojize
6
5
  from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
7
6
  from project.tg_bot.blank.common import SimpleBlankTgBot
8
7
 
@@ -1,7 +1,6 @@
1
1
  from functools import lru_cache
2
2
 
3
3
  from emoji import emojize
4
-
5
4
  from project.tg_bot.blank.common import SimpleBlankTgBot
6
5
  from project.tg_bot.const import ClientTgBotCommands
7
6
 
@@ -3,7 +3,6 @@ import logging
3
3
  from typing import Callable
4
4
 
5
5
  from aiogram import Dispatcher
6
-
7
6
  from arpakitlib.ar_base_worker_util import safe_run_worker_in_background, SafeRunInBackgroundModes
8
7
  from arpakitlib.ar_datetime_util import now_utc_dt
9
8
  from project.core.cache_file_storage_in_dir import get_cached_cache_file_storage_in_dir
@@ -2,7 +2,6 @@ from typing import Iterable
2
2
 
3
3
  import aiogram.types
4
4
  from aiogram.filters import Filter
5
-
6
5
  from arpakitlib.ar_type_util import raise_for_type
7
6
 
8
7
 
@@ -1,8 +1,7 @@
1
1
  from typing import Any
2
2
 
3
- from pydantic import BaseModel, ConfigDict
4
-
5
3
  from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
4
+ from pydantic import BaseModel, ConfigDict
6
5
 
7
6
 
8
7
  class MiddlewareDataTgBot(BaseModel):
@@ -5,7 +5,6 @@ import aiogram
5
5
  import sqlalchemy
6
6
  from aiogram import BaseMiddleware
7
7
  from aiogram.types import TelegramObject
8
-
9
8
  from arpakitlib.ar_datetime_util import now_utc_dt
10
9
  from project.core.settings import get_cached_settings
11
10
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
@@ -5,7 +5,6 @@ from aiogram import Router, types
5
5
  from aiogram.filters import Command
6
6
  from aiogram.fsm.context import FSMContext
7
7
  from aiogram.types import FSInputFile
8
-
9
8
  from arpakitlib.ar_aiogram_util import as_tg_command
10
9
  from project.core.settings import get_cached_settings
11
10
  from project.tg_bot.const import AdminTgBotCommands
@@ -4,7 +4,6 @@ import aiogram
4
4
  from aiogram import Router
5
5
  from aiogram.filters import Command, or_f
6
6
  from aiogram.fsm.context import FSMContext
7
-
8
7
  from project.tg_bot.blank.client import get_cached_rus_client_tg_bot_blank
9
8
  from project.tg_bot.const import ClientTgBotCommands
10
9
  from project.tg_bot.filter_.message_text import MessageTextTgBotFilter
@@ -4,7 +4,6 @@ import aiogram
4
4
  from aiogram import Router
5
5
  from aiogram.filters import Command, or_f
6
6
  from aiogram.fsm.context import FSMContext
7
-
8
7
  from project.tg_bot.blank.client import get_cached_rus_client_tg_bot_blank
9
8
  from project.tg_bot.const import ClientTgBotCommands
10
9
  from project.tg_bot.filter_.message_text import MessageTextTgBotFilter
@@ -4,7 +4,6 @@ import aiogram
4
4
  from aiogram import Router
5
5
  from aiogram.filters import Command, or_f
6
6
  from aiogram.fsm.context import FSMContext
7
-
8
7
  from project.tg_bot.blank.client import get_cached_rus_client_tg_bot_blank
9
8
  from project.tg_bot.const import ClientTgBotCommands
10
9
  from project.tg_bot.filter_.message_text import MessageTextTgBotFilter
@@ -4,7 +4,6 @@ import aiogram
4
4
  from aiogram import Router
5
5
  from aiogram.exceptions import TelegramBadRequest
6
6
  from aiogram.fsm.context import FSMContext
7
-
8
7
  from arpakitlib.ar_exception_util import exception_to_traceback_str
9
8
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
10
9
  from project.sqlalchemy_db_.sqlalchemy_model import StoryLogDBM
@@ -3,7 +3,6 @@ import logging
3
3
  import aiogram.filters
4
4
  from aiogram.exceptions import AiogramError
5
5
  from aiogram.fsm.context import FSMContext
6
-
7
6
  from project.tg_bot.blank.client import get_cached_rus_client_tg_bot_blank
8
7
  from project.tg_bot.middleware.common import MiddlewareDataTgBot
9
8
 
@@ -3,7 +3,6 @@ import logging
3
3
  from aiogram import Router, types
4
4
  from aiogram.exceptions import AiogramError
5
5
  from aiogram.fsm.context import FSMContext
6
-
7
6
  from project.tg_bot.callback.client import RemoveMessageClientCD
8
7
  from project.tg_bot.middleware.common import MiddlewareDataTgBot
9
8
 
@@ -4,7 +4,6 @@ import aiogram
4
4
  from aiogram import Router
5
5
  from aiogram.filters import Command, or_f
6
6
  from aiogram.fsm.context import FSMContext
7
-
8
7
  from project.tg_bot.blank.client import get_cached_rus_client_tg_bot_blank
9
8
  from project.tg_bot.const import ClientTgBotCommands
10
9
  from project.tg_bot.filter_.message_text import MessageTextTgBotFilter
@@ -4,7 +4,6 @@ import aiogram
4
4
  from aiogram import Router
5
5
  from aiogram.filters import Command, or_f
6
6
  from aiogram.fsm.context import FSMContext
7
-
8
7
  from project.tg_bot.blank.client import get_cached_rus_client_tg_bot_blank
9
8
  from project.tg_bot.const import ClientTgBotCommands
10
9
  from project.tg_bot.filter_.message_text import MessageTextTgBotFilter
@@ -3,7 +3,6 @@ import asyncio
3
3
  import aiohttp
4
4
  import aiohttp.web
5
5
  from aiogram.webhook.aiohttp_server import SimpleRequestHandler, setup_application
6
-
7
6
  from project.core.settings import get_cached_settings
8
7
  from project.core.util import setup_logging
9
8
  from project.tg_bot.tg_bot import get_cached_tg_bot
@@ -4,7 +4,6 @@ import aiogram
4
4
  from aiogram.client.default import DefaultBotProperties
5
5
  from aiogram.client.session.aiohttp import AiohttpSession
6
6
  from aiogram.enums import ParseMode
7
-
8
7
  from project.core.settings import get_cached_settings
9
8
 
10
9
 
@@ -4,9 +4,8 @@ from datetime import timedelta
4
4
 
5
5
  import sqlalchemy
6
6
  from aiogram.exceptions import AiogramError
7
- from emoji import emojize
8
-
9
7
  from arpakitlib.ar_str_util import remove_tags_and_html
8
+ from emoji import emojize
10
9
  from project.core.settings import get_cached_settings
11
10
  from project.core.util import setup_logging
12
11
  from project.sqlalchemy_db_.sqlalchemy_db import get_cached_sqlalchemy_db
@@ -2,7 +2,6 @@ import asyncio
2
2
  import logging
3
3
 
4
4
  from aiogram.types import BotCommand, BotCommandScopeChat
5
-
6
5
  from arpakitlib.ar_str_util import return_str_if_none
7
6
  from project.core.settings import get_cached_settings
8
7
  from project.core.util import setup_logging
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: arpakitlib
3
- Version: 1.8.95
3
+ Version: 1.8.97
4
4
  Summary: arpakitlib
5
5
  License: Apache-2.0
6
6
  Keywords: arpakitlib,arpakit,arpakit-company,arpakitcompany,arpakit_company
@@ -26,7 +26,6 @@ Requires-Dist: asyncssh (>=2.19.0,<3.0.0)
26
26
  Requires-Dist: bs4 (>=0.0.2,<0.0.3)
27
27
  Requires-Dist: cachetools (>=5.5.1,<6.0.0)
28
28
  Requires-Dist: celery (>=5.4.0,<6.0.0)
29
- Requires-Dist: cryptography (>=44.0.0,<45.0.0)
30
29
  Requires-Dist: email-validator (>=2.2.0,<3.0.0)
31
30
  Requires-Dist: emoji (>=2.14.1,<3.0.0)
32
31
  Requires-Dist: fastapi (>=0.115.6,<0.116.0)
@@ -8,7 +8,7 @@ arpakitlib/_arpakit_project_template_v_5/alembic/env.py,sha256=Qesmnj5A2kB-Doeuf
8
8
  arpakitlib/_arpakit_project_template_v_5/alembic/script.py.mako,sha256=MEqL-2qATlST9TAOeYgscMn1uy6HUS9NFvDgl93dMj8,635
9
9
  arpakitlib/_arpakit_project_template_v_5/alembic/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  arpakitlib/_arpakit_project_template_v_5/alembic.ini,sha256=8fuyeEvGBiPGbxEFy8ISBV3xX_fgVmuhEGpB10_B5Uo,3733
11
- arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=ItHh37UihI8TzvEcYHigNRsJbDqis3OoFPwxxnc_LT4,98
11
+ arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json,sha256=venTIy_RqpxyWRH5vD97JdtvE3PFVKeDXpib2U_2GEo,98
12
12
  arpakitlib/_arpakit_project_template_v_5/command/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  arpakitlib/_arpakit_project_template_v_5/command/alembic_history.sh,sha256=OMnDNtHIksGh9iavWnzbtxcudZW4vjdcISsBXvzZSPw,22
14
14
  arpakitlib/_arpakit_project_template_v_5/command/alembic_revision_autogenerate.sh,sha256=yW2i-SBOtBx15Ya0poVQqKkJM5t2JZp06r9AEW-DmGE,46
@@ -81,49 +81,49 @@ arpakitlib/_arpakit_project_template_v_5/project/additional_model/__init__.py,sh
81
81
  arpakitlib/_arpakit_project_template_v_5/project/additional_model/common.py,sha256=BRz-B699ZY52DfUD6kmhpuThBWpPzpZpD0QXIjlkwC8,168
82
82
  arpakitlib/_arpakit_project_template_v_5/project/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
83
  arpakitlib/_arpakit_project_template_v_5/project/api/asgi.py,sha256=ES3YGwNxWUHVyD6e2ii6QkvTyB-vlVmr8_PhfVIXQ4Y,78
84
- arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py,sha256=puOmx2OSV2ExcLqtAD1zmvfY0zbLqLxkytF5xLZTnQg,15424
84
+ arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py,sha256=lQlpEKwwseWzBs8_knf3JpEEKoSbXBN7OZDWKwZbXWk,15423
85
85
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
86
86
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/admin.py,sha256=ii1zLHjvB7OVLQKFOhp4lpodXcwAmtwDdrM1iaafQfg,100
87
87
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/client.py,sha256=rvJKtAB26Qy2pKVSHSMUM_70oI4v8Yr6Vmpr6r4EzNk,101
88
88
  arpakitlib/_arpakit_project_template_v_5/project/api/blank/common.py,sha256=ug1FylE_CVC5eij-u4nh-IHNO-gwkbBGo5KgyWDujC8,91
89
89
  arpakitlib/_arpakit_project_template_v_5/project/api/const.py,sha256=J9bqaRRiIc3RLn6SJTvdfDvFrSsM_Ixii9t2M8dA5Jc,433
90
- arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=fRYjpKEB5pMpFtWEhUe84mVvaFBKQ2WU5BTwCpb0J2Y,2861
90
+ arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py,sha256=Z7hMtmcVsnJF20Rx2IRlcZU7zjbrpMT3AVkX73lx8r4,2860
91
91
  arpakitlib/_arpakit_project_template_v_5/project/api/event.py,sha256=xKfJ3UnOx_g1s7KNZjWRp0eZbVRTsSlyJhT3wkfwT6k,2414
92
- arpakitlib/_arpakit_project_template_v_5/project/api/exception.py,sha256=cNZaI2DacGLl8Hyn1qIfFpVjvQzOQjwXWsVW4auBrCo,1280
93
- arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=TEzkCNOg_TAELRTZgLtblVagSaHf-vego_oH5FNCbcs,11179
92
+ arpakitlib/_arpakit_project_template_v_5/project/api/exception.py,sha256=6v45GQzoFZ83Nud8BxCmfVP-zFCiGFtxbAL1b_pKxZk,1279
93
+ arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=92icNa338l4S8BY7E_lt47l0_F7BIhGKKFCzxxJbyOo,11178
94
94
  arpakitlib/_arpakit_project_template_v_5/project/api/openapi_ui.py,sha256=PLhH-W6zDViO-75AGCs8Vq3IoyHChdqwBYAqLvdQN0U,904
95
- arpakitlib/_arpakit_project_template_v_5/project/api/response.py,sha256=xZMymP2BuQaRNVWLeIp3UgUUo-MFN8MJnsn9Al4vOb8,1028
95
+ arpakitlib/_arpakit_project_template_v_5/project/api/response.py,sha256=UOwy2mMJl_xz7FqHlk9Tz1_J8DcjTKRRchmnFGxhHOI,1027
96
96
  arpakitlib/_arpakit_project_template_v_5/project/api/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
97
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
98
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/check_sqlalchemy_db.py,sha256=JGe2HvUSvXaIOaFG0ezNBhANCjvHJJFIG3aBtWF2dTY,1218
99
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py,sha256=HZYc4isEPEDx92v0cxTomS5j3hG7Nm2vn71hqkajM4M,1354
100
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py,sha256=aZFZzJM36knQIf2I2jCOjqzQ6nn70WgcPv88V18u8Ho,2358
101
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py,sha256=z6w7WajDfd6H5nb3IE_U37xcaCepGJSeJ2BDrHCpDBE,1260
102
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py,sha256=Hpjkucwnb2LtytWpMMA2WMROY2cTLn0q_tnUFijk0so,1195
103
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py,sha256=rzEPco45I-4FzrlbI3z5B-smhrHFIVIsDiHtTULoE4g,1162
104
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py,sha256=uo3QK4Rw8V0YjMbCeymC6JZF2-qkMay3ofZlxBC3-S0,2291
99
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py,sha256=35EiCIS8p-4k4pyZabAkAxNaSMFaDsK47knSaLVgpps,1353
100
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py,sha256=i-a_i8h2EfJdkmDye9mamummXOAuHVNiaEsnCVyAdxA,2357
101
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py,sha256=XlVZ1yv-aJ6MqkW-TQ_D2Ot6q3lYCju7_dVlEmvf8jQ,1259
102
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py,sha256=2Lh7EbVylDyI1RfUR0P4D0kPTkveLV2i2wEXo3EyIEY,1194
103
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py,sha256=0RWxz0N_Ir3lrzHqOmh3EcrCAN8drIngkqq6mk5sq9U,1161
104
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py,sha256=y82PxkcBTzSTlM_VYboFN9kLJPhOFwZCAjvyZPhpuas,2290
105
105
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_statuses.py,sha256=eN-1XHeeSkgSTmYLldV-8uAY8qEmdUVCfvY2A5IHtw0,1096
106
106
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation_allowed_types.py,sha256=R5d3lZCHQNadPzG77WbJbLFQwTwPFU3l7BLYUlIOA6c,1090
107
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py,sha256=UhTWDrBkZHqkbqanDMr6Q4vZibDBeCIrVNzAInzjR8o,1157
108
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py,sha256=H6D9gEhbSKEwKeYj2HAyk948-sPvhxRark_Iqq67Jzk,1201
109
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py,sha256=XEVouJSYgEIa0y6ujwfv26tAd6M-tMixOQZCxFUnHec,2283
110
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py,sha256=ChsorTfFI03PzJfvcKU4mSHMTXuIrphXgoZBft6nMy4,3021
107
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py,sha256=8oSlOz-Kj_Raln---9M4J9RYYuPwTKLj_hRQoBPSzxQ,1156
108
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py,sha256=gWC5FLo3JzuN7KZXahCIqQnYVmH3VujlE8sL9qDUSF0,1200
109
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py,sha256=zuYxRksXWH4klnqpr5B-LHrbU1-eejQc9NEKdVQ9LP8,2282
110
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py,sha256=S5O13_HSHhYrc9QCbirjy07GgnNX4DHRvKnPX-_Tf74,3020
111
111
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/init_sqlalchemy_db.py,sha256=HUDaDeyb5ldpiEaA2mJIsAuGF6H-XupGvKfxjrkxMTE,1333
112
112
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/main_router.py,sha256=pu5-H9JlXhsVrY4a2ajbgeTbPo9ijIGSiq7J1Q77QT0,2479
113
113
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/make_test_data_1.py,sha256=tITqtXW2C7od04_ECQudR_5kupVoKrYVnUVU2YcZp-g,1178
114
114
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/raise_fake_error.py,sha256=kMr06QR39XVUoVwUuwJHoQmaWHvlfi2j53ZCMX3CU48,1048
115
115
  arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/reinit_sqlalchemy_db.py,sha256=kTa_RSZgPKbDfdFHzhAJroddWOUDRK4YTJN2WVnKu-Q,1343
116
116
  arpakitlib/_arpakit_project_template_v_5/project/api/router/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
117
- arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py,sha256=5pGclUqLb9NYHYhxUJMcCjzQmGs8OwrosAZ2UgWrP1A,1670
118
- arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py,sha256=wwga5rcUBPWL9qgnYgEelaGqc2gKlRMutbjtw9g-srQ,1286
117
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py,sha256=BgjKWJV8ndoL0LVqT5ETx61jJSxuElU1BNZP0eYVEZo,1669
118
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py,sha256=3qhHhA-6crS-6msE8ls4D8pYRCA8paUprAsRfj76dJM,1285
119
119
  arpakitlib/_arpakit_project_template_v_5/project/api/router/client/main_router.py,sha256=IIy6VxG5xPR4ZjGaMwDM59izMIMoFxjqVmAvh-Fq330,386
120
120
  arpakitlib/_arpakit_project_template_v_5/project/api/router/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
121
121
  arpakitlib/_arpakit_project_template_v_5/project/api/router/general/check_authorization.py,sha256=NUQK4KI0XpwzPEGjgQMxU43ZaTm-dEXrmU1BMIFcA3k,1853
122
122
  arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_current_api_key.py,sha256=fkQ2SYnjBiJkNu__DfDV4tpu83sZBRVZK6aiUbABJOY,1195
123
123
  arpakitlib/_arpakit_project_template_v_5/project/api/router/general/get_errors_info.py,sha256=OS4R5UVVjvnI8S6lDBMEZ9jXbpbttPKe4n2q-jzTs9Y,1157
124
- arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py,sha256=n-ANP4x4AD6903Lt25r2mZx3tQ1DdxKn2SRPwk-POv0,695
124
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py,sha256=Otzqhzaexh7aUaHJOuz59C8BQsuYyVBrcgU9ecHrgYg,694
125
125
  arpakitlib/_arpakit_project_template_v_5/project/api/router/general/main_router.py,sha256=zYei_6fiEVRkP3fuhCmu_c1rNzTUULAlh18PckTKfR4,774
126
- arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py,sha256=SG-x57FCs9_nWPJAnNhem6HIx5vQ-DLj4IXwuI0GEiY,909
126
+ arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py,sha256=_msDsNe8xOd2gy_IcyGGzo6PsVAchhxlY8OuBtFdPA4,908
127
127
  arpakitlib/_arpakit_project_template_v_5/project/api/router/main_router.py,sha256=Y-PPHWbLoICn0O8NRdx49f7ifEw2uN_QIRwfIseo0J0,615
128
128
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
129
129
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/common.py,sha256=DX6Yz63JHoNlgmZnpss2PuRgEtBh3PPlxM6wImYLpXo,718
@@ -140,12 +140,12 @@ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/__init__.p
140
140
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/common.py,sha256=0vZOPql7ijaSr0yq5USSHNRSHnpUmCgYdh0vw4n8qak,591
141
141
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/operation.py,sha256=Gg0TSj9RmsaHBaWNzjJPLYnTN1wZ7Od0z8OaqMFa6hc,833
142
142
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/story_log.py,sha256=lOQWCpXrdVbLFRZFbY5aW9afM4vn5-KV3DwKb6_48N4,565
143
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py,sha256=aZEniKyXa5wpyDU6-GbccEw3dDONYDPjeDp1rBjfhxc,1019
143
+ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py,sha256=3PMHUbWzkXxhzvwcbj3rjxjmvb1S2v1G_DoZwJJegTY,1048
144
144
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
145
145
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/common.py,sha256=vpE_bjT7fdaWe0LQxuVwEy7ZDSyVe4PrcX-gUTRWZbU,539
146
146
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_1.py,sha256=G7rdFpfIK13w2nQVuAASqvtPm9jHPzt59A_-dtJfle4,763
147
147
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/complicated_user_token_1.py,sha256=XhM0YMWK1fJCzTGgnSsEKFynx8Cs6JwygmmF4C1_Jts,714
148
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py,sha256=HQIPEVc5dum60C3sAGBdPlRdwHIP90ZDGBLlYRkJ4Ek,999
148
+ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py,sha256=l_UFFfNJLoWg5z_B5ezfAZC2IehcbrWc1BnfyP0lBko,1028
149
149
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user_token.py,sha256=Emhpawd_jGWu9xzyYyXk9h0YDSnHGDkyfP-hIgenzpA,508
150
150
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
151
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/datetime_.py,sha256=YFo29Qc7JMVq-OR398kPy4ypjh9kYAxPuZZUsobhDdc,942
@@ -155,7 +155,7 @@ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/common/raw_data.
155
155
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
156
156
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/api_key.py,sha256=S0b1t79VRJZMA1hNdJJe_bH-QN5qNY8uJIHVVDnQ6Is,506
157
157
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/common.py,sha256=y-p4QJhvKnFL1I6ud3m_nzE0xtreT3CNApPkkkLAbG0,541
158
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py,sha256=HJctEpV31DA_SDEQvSlKkR85rG9OW6iSgO3ld2Cw-uc,1004
158
+ arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py,sha256=HpBfyDE7GBoxWyOGT05a4n_fvH2xD1U6b96YCjWWj5M,1033
159
159
  arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user_token.py,sha256=iiuZXu_zo3FJX0W5qyyMGasUx-_d32yjqc_2KY3xpUA,513
160
160
  arpakitlib/_arpakit_project_template_v_5/project/api/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
161
161
  arpakitlib/_arpakit_project_template_v_5/project/business_service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -166,9 +166,9 @@ arpakitlib/_arpakit_project_template_v_5/project/core/__init__.py,sha256=47DEQpj
166
166
  arpakitlib/_arpakit_project_template_v_5/project/core/cache_file_storage_in_dir.py,sha256=0lKPKvrs30DlAZwNS5ydPsQ9ETFLBjZqEcNv8LoQVCU,623
167
167
  arpakitlib/_arpakit_project_template_v_5/project/core/const.py,sha256=hgiiPIYL9543-eEnNAhZWYgX7ZzLKjOqRD0skkROSOw,951
168
168
  arpakitlib/_arpakit_project_template_v_5/project/core/dump_file_storage_in_dir.py,sha256=u3-vStMGaseMsRLuJmQK04UDhaez9vw6o5jyHb1fwNg,617
169
- arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py,sha256=jCNLaBauGC7YNvZdTLNHuPp7hmRGt94O23Skg6ewo7o,352
169
+ arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py,sha256=y-kxNQH-QykgdFELimNj2eSJxRit0IAQc5rDgg3Z-Qc,351
170
170
  arpakitlib/_arpakit_project_template_v_5/project/core/media_file_storage_in_dir.py,sha256=fMofTsfJtA8pp5lEUhucEUu3PBsmj-elaRZzExDsdLI,623
171
- arpakitlib/_arpakit_project_template_v_5/project/core/settings.py,sha256=ZxBiE0cf7aywLhAz341MrRyjm4UeuE91Ja5JIjDZ9pU,5881
171
+ arpakitlib/_arpakit_project_template_v_5/project/core/settings.py,sha256=IQGRJM1kOttFG8YeCmNOO-MueGMTA1K4ugupkiV7fGE,5880
172
172
  arpakitlib/_arpakit_project_template_v_5/project/core/util.py,sha256=1ha9UrguVPsTSjoMHhVZVCD0_mNBfhIDGEvcG1nA4Zw,667
173
173
  arpakitlib/_arpakit_project_template_v_5/project/json_db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
174
174
  arpakitlib/_arpakit_project_template_v_5/project/json_db/json_db.py,sha256=tBML-z4Y7uY8f_0ggcxvlDNt15Sf93Jr_OUeHwWxqOA,724
@@ -176,9 +176,9 @@ arpakitlib/_arpakit_project_template_v_5/project/more/__init__.py,sha256=47DEQpj
176
176
  arpakitlib/_arpakit_project_template_v_5/project/more/helloworld,sha256=eH7Hbcr9IMGQjrCTahL5Ht0QWrXNfswrGuIDJkg0Xf8,11
177
177
  arpakitlib/_arpakit_project_template_v_5/project/operation_execution/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
178
178
  arpakitlib/_arpakit_project_template_v_5/project/operation_execution/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
179
- arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py,sha256=pAcvuAVgWc86Vyx3-I21rPvBr9ZxUNaLRoS7VEwkETw,12129
179
+ arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py,sha256=Wcdv_AUCLgr-L2fqwe6M0XuwaC0-GDSiNvHX9J5PUjg,12129
180
180
  arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operation_creator_worker.py,sha256=WzZC6r0GVSwOpphsxqpRZIdeewK_wzi3YshjLOutYGA,4524
181
- arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py,sha256=WZyRWzrLvGre_1TjWy0I8V7WfKFZJ0f_8LuZZNrzgy8,1712
181
+ arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py,sha256=vAr-dkGoVcsl5dzLUzPHAMv8-9ahIS66aKXZ5IhfGsY,1711
182
182
  arpakitlib/_arpakit_project_template_v_5/project/operation_execution/util.py,sha256=sqHF2AU5Y5IurYHcIH2bu3-JbS1amLO3GD13Zvy8epM,923
183
183
  arpakitlib/_arpakit_project_template_v_5/project/resource/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
184
  arpakitlib/_arpakit_project_template_v_5/project/resource/static/1,sha256=IIO7Wvjwlr2-LPSQ7Y8O35hcI6t0_s8zqITDxkYCO8I,11
@@ -223,28 +223,28 @@ arpakitlib/_arpakit_project_template_v_5/project/site/exception_handler.py,sha25
223
223
  arpakitlib/_arpakit_project_template_v_5/project/site/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
224
224
  arpakitlib/_arpakit_project_template_v_5/project/site/router/main_router.py,sha256=J5jNfgd-3OiWTtuubimEUz6wrOogupj9PkUdDmwz-2U,62
225
225
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
226
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py,sha256=JTXLf18DQVsZtoe6yFpZIVJI95rgJofnTe9YKyVwwhQ,851
227
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py,sha256=tmvYx5hFO2RqHmhKktpMRJaBuT6vDHBOsQujihO7sMw,4983
226
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/add_admin_in_app.py,sha256=9ecDreptxM1dDLDdn-aNGRmN1Q-mW4Sq3dYvfHbDHiM,850
227
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/admin_authorize.py,sha256=pAloalyOeRCWitdhlF4aOFkODYv5EWyKwhiQofxaWfo,4982
228
228
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py,sha256=DRlRPkcOGXOccfP73oKEXolZTsc5VWdQgEG-qoW03ms,99
229
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=x5F8--5KA4cmTrb6kAAmp6fVd2TiqxPOzxqUkSEhSG4,1298
229
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=UYT7DwJoA5hnkL7fCcdRqxvozqA-BvNO8VYHXuDRlhI,1297
230
230
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/event.py,sha256=LjAUYNlsX9Sj_QLMzYuTQbbYYbIMHhbsSjTXt-G7lOE,849
231
231
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/__init__.py,sha256=MtEk37LR9xg5XltEbIAw1hh74BsS70I2G3C21QSbjVQ,357
232
232
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=rQ1xKXYJVSXGRisJ5XZeFIvH_iRWJjqwHzcAZs8n2Z8,689
233
233
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py,sha256=US1tueTCPvAdse6TLT6yRLUHbvwGGagApYhFJzE_6Yc,576
234
234
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=ZPoq3SueGJfR_aWk-a6dIHRNmO1Qa-8kHUW0aR4ZW3g,920
235
235
  arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=GMSICxW_A8RTCtoENDEjce-R8GRLKtHa-OU5OLMdH5s,720
236
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=L6evYvGCu_Ls3M4awfVYtALdEARdcuRg-BBwL6D2750,1204
237
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=zpgpmBXUpM9EpOS3W-5BQc2r3B-40ykkL8ls8pm6te4,1005
236
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=jZfMgtyxU5eCStu-9jv9SrAgUAAVeO1_mQvzPI_rV4A,1212
237
+ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=GJQXMAHvieMQ15WEp0mNS1aXEuWHwhSwTmOw-ebkV50,1042
238
238
  arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
239
239
  arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
240
240
  arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_db.py,sha256=1y3FaMFzm_5UM2poqtBve_UP_mh1vjs--krq6yO8PsA,742
241
241
  arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/__init__.py,sha256=btSjCQ7RJqomeXzYs9HePCu1dZHs0z6-RuboYKG89_8,598
242
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py,sha256=R-wAGtRtRS4CjW2DPJ9ZUyRnMqICWTaqyUTlhsAd7LY,2026
243
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py,sha256=o4PQRvc7CQ-kVW3fv9L0KcXsBTi0vPehp72yhWBFrII,3042
244
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py,sha256=op5cSkTlHJyGjULgcSWE9-_PNinKSneHLxhG5DUkd9M,5913
245
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py,sha256=wig_D6OZyYYGsqZEbmSK56qoAIOnOVnOEB_sRSZLSIU,2396
246
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py,sha256=LXJdVUpY58nCGmG6Q8qYM7SAZrPtUbDgwLsWVpeM5-o,6690
247
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py,sha256=UtSbQRlNJOnD7q-d_aZfMjQnPFnchGPf1fWGwsgCm5k,1944
242
+ arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py,sha256=4Y4zgKzty_7xqqJWg4DDiS0nbDXzQVtq2r6d0lunnTw,2025
243
+ arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py,sha256=_ddBled1XX6YR3LxoWmRlZjwMRHlBmQRBVg0vGcPe_8,3228
244
+ arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py,sha256=VkaUFYgnpGfQbJP_APuCRwzzQRr7yGgnEbbNlsizwgU,5912
245
+ arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py,sha256=hqkXH7oV-BT8pRDzrDYWYseVFg2J6ca-WYyiucPOiH4,2395
246
+ arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py,sha256=xBU_DPq7S_2gv15LOhiTttL5dZzPTbcjpSNU8yY9ZPo,6998
247
+ arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py,sha256=y97em7M2WfDV8Wm7GMrIejalk9NkCsZDGK-sETkXscM,1943
248
248
  arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
249
249
  arpakitlib/_arpakit_project_template_v_5/project/test_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
250
250
  arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_api_keys.py,sha256=9F2bMfymaqx_Czh_tF945BKpKqNrVNjSIfCQl13Dkxw,911
@@ -255,18 +255,18 @@ arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_4.py,s
255
255
  arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_5.py,sha256=cew0ndlJspNkeQVOS0UPoceg1ARIm5ZFCzytiDIyvbg,416
256
256
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
257
257
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
258
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py,sha256=ozabEfB7r38NqbV9XIbBYC3JCzZLzWhBQT4uUxwm_MY,876
259
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py,sha256=4Mt-VXvKZhoUJ63NxAXhfT4ScHRvebBKVf9kfXyzmE4,2733
258
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py,sha256=Z802nclQbn2lkzrUmKD0La4xXxfhuuwrsp3IMGRDyyE,875
259
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py,sha256=YJYB3chOBfkoaohUNKckgXVvZN0306reTWFjHE_B0q8,2732
260
260
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/common.py,sha256=HjJnKLQAdHtLLM73wURiFR2zzJEvkypVg0pMsKu5mKs,93
261
261
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
262
262
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/admin.py,sha256=6_GPIa9azJGgsDB2SHs6IpSi5jc18PwqXMFgyMatooU,114
263
263
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/client.py,sha256=VsYtsjTHzsYrTV4ejEib9aoaRN1NieYgYVt_lt2tu48,98
264
264
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/common.py,sha256=FhSQLjdR-XArdorqG9RxsCjgQv_RyWbFZFHM52Sar-4,1023
265
265
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/const.py,sha256=DJBbN7lLkQMIPVYeWSRF-qX_GuHWyM442I9haTOSQx0,1214
266
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py,sha256=nTyJt6QRBKPz3BcVz9KtgGMtV3qTh_RaCSZe-6q2M6Q,4082
266
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py,sha256=GdVK-5X56chIGf-yEb0c5DKXvqqS96oSGYMjKlGIU8s,4081
267
267
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
268
268
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/is_private_chat.py,sha256=2anQo68KqkNYQnfIZDXSOX0P9hU59oSSSIJ36bWQdo8,500
269
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py,sha256=OdQSWtdqAQeiJt2hr1z5XMreT-esVkBHLBLvMx4PzAw,1326
269
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py,sha256=7aXOwQBhteajaZN5unXEUf8dW3jMuAJ8VgoB4gJIAAA,1325
270
270
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/not_prod_mode_filter.py,sha256=WY2Bl6_vznUi2bT0WMbVUkQq_JQ783hMFFwLs4u9Whk,236
271
271
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/prod_mode_filter.py,sha256=WfbAnzW8X4wJVtv_lHbr6u2SXXGwLhplTKPaHpuWQZ4,229
272
272
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_admin.py,sha256=cFDYs03CgRkuAi6XDXdMxXKatWG_YeH5TpHP-lIIMTw,593
@@ -288,8 +288,8 @@ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/__init
288
288
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
289
289
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
290
290
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
291
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py,sha256=Z1LMCJUtdzVBe7W60HWTUQT7G_vKfNh4i4dFZT7BmLM,406
292
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py,sha256=54ImOzj3cdekgHtj4yc8u7eq-Ae3rj1__mIj3FTwWfA,3939
291
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py,sha256=P716ccy_7YLoPlgh-ecO_n0W7aHaoBjBITo5BS2q4Ls,405
292
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py,sha256=E4u-9GRlPBmvWqqPIRzqiRErHamdLOEeyRsg0l7FLfM,3938
293
293
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/uil.py,sha256=66v3pHu8nhJ8pJayXaHNKjmPVK4fKUCNWilOM0yzNKg,319
294
294
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
295
295
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -303,36 +303,36 @@ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_not
303
303
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_old_cd.py,sha256=y-06B6jnHXEM90Ygj4Ie0hT7PHxr9tX-QpUr6exIWCc,1279
304
304
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_raise_error.py,sha256=yajAkA1DQqhCt6SC9bbgpLrY-3Wt8BF5iNpE7ur77_s,1599
305
305
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_remove_message.py,sha256=oFoZDtcWl9TqaOxG4pT99_VBQQBq16ZUyqytkxdmd_8,1321
306
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py,sha256=c_0REIcl2_3ceHXEKwwNXx0b2UEKtdwUXdz8WfmUdpc,1344
306
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py,sha256=MQc_gwDEmRyHpoOb0VHfncrTplSueOy1--DdVzjm3O4,1343
307
307
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/me.py,sha256=-oeAQEfvoHfN9BaMm66noEUggRBf6NjvJu4LhuOfkts,974
308
308
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/raise_fake_error.py,sha256=OKnSZ0IXt6Ma5F1212dnw1You3WT706N7VcU6djRQTE,815
309
309
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/reinit_sqlalchemy_db.py,sha256=SmtuNFzxiUKmZ5WjVihwsjIQtw9cDMzTPlHSTpG4Ckc,1295
310
310
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/set_tg_bot_commands.py,sha256=IXVWqwlbmiphA0qtEdZiwS6UJJyXfHl6uXhqsX74wmc,1083
311
311
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
312
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py,sha256=blOgJ2eNJm6eE2odtcnCMfIrmelJUmEaZVP_Kirwclo,935
313
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py,sha256=7GXp916EAtCjnG5bekEACjSxTSwilZgod0NzQYDn--I,957
314
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py,sha256=ScD8JUTaGy5GUapFzhcb1hreuwN7_M4BBuAwUo8RWEc,937
315
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py,sha256=_whYErhFEXUmJe181uB_BHiMUFJwIF4rkFVSW_A6UlM,3334
312
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py,sha256=XoFPp-5l6qMmJPt7dV_M5JT_Drs7y_E4wfssaJgyBMA,934
313
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py,sha256=gOaequhV1WX77oNr12AqNss4ctkqBG9dnX0Ee-WKupE,956
314
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py,sha256=7Q9gPMNQ-vwXI1hs34wqlDcZJ0DlGpbZ26AVmnALQ5Q,936
315
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py,sha256=eH-zlZHPHXlM63CWc3V2nj23gxwqRjFllbQ5cSlF_3E,3333
316
316
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/healthcheck.py,sha256=Vha3kiIAI5ZKgX9O62us6kbuEE3uKIFLh_C6qm3JFPI,631
317
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py,sha256=zQurJqBROhhbec2elBunE3sFce31HZMDB3WgNWXDg5A,870
317
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py,sha256=WGOQ0gi-f51YNiM5EyrFUmkX3o1HMUeCd1lOVnLo11E,869
318
318
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_inline_query.py,sha256=H6lMpcbC_qXMibNPGUnRHG3TSA4BG9gIL3RBLJhSckg,359
319
319
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_message.py,sha256=80fmR-BOjJd5e5dXLJnxGVUkpMTKBmuY5N7uYqiOQJ4,515
320
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py,sha256=nOoxsw0kaHT8s3MNTHbNPfoAOnOBV3vvGBHo-xcCz4U,785
321
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py,sha256=jD9WbJn4tND6wsfxxxmvYl8DDhoAXAkFziueV9IY4iM,1016
322
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py,sha256=MCvb-yJCBrJWBoESdU2X8Uft50oxEVe_m5YhZ_oHY4M,1096
320
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py,sha256=1SAO5uXsKk9p3TDSZnStHoLBAC9dj-AWs4zzPLP3XMY,784
321
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py,sha256=GuhaV7ppdAfXZmn0KiGix8X_44F9cukAQwQ707FsASA,1015
322
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py,sha256=JJbklXoIeJNLss2eyX9AZPfsed2ie5UtXHQrE_pYAmk,1095
323
323
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/main_router.py,sha256=5r9wZLjhxWTL89I_NF8NUwcMcBkyOQR7IRw9y4gWXWY,2435
324
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py,sha256=vHARWETCD4hlK624aFxnkjsytgEbZY20bt973Oc_Peo,1253
324
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py,sha256=IniVc5Sj72nb0AumjOxLtmuyNRb8AxrgAygdkbkVwug,1252
325
325
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
326
326
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/admin.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
327
327
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/client.py,sha256=B1mslhGJEibHDS-YHtWncAnd3UVeyzJmVsdQK4UAzB4,119
328
328
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
329
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
330
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py,sha256=jMX_awQl3GvyKZ8pmR0dQOzg_2LyrYTmn31DAVmOxxs,849
330
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py,sha256=IYoYlpq3_1xicDKBixuXTHJeYmqzj7Lwk9MnFCqZLaU,848
331
331
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot_dispatcher.py,sha256=1uxUooMhkDzUVHrHZgWU-SqwElh9KETgD5JtkkV4wAs,653
332
332
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
333
333
  arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/etc.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
334
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py,sha256=ikjp5J0qgq6LGxh6iFcVIKtO3cUed3p39NwcFLcatVE,2096
335
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py,sha256=eTVOpwp8zn74QhLgmbLkxn3cH4xPzQN02euS-7UP-Eg,3489
334
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py,sha256=P-pqF5TPK3T_EgtGYk717W7tFVOc4xNuccFehYv-054,2095
335
+ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py,sha256=gCcc-nWyu_MGKkhFSs9qk44el99hCzJiJBLksyN3nV8,3488
336
336
  arpakitlib/_arpakit_project_template_v_5/project/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
337
337
  arpakitlib/_arpakit_project_template_v_5/project/util/arpakitlib_project_template.py,sha256=syA_IuszHVub0zm0sVdB4_7rPJXwXRW4JmQ4qHbjXPk,396
338
338
  arpakitlib/_arpakit_project_template_v_5/project/util/etc.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -384,8 +384,8 @@ arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA8
384
384
  arpakitlib/ar_str_util.py,sha256=CAv0wH8nP5Ja59S-hEdmNhNrM_Fwy935d0zntLpJkx8,4309
385
385
  arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
386
386
  arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
387
- arpakitlib-1.8.95.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
388
- arpakitlib-1.8.95.dist-info/METADATA,sha256=ywFYfHMbc008xqOHZabOFBrwzUqm_Tx4hE86sxyIF5c,3517
389
- arpakitlib-1.8.95.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
390
- arpakitlib-1.8.95.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
391
- arpakitlib-1.8.95.dist-info/RECORD,,
387
+ arpakitlib-1.8.97.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
388
+ arpakitlib-1.8.97.dist-info/METADATA,sha256=LM9KBMYvoRgyQzhQatdHX9WXGs6dCqmIdar21jLY680,3470
389
+ arpakitlib-1.8.97.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
390
+ arpakitlib-1.8.97.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
391
+ arpakitlib-1.8.97.dist-info/RECORD,,