Skip to content

Commit e7ee8ad

Browse files
committed
add redis
1 parent 26ca7dd commit e7ee8ad

7 files changed

Lines changed: 43 additions & 1 deletion

File tree

.env.sample

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ RMQ_HOST=rabbitmq
1515
RMQ_PORT=5672
1616
RABBITMQ_DEFAULT_USER=guest
1717
RABBITMQ_DEFAULT_PASS=guest
18+
# ==================REDIS==================
19+
REDIS_HOST=redis
20+
REDIS_PORT=6379
1821
# ==================ORIGINS==================
1922
CURRENT_ORIGIN=http://localhost:8080
2023
# ==================GRAFANA==================

api_v1/auth/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
from .permissions import active_user, superuser
2+
from .backends import authenticator, auth_backend
23

34

45
__all__ = ('active_user',
56
'superuser',
7+
'authenticator',
8+
'auth_backend',
69
)

api_v1/auth/schemas.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
class UserRead(schemas.BaseUser[int]):
55
"""
66
Схема пользователя
7+
При добавлении полей в модель, так же
8+
необходимо добавить поля - тут!
79
"""
810

911
pass
@@ -12,6 +14,8 @@ class UserRead(schemas.BaseUser[int]):
1214
class UserCreate(schemas.BaseUserCreate):
1315
"""
1416
Схема создания пользователя
17+
При добавлении полей в модель, так же
18+
необходимо добавить поля - тут!
1519
"""
1620

1721
pass
@@ -20,6 +24,8 @@ class UserCreate(schemas.BaseUserCreate):
2024
class UserUpdate(schemas.BaseUserUpdate):
2125
"""
2226
Схема обновления пользователя
27+
При добавлении полей в модель, так же
28+
необходимо добавить поля - тут!
2329
"""
2430

2531
pass

api_v1/users/exceptions.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
from fastapi_users.exceptions import FastAPIUsersException
2+
from starlette.exceptions import HTTPException
23

34

4-
class PasswordNotValidError(FastAPIUsersException):
5+
class PasswordNotValidError(HTTPException):
56
"""
67
Исключение не валидного пароля
78
"""

api_v1/users/user_manager.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ class UserManager(ActionUserManagerMixin,
1515
BaseUserManager[User, int]):
1616
"""
1717
UserManager для работы с пользователем
18+
19+
Вмещает в себя все неоходимые методы для CRUD пользователя
20+
21+
Требует при инициализации :class:`BaseUserDatabase` экземпляр
22+
с активной текущей сессией
1823
"""
1924

2025
verification_token_secret = settings.JWT.SECRET
@@ -27,6 +32,10 @@ class UserManager(ActionUserManagerMixin,
2732
async def get_user_manager(session: AsyncSession = Depends(
2833
db_connection.session_geter,
2934
)) -> UserManager:
35+
"""
36+
Получение Инициализированного с сессией
37+
UserManager
38+
"""
3039
return UserManager(user_db=SQLAlchemyUserDatabase(
3140
session=session,
3241
user_table=User,

config/config.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,18 @@ class RabbitSettings(BaseModel):
8989
RMQ_PORT)
9090

9191

92+
class RedisSettings(BaseModel):
93+
"""
94+
Настройки Redis
95+
"""
96+
REDIS_HOST: str = config('REDIS_HOST')
97+
REDIS_PORT: str = config('REDIS_PORT')
98+
redis_url: str = ('redis://' +
99+
REDIS_HOST +
100+
'/' +
101+
REDIS_PORT)
102+
103+
92104
class Settings(BaseSettings):
93105
"""
94106
Настройки проекта
@@ -100,6 +112,7 @@ class Settings(BaseSettings):
100112
test_db: TestDBSettings = TestDBSettings()
101113
celery: CelerySettings = CelerySettings()
102114
rabbit: RabbitSettings = RabbitSettings()
115+
redis: RedisSettings = RedisSettings()
103116
alembic: AlembicSettings = AlembicSettings()
104117
JWT: JWTSettings = JWTSettings()
105118
debug: bool = bool(int(config('DEBUG')))

docker-compose.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ services:
1414
depends_on:
1515
- db
1616
- rabbitmq
17+
- redis
1718

1819
rabbitmq:
1920
hostname: rabbitmq
@@ -82,6 +83,12 @@ services:
8283
env_file:
8384
- .env
8485

86+
redis:
87+
restart: always
88+
image: redis:7.2.5-alpine
89+
expose:
90+
- 6379
91+
8592
test_db:
8693
restart: always
8794
image: postgres:16.3-alpine

0 commit comments

Comments
 (0)