arpakitlib 1.8.96__py3-none-any.whl → 1.8.98__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.
- arpakitlib/_arpakit_project_template_v_5/arpakitlib_project_template_info.json +1 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/authorize.py +4 -5
- arpakitlib/_arpakit_project_template_v_5/project/api/create_api_app.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/exception.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/response.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/clear_log_file.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_settings.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/api/router/general/healthcheck.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/router/general/now_utc_datetime.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/admin/user.py +1 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/client/user.py +1 -0
- arpakitlib/_arpakit_project_template_v_5/project/api/schema/out/general/user.py +1 -0
- arpakitlib/_arpakit_project_template_v_5/project/core/jinja2_templates.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/core/settings.py +2 -3
- arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py +2 -3
- arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py +2 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py +8 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py +8 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py +8 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py +8 -1
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py +8 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py +0 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py +40 -0
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py +10 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py +2 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py +14 -3
- arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py +0 -1
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py +1 -2
- arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py +0 -1
- {arpakitlib-1.8.96.dist-info → arpakitlib-1.8.98.dist-info}/METADATA +1 -1
- {arpakitlib-1.8.96.dist-info → arpakitlib-1.8.98.dist-info}/RECORD +64 -62
- {arpakitlib-1.8.96.dist-info → arpakitlib-1.8.98.dist-info}/LICENSE +0 -0
- {arpakitlib-1.8.96.dist-info → arpakitlib-1.8.98.dist-info}/WHEEL +0 -0
- {arpakitlib-1.8.96.dist-info → arpakitlib-1.8.98.dist-info}/entry_points.txt +0 -0
@@ -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
|
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
|
|
arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py
CHANGED
@@ -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:
|
@@ -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):
|
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/operation_executor_worker.py
CHANGED
@@ -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.
|
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
|
)
|
arpakitlib/_arpakit_project_template_v_5/project/operation_execution/scheduled_operations.py
CHANGED
@@ -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,12 +1,14 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_
|
4
5
|
from project.sqlalchemy_db_.sqlalchemy_model import ApiKeyDBM
|
5
6
|
|
6
7
|
|
7
8
|
class ApiKeyMV(SimpleMV, model=ApiKeyDBM):
|
8
9
|
name = "ApiKey"
|
9
10
|
name_plural = "ApiKeys"
|
11
|
+
icon = "fa-solid fa-key"
|
10
12
|
column_list = sqlalchemy.inspect(ApiKeyDBM).columns
|
11
13
|
form_columns = [
|
12
14
|
ApiKeyDBM.slug,
|
@@ -24,3 +26,9 @@ class ApiKeyMV(SimpleMV, model=ApiKeyDBM):
|
|
24
26
|
ApiKeyDBM.slug,
|
25
27
|
ApiKeyDBM.value,
|
26
28
|
]
|
29
|
+
column_formatters = {
|
30
|
+
ApiKeyDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
31
|
+
}
|
32
|
+
column_formatters_detail = {
|
33
|
+
ApiKeyDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
34
|
+
}
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_
|
4
5
|
from project.sqlalchemy_db_.sqlalchemy_model import OperationDBM
|
5
6
|
|
6
7
|
|
7
8
|
class OperationMV(SimpleMV, model=OperationDBM):
|
8
9
|
name = "Operation"
|
9
10
|
name_plural = "Operations"
|
11
|
+
icon = "fa-solid fa-gears"
|
10
12
|
column_list = sqlalchemy.inspect(OperationDBM).columns
|
11
13
|
form_columns = [
|
12
14
|
OperationDBM.slug,
|
@@ -29,3 +31,9 @@ class OperationMV(SimpleMV, model=OperationDBM):
|
|
29
31
|
OperationDBM.long_id,
|
30
32
|
OperationDBM.slug,
|
31
33
|
]
|
34
|
+
column_formatters = {
|
35
|
+
OperationDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
36
|
+
}
|
37
|
+
column_formatters_detail = {
|
38
|
+
OperationDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
39
|
+
}
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_
|
4
5
|
from project.sqlalchemy_db_.sqlalchemy_model import StoryLogDBM
|
5
6
|
|
6
7
|
|
7
8
|
class StoryLogMV(SimpleMV, model=StoryLogDBM):
|
8
9
|
name = "StoryLog"
|
9
10
|
name_plural = "StoryLogs"
|
11
|
+
icon = "fa-solid fa-history"
|
10
12
|
column_list = sqlalchemy.inspect(StoryLogDBM).columns
|
11
13
|
form_columns = [
|
12
14
|
StoryLogDBM.slug,
|
@@ -24,3 +26,9 @@ class StoryLogMV(SimpleMV, model=StoryLogDBM):
|
|
24
26
|
StoryLogDBM.long_id,
|
25
27
|
StoryLogDBM.slug,
|
26
28
|
]
|
29
|
+
column_formatters = {
|
30
|
+
StoryLogDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
31
|
+
}
|
32
|
+
column_formatters_detail = {
|
33
|
+
StoryLogDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
34
|
+
}
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_
|
4
5
|
from project.sqlalchemy_db_.sqlalchemy_model import UserDBM
|
5
6
|
|
6
7
|
|
7
8
|
class UserMV(SimpleMV, model=UserDBM):
|
8
9
|
name = "User"
|
9
10
|
name_plural = "Users"
|
11
|
+
icon = "fa-solid fa-user"
|
10
12
|
column_list = [
|
11
13
|
UserDBM.id,
|
12
14
|
UserDBM.long_id,
|
@@ -41,9 +43,14 @@ class UserMV(SimpleMV, model=UserDBM):
|
|
41
43
|
column_searchable_list = [
|
42
44
|
UserDBM.id,
|
43
45
|
UserDBM.long_id,
|
44
|
-
UserDBM.slug,
|
45
46
|
UserDBM.email,
|
46
47
|
UserDBM.username,
|
47
48
|
UserDBM.password,
|
48
49
|
UserDBM.tg_id
|
49
50
|
]
|
51
|
+
column_formatters = {
|
52
|
+
UserDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
53
|
+
}
|
54
|
+
column_formatters_detail = {
|
55
|
+
UserDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
56
|
+
}
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import sqlalchemy
|
2
2
|
|
3
3
|
from project.sqladmin_.model_view.common import SimpleMV
|
4
|
+
from project.sqladmin_.util.etc import format_datetime_
|
4
5
|
from project.sqlalchemy_db_.sqlalchemy_model import UserTokenDBM
|
5
6
|
|
6
7
|
|
7
8
|
class UserTokenMV(SimpleMV, model=UserTokenDBM):
|
8
9
|
name = "UserToken"
|
9
10
|
name_plural = "UserTokens"
|
11
|
+
icon = "fa-solid fa-fingerprint"
|
10
12
|
column_list = [
|
11
13
|
UserTokenDBM.id,
|
12
14
|
UserTokenDBM.long_id,
|
@@ -35,3 +37,9 @@ class UserTokenMV(SimpleMV, model=UserTokenDBM):
|
|
35
37
|
UserTokenDBM.slug,
|
36
38
|
UserTokenDBM.value,
|
37
39
|
]
|
40
|
+
column_formatters = {
|
41
|
+
UserTokenDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
42
|
+
}
|
43
|
+
column_formatters_detail = {
|
44
|
+
UserTokenDBM.creation_dt: lambda m, _: format_datetime_(m.creation_dt)
|
45
|
+
}
|
File without changes
|
@@ -0,0 +1,40 @@
|
|
1
|
+
import datetime as dt
|
2
|
+
from typing import Any
|
3
|
+
|
4
|
+
from markupsafe import Markup
|
5
|
+
from pygments import highlight
|
6
|
+
from pygments.formatters.html import HtmlFormatter
|
7
|
+
from pygments.lexers.data import JsonLexer
|
8
|
+
|
9
|
+
from arpakitlib.ar_json_util import transfer_data_to_json_str
|
10
|
+
|
11
|
+
|
12
|
+
def format_datetime_(datetime_: dt.datetime | None) -> str:
|
13
|
+
if datetime_ is None:
|
14
|
+
return ""
|
15
|
+
return datetime_.strftime("%Y-%m-%d %H:%M:%S %z")
|
16
|
+
|
17
|
+
|
18
|
+
def format_json_for_preview_(data: dict[str, Any] | list[Any] | None) -> str:
|
19
|
+
if data is None:
|
20
|
+
return ""
|
21
|
+
return f"JSON {type(data)} ({len(data)} элементов)"
|
22
|
+
|
23
|
+
|
24
|
+
def format_json_(data: dict[str, Any] | list[Any] | None) -> str:
|
25
|
+
if data is None:
|
26
|
+
return Markup("")
|
27
|
+
highlighted_json = highlight(
|
28
|
+
transfer_data_to_json_str(data, beautify=True),
|
29
|
+
JsonLexer(),
|
30
|
+
HtmlFormatter()
|
31
|
+
)
|
32
|
+
return Markup(highlighted_json)
|
33
|
+
|
34
|
+
|
35
|
+
def format_link_(
|
36
|
+
link: str | None = None,
|
37
|
+
) -> str:
|
38
|
+
if link is None:
|
39
|
+
return ""
|
40
|
+
return Markup(f'<a href="{link}" target="_blank">{link}</a>')
|
@@ -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")
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py
CHANGED
@@ -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
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py
CHANGED
@@ -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
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py
CHANGED
@@ -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
|
|
@@ -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
|
@@ -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,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
|
@@ -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=
|
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=
|
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=
|
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=
|
93
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/exception_handler.py,sha256=
|
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=
|
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=
|
100
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/create_operation.py,sha256=
|
101
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_arpakitlib_project_template_info.py,sha256=
|
102
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_auth_data.py,sha256=
|
103
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_log_file.py,sha256=
|
104
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_operation.py,sha256=
|
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=
|
108
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_sqlalchemy_db_table_name_to_amount.py,sha256=
|
109
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_story_log.py,sha256=
|
110
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/admin/get_user.py,sha256=
|
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=
|
118
|
-
arpakitlib/_arpakit_project_template_v_5/project/api/router/client/get_current_user_token.py,sha256=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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=
|
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
|
@@ -229,22 +229,24 @@ arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/asgi.py,sha256=DRlRPk
|
|
229
229
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/create_sqladmin_app.py,sha256=x5F8--5KA4cmTrb6kAAmp6fVd2TiqxPOzxqUkSEhSG4,1298
|
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
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=
|
232
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/api_key.py,sha256=vSXw1wTpSwzz6l6qrgrzkCiklZmilZE6L2eBMxPDbk4,997
|
233
233
|
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/common.py,sha256=US1tueTCPvAdse6TLT6yRLUHbvwGGagApYhFJzE_6Yc,576
|
234
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=
|
235
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=
|
236
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=
|
237
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=
|
234
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/operation.py,sha256=DMgo4237FzmCc5hIC7ck9Ys1WhlonqBl09_NmszgD0U,1236
|
235
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/story_log.py,sha256=suHGfQpcgfDIEKaczuwbbxLsOzbZlBtmEuKYPXeATtQ,1036
|
236
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user.py,sha256=7qJMaMMy9sAAbl7s7CfP6Hybdyzk6a1xTdZMTGHE_PI,1487
|
237
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/model_view/user_token.py,sha256=vUr1rz7H_e6qlmz5Y3isAgtK1_2F1JHojklfnkaBJIY,1327
|
238
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
239
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqladmin_/util/etc.py,sha256=efZJfSksTfkpBjThhNX_82WcOzh9h8l1_Te0tYoqhTs,1068
|
238
240
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
239
241
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/const.py,sha256=dcvj5C9E2F2KCsGZPBBncQf_EvVJAC1qQgnyD8P4ZEw,6
|
240
242
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_db.py,sha256=1y3FaMFzm_5UM2poqtBve_UP_mh1vjs--krq6yO8PsA,742
|
241
243
|
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=
|
243
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py,sha256=
|
244
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py,sha256=
|
245
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py,sha256=
|
246
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py,sha256=
|
247
|
-
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py,sha256=
|
244
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/api_key.py,sha256=4Y4zgKzty_7xqqJWg4DDiS0nbDXzQVtq2r6d0lunnTw,2025
|
245
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/common.py,sha256=_ddBled1XX6YR3LxoWmRlZjwMRHlBmQRBVg0vGcPe_8,3228
|
246
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/operation.py,sha256=VkaUFYgnpGfQbJP_APuCRwzzQRr7yGgnEbbNlsizwgU,5912
|
247
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/story_log.py,sha256=hqkXH7oV-BT8pRDzrDYWYseVFg2J6ca-WYyiucPOiH4,2395
|
248
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user.py,sha256=xBU_DPq7S_2gv15LOhiTttL5dZzPTbcjpSNU8yY9ZPo,6998
|
249
|
+
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/sqlalchemy_model/user_token.py,sha256=y97em7M2WfDV8Wm7GMrIejalk9NkCsZDGK-sETkXscM,1943
|
248
250
|
arpakitlib/_arpakit_project_template_v_5/project/sqlalchemy_db_/util.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
249
251
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
250
252
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_api_keys.py,sha256=9F2bMfymaqx_Czh_tF945BKpKqNrVNjSIfCQl13Dkxw,911
|
@@ -255,18 +257,18 @@ arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_4.py,s
|
|
255
257
|
arpakitlib/_arpakit_project_template_v_5/project/test_data/make_test_data_5.py,sha256=cew0ndlJspNkeQVOS0UPoceg1ARIm5ZFCzytiDIyvbg,416
|
256
258
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
257
259
|
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=
|
259
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py,sha256=
|
260
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/admin.py,sha256=Z802nclQbn2lkzrUmKD0La4xXxfhuuwrsp3IMGRDyyE,875
|
261
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/client.py,sha256=YJYB3chOBfkoaohUNKckgXVvZN0306reTWFjHE_B0q8,2732
|
260
262
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/blank/common.py,sha256=HjJnKLQAdHtLLM73wURiFR2zzJEvkypVg0pMsKu5mKs,93
|
261
263
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
262
264
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/admin.py,sha256=6_GPIa9azJGgsDB2SHs6IpSi5jc18PwqXMFgyMatooU,114
|
263
265
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/client.py,sha256=VsYtsjTHzsYrTV4ejEib9aoaRN1NieYgYVt_lt2tu48,98
|
264
266
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/callback/common.py,sha256=FhSQLjdR-XArdorqG9RxsCjgQv_RyWbFZFHM52Sar-4,1023
|
265
267
|
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=
|
268
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/event.py,sha256=GdVK-5X56chIGf-yEb0c5DKXvqqS96oSGYMjKlGIU8s,4081
|
267
269
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
268
270
|
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=
|
271
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/message_text.py,sha256=7aXOwQBhteajaZN5unXEUf8dW3jMuAJ8VgoB4gJIAAA,1325
|
270
272
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/not_prod_mode_filter.py,sha256=WY2Bl6_vznUi2bT0WMbVUkQq_JQ783hMFFwLs4u9Whk,236
|
271
273
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/prod_mode_filter.py,sha256=WfbAnzW8X4wJVtv_lHbr6u2SXXGwLhplTKPaHpuWQZ4,229
|
272
274
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/filter_/user_roles_has_admin.py,sha256=cFDYs03CgRkuAi6XDXdMxXKatWG_YeH5TpHP-lIIMTw,593
|
@@ -288,8 +290,8 @@ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/__init
|
|
288
290
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/client/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
289
291
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/kb/static_/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
290
292
|
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=
|
292
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py,sha256=
|
293
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/common.py,sha256=P716ccy_7YLoPlgh-ecO_n0W7aHaoBjBITo5BS2q4Ls,405
|
294
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/init_user.py,sha256=E4u-9GRlPBmvWqqPIRzqiRErHamdLOEeyRsg0l7FLfM,3938
|
293
295
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/middleware/uil.py,sha256=66v3pHu8nhJ8pJayXaHNKjmPVK4fKUCNWilOM0yzNKg,319
|
294
296
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
295
297
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -303,36 +305,36 @@ arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_not
|
|
303
305
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_old_cd.py,sha256=y-06B6jnHXEM90Ygj4Ie0hT7PHxr9tX-QpUr6exIWCc,1279
|
304
306
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/kb_with_raise_error.py,sha256=yajAkA1DQqhCt6SC9bbgpLrY-3Wt8BF5iNpE7ur77_s,1599
|
305
307
|
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=
|
308
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/log_file.py,sha256=MQc_gwDEmRyHpoOb0VHfncrTplSueOy1--DdVzjm3O4,1343
|
307
309
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/me.py,sha256=-oeAQEfvoHfN9BaMm66noEUggRBf6NjvJu4LhuOfkts,974
|
308
310
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/raise_fake_error.py,sha256=OKnSZ0IXt6Ma5F1212dnw1You3WT706N7VcU6djRQTE,815
|
309
311
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/reinit_sqlalchemy_db.py,sha256=SmtuNFzxiUKmZ5WjVihwsjIQtw9cDMzTPlHSTpG4Ckc,1295
|
310
312
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/admin/set_tg_bot_commands.py,sha256=IXVWqwlbmiphA0qtEdZiwS6UJJyXfHl6uXhqsX74wmc,1083
|
311
313
|
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=
|
313
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py,sha256=
|
314
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py,sha256=
|
315
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py,sha256=
|
314
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/about.py,sha256=XoFPp-5l6qMmJPt7dV_M5JT_Drs7y_E4wfssaJgyBMA,934
|
315
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/author.py,sha256=gOaequhV1WX77oNr12AqNss4ctkqBG9dnX0Ee-WKupE,956
|
316
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/cancel.py,sha256=7Q9gPMNQ-vwXI1hs34wqlDcZJ0DlGpbZ26AVmnALQ5Q,936
|
317
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/error_handler.py,sha256=eH-zlZHPHXlM63CWc3V2nj23gxwqRjFllbQ5cSlF_3E,3333
|
316
318
|
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=
|
319
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_callback_query.py,sha256=WGOQ0gi-f51YNiM5EyrFUmkX3o1HMUeCd1lOVnLo11E,869
|
318
320
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/raw_inline_query.py,sha256=H6lMpcbC_qXMibNPGUnRHG3TSA4BG9gIL3RBLJhSckg,359
|
319
321
|
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=
|
321
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py,sha256=
|
322
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py,sha256=
|
322
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/remove_message.py,sha256=1SAO5uXsKk9p3TDSZnStHoLBAC9dj-AWs4zzPLP3XMY,784
|
323
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/start.py,sha256=GuhaV7ppdAfXZmn0KiGix8X_44F9cukAQwQ707FsASA,1015
|
324
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/router/client/support.py,sha256=JJbklXoIeJNLss2eyX9AZPfsed2ie5UtXHQrE_pYAmk,1095
|
323
325
|
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=
|
326
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/start_tg_bot.py,sha256=IniVc5Sj72nb0AumjOxLtmuyNRb8AxrgAygdkbkVwug,1252
|
325
327
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
326
328
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/admin.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
327
329
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/client.py,sha256=B1mslhGJEibHDS-YHtWncAnd3UVeyzJmVsdQK4UAzB4,119
|
328
330
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/state/common.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
329
331
|
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=
|
332
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot.py,sha256=IYoYlpq3_1xicDKBixuXTHJeYmqzj7Lwk9MnFCqZLaU,848
|
331
333
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/tg_bot_dispatcher.py,sha256=1uxUooMhkDzUVHrHZgWU-SqwElh9KETgD5JtkkV4wAs,653
|
332
334
|
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
333
335
|
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=
|
335
|
-
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py,sha256=
|
336
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/notify_admins.py,sha256=P-pqF5TPK3T_EgtGYk717W7tFVOc4xNuccFehYv-054,2095
|
337
|
+
arpakitlib/_arpakit_project_template_v_5/project/tg_bot/util/set_tg_bot_commands.py,sha256=gCcc-nWyu_MGKkhFSs9qk44el99hCzJiJBLksyN3nV8,3488
|
336
338
|
arpakitlib/_arpakit_project_template_v_5/project/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
337
339
|
arpakitlib/_arpakit_project_template_v_5/project/util/arpakitlib_project_template.py,sha256=syA_IuszHVub0zm0sVdB4_7rPJXwXRW4JmQ4qHbjXPk,396
|
338
340
|
arpakitlib/_arpakit_project_template_v_5/project/util/etc.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -384,8 +386,8 @@ arpakitlib/ar_ssh_runner_util.py,sha256=yvAwza480MkHKvLkDEsR7JNh2bYNs6P9rCVo4NA8
|
|
384
386
|
arpakitlib/ar_str_util.py,sha256=CAv0wH8nP5Ja59S-hEdmNhNrM_Fwy935d0zntLpJkx8,4309
|
385
387
|
arpakitlib/ar_type_util.py,sha256=Cs_tef-Fc5xeyAF54KgISCsP11NHyzIsglm4S3Xx7iM,4049
|
386
388
|
arpakitlib/ar_yookassa_api_client_util.py,sha256=VozuZeCJjmLd1zj2BdC9WfiAQ3XYOrIMsdpNK-AUlm0,5347
|
387
|
-
arpakitlib-1.8.
|
388
|
-
arpakitlib-1.8.
|
389
|
-
arpakitlib-1.8.
|
390
|
-
arpakitlib-1.8.
|
391
|
-
arpakitlib-1.8.
|
389
|
+
arpakitlib-1.8.98.dist-info/LICENSE,sha256=GPEDQMam2r7FSTYqM1mm7aKnxLaWcBotH7UvQtea-ec,11355
|
390
|
+
arpakitlib-1.8.98.dist-info/METADATA,sha256=ZEJaG7p3552xq2g-PBZlCXIrUULQw8QylUBctXcYuLM,3470
|
391
|
+
arpakitlib-1.8.98.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
392
|
+
arpakitlib-1.8.98.dist-info/entry_points.txt,sha256=36xqR3PJFT2kuwjkM_EqoIy0qFUDPKSm_mJaI7emewE,87
|
393
|
+
arpakitlib-1.8.98.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|