Исправления в БД

This commit is contained in:
urec56 2024-02-01 18:46:44 +03:00
parent 3124b35f67
commit 46f3aa6caf
25 changed files with 123 additions and 587 deletions

View file

@ -1,52 +0,0 @@
"""Изменение models.py
Revision ID: 050324c9bd94
Revises: 6b866e6065f2
Create Date: 2024-01-31 16:51:52.969424
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision: str = '050324c9bd94'
down_revision: Union[str, None] = '6b866e6065f2'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column('chats', 'chat',
existing_type=postgresql.JSON(astext_type=sa.Text()),
type_=postgresql.JSONB(astext_type=sa.Text()),
existing_nullable=True)
op.alter_column('chats', 'allowed_users',
existing_type=postgresql.JSON(astext_type=sa.Text()),
type_=postgresql.JSONB(astext_type=sa.Text()),
existing_nullable=True)
op.alter_column('chats', 'pinned_messages',
existing_type=postgresql.JSON(astext_type=sa.Text()),
type_=postgresql.JSONB(astext_type=sa.Text()),
existing_nullable=True)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column('chats', 'pinned_messages',
existing_type=postgresql.JSONB(astext_type=sa.Text()),
type_=postgresql.JSON(astext_type=sa.Text()),
existing_nullable=True)
op.alter_column('chats', 'allowed_users',
existing_type=postgresql.JSONB(astext_type=sa.Text()),
type_=postgresql.JSON(astext_type=sa.Text()),
existing_nullable=True)
op.alter_column('chats', 'chat',
existing_type=postgresql.JSONB(astext_type=sa.Text()),
type_=postgresql.JSON(astext_type=sa.Text()),
existing_nullable=True)
# ### end Alembic commands ###

View file

@ -1,44 +0,0 @@
"""Изменение models.py
Revision ID: 0cc334a2f727
Revises: f34f22694e19
Create Date: 2024-01-31 17:55:10.929751
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '0cc334a2f727'
down_revision: Union[str, None] = 'f34f22694e19'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column('messages', 'chat_id',
existing_type=sa.INTEGER(),
nullable=True)
op.alter_column('messages', 'user_id',
existing_type=sa.INTEGER(),
nullable=True)
op.create_foreign_key(None, 'messages', 'chats', ['chat_id'], ['id'])
op.create_foreign_key(None, 'messages', 'users', ['user_id'], ['id'])
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, 'messages', type_='foreignkey')
op.drop_constraint(None, 'messages', type_='foreignkey')
op.alter_column('messages', 'user_id',
existing_type=sa.INTEGER(),
nullable=False)
op.alter_column('messages', 'chat_id',
existing_type=sa.INTEGER(),
nullable=False)
# ### end Alembic commands ###

View file

@ -1,38 +0,0 @@
"""Изменение models.py
Revision ID: 23d9de31839c
Revises: 3eb642de804e
Create Date: 2024-01-31 16:10:56.198957
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '23d9de31839c'
down_revision: Union[str, None] = '3eb642de804e'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('chats', sa.Column('pinned_messages', sa.JSON(), nullable=True))
op.alter_column('users', 'black_phoenix',
existing_type=sa.INTEGER(),
type_=sa.String(),
existing_nullable=False)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column('users', 'black_phoenix',
existing_type=sa.String(),
type_=sa.INTEGER(),
existing_nullable=False)
op.drop_column('chats', 'pinned_messages')
# ### end Alembic commands ###

View file

@ -1,45 +0,0 @@
"""Изменение models.py
Revision ID: 273e18fa9316
Revises: 050324c9bd94
Create Date: 2024-01-31 17:44:10.087705
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision: str = '273e18fa9316'
down_revision: Union[str, None] = '050324c9bd94'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('messages',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('chat_id', sa.Integer(), nullable=False, foreign_key='chats.id'),
sa.Column('user_id', sa.Integer(), nullable=False, foreign_key='users.id'),
sa.Column('text', sa.String(), nullable=False),
sa.Column('image_url', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), server_default=sa.text('now()'), nullable=False),
sa.Column('visibility', sa.Boolean(), server_default='true', nullable=False),
sa.PrimaryKeyConstraint('id')
)
op.drop_column('chats', 'pinned_messages')
op.drop_column('chats', 'allowed_users')
op.drop_column('chats', 'chat')
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('chats', sa.Column('chat', postgresql.JSONB(astext_type=sa.Text()), autoincrement=False, nullable=True))
op.add_column('chats', sa.Column('allowed_users', postgresql.JSONB(astext_type=sa.Text()), autoincrement=False, nullable=True))
op.add_column('chats', sa.Column('pinned_messages', postgresql.JSONB(astext_type=sa.Text()), autoincrement=False, nullable=True))
op.drop_table('messages')
# ### end Alembic commands ###

View file

@ -0,0 +1,69 @@
"""Изменение models.py
Revision ID: 2913a8a70afb
Revises:
Create Date: 2024-02-01 14:31:04.662656
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '2913a8a70afb'
down_revision: Union[str, None] = None
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('users',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('email', sa.String(), nullable=False),
sa.Column('username', sa.String(), nullable=False),
sa.Column('hashed_password', sa.String(), nullable=False),
sa.Column('role', sa.Integer(), nullable=False),
sa.Column('black_phoenix', sa.Integer(), nullable=False),
sa.Column('avatar_image', sa.String(), server_default='app/static/images/ту уже пешка BP.png', nullable=True),
sa.Column('date_of_birth', sa.Date(), nullable=False),
sa.PrimaryKeyConstraint('id')
)
op.create_table('chats',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('chat_for', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['chat_for'], ['users.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table('messages',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('message', sa.String(), nullable=False),
sa.Column('image_url', sa.String(), nullable=True),
sa.Column('chat_id', sa.Integer(), nullable=True),
sa.Column('user_id', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(timezone=True), server_default=sa.text('now()'), nullable=False),
sa.Column('visibility', sa.Boolean(), server_default='true', nullable=False),
sa.ForeignKeyConstraint(['chat_id'], ['chats.id'], ),
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
sa.PrimaryKeyConstraint('id')
)
op.create_table('usersxchats',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('user_id', sa.Integer(), nullable=True),
sa.Column('chat_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['chat_id'], ['chats.id'], ),
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('usersxchats')
op.drop_table('messages')
op.drop_table('chats')
op.drop_table('users')
# ### end Alembic commands ###

View file

@ -1,32 +0,0 @@
"""Изменение models.py
Revision ID: 37cf151ccb02
Revises: 5d84c98e0f22
Create Date: 2024-01-31 20:52:41.569988
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '37cf151ccb02'
down_revision: Union[str, None] = '5d84c98e0f22'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('messages', sa.Column('message', sa.String(), nullable=False))
op.drop_column('messages', 'text')
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('messages', sa.Column('text', sa.VARCHAR(), autoincrement=False, nullable=False))
op.drop_column('messages', 'message')
# ### end Alembic commands ###

View file

@ -1,32 +0,0 @@
"""Убрал обязательность авы
Revision ID: 3eb642de804e
Revises: 43eac1ddf80a
Create Date: 2024-01-29 19:37:41.136288
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '3eb642de804e'
down_revision: Union[str, None] = '43eac1ddf80a'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('users', sa.Column('avatar_image', sa.String(), nullable=True))
op.drop_column('users', 'image')
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('users', sa.Column('image', sa.VARCHAR(), autoincrement=False, nullable=False))
op.drop_column('users', 'avatar_image')
# ### end Alembic commands ###

View file

@ -1,38 +0,0 @@
"""Изменение models.py
Revision ID: 3ed46f38168f
Revises: 0cc334a2f727
Create Date: 2024-01-31 17:59:24.302274
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision: str = '3ed46f38168f'
down_revision: Union[str, None] = '0cc334a2f727'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column('messages', 'created_at',
existing_type=postgresql.TIMESTAMP(),
type_=sa.DateTime(timezone=True),
existing_nullable=False,
existing_server_default=sa.text('now()'))
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.alter_column('messages', 'created_at',
existing_type=sa.DateTime(timezone=True),
type_=postgresql.TIMESTAMP(),
existing_nullable=False,
existing_server_default=sa.text('now()'))
# ### end Alembic commands ###

View file

@ -1,30 +0,0 @@
"""Добавил колонку юзерам
Revision ID: 43eac1ddf80a
Revises: 90665e133296
Create Date: 2024-01-29 19:35:47.727712
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '43eac1ddf80a'
down_revision: Union[str, None] = '90665e133296'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('users', sa.Column('date_of_birth', sa.Date(), nullable=False))
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('users', 'date_of_birth')
# ### end Alembic commands ###

View file

@ -1,32 +0,0 @@
"""Изменение models.py
Revision ID: 5d84c98e0f22
Revises: ad488d81e7b5
Create Date: 2024-01-31 20:35:24.317899
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '5d84c98e0f22'
down_revision: Union[str, None] = 'ad488d81e7b5'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('chats', sa.Column('chat_for', sa.Integer(), nullable=True))
op.create_foreign_key(None, 'chats', 'users', ['chat_for'], ['id'])
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_constraint(None, 'chats', type_='foreignkey')
op.drop_column('chats', 'chat_for')
# ### end Alembic commands ###

View file

@ -1,30 +0,0 @@
"""Изменение models.py
Revision ID: 6b866e6065f2
Revises: 8422962a574b
Create Date: 2024-01-31 16:50:40.170909
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '6b866e6065f2'
down_revision: Union[str, None] = '8422962a574b'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###

View file

@ -1,30 +0,0 @@
"""Изменение models.py
Revision ID: 8422962a574b
Revises: 23d9de31839c
Create Date: 2024-01-31 16:31:00.680946
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '8422962a574b'
down_revision: Union[str, None] = '23d9de31839c'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###

View file

@ -1,30 +0,0 @@
"""Добавил колонку юзерам
Revision ID: 90665e133296
Revises: 9845ad4fed24
Create Date: 2024-01-29 18:50:09.853356
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '90665e133296'
down_revision: Union[str, None] = '9845ad4fed24'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.add_column('users', sa.Column('image', sa.String(), nullable=False))
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('users', 'image')
# ### end Alembic commands ###

View file

@ -1,45 +0,0 @@
"""Database Creation
Revision ID: 9845ad4fed24
Revises: e434e2885475
Create Date: 2024-01-29 18:32:13.361975
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = '9845ad4fed24'
down_revision: Union[str, None] = 'e434e2885475'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('chats',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('chat', sa.JSON(), nullable=True),
sa.Column('allowed_users', sa.JSON(), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_table('users',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('email', sa.String(), nullable=False),
sa.Column('username', sa.String(), nullable=False),
sa.Column('hashed_password', sa.String(), nullable=False),
sa.Column('role', sa.Integer(), nullable=False),
sa.Column('black_phoenix', sa.Integer(), nullable=False),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('users')
op.drop_table('chats')
# ### end Alembic commands ###

View file

@ -1,37 +0,0 @@
"""Изменение models.py
Revision ID: ad488d81e7b5
Revises: 3ed46f38168f
Create Date: 2024-01-31 19:11:16.016911
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'ad488d81e7b5'
down_revision: Union[str, None] = '3ed46f38168f'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('usersxchats',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('user_id', sa.Integer(), nullable=True),
sa.Column('chat_id', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['chat_id'], ['chats.id'], ),
sa.ForeignKeyConstraint(['user_id'], ['users.id'], ),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('usersxchats')
# ### end Alembic commands ###

View file

@ -1,30 +0,0 @@
"""Database Creation
Revision ID: e434e2885475
Revises:
Create Date: 2024-01-29 18:30:03.314179
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'e434e2885475'
down_revision: Union[str, None] = None
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###

View file

@ -1,30 +0,0 @@
"""Изменение models.py
Revision ID: f34f22694e19
Revises: 273e18fa9316
Create Date: 2024-01-31 17:53:48.531617
"""
from typing import Sequence, Union
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision: str = 'f34f22694e19'
down_revision: Union[str, None] = '273e18fa9316'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None
def upgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###
def downgrade() -> None:
# ### commands auto generated by Alembic - please adjust! ###
pass
# ### end Alembic commands ###

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View file

@ -61,3 +61,5 @@ class ChatDAO(BaseDAO):
await session.execute(query)
await session.commit()
return True

View file

@ -1,8 +1,9 @@
from fastapi import APIRouter, WebSocket, Depends
from fastapi import APIRouter, WebSocket, Depends, status
from starlette.websockets import WebSocketDisconnect
from app.exceptions import UDontHavePermissionException, MessageNotFoundException
from app.users.chat.dao import ChatDAO
from app.users.chat.shemas import SMessage
from app.users.chat.websocket import manager
from app.users.dao import UserDAO
from app.users.dependencies import get_current_user
@ -14,7 +15,7 @@ router = APIRouter(
)
@router.post("")
@router.post("", status_code=status.HTTP_201_CREATED)
async def add_message_to_chat(
chat_id: int,
message: str,
@ -27,10 +28,9 @@ async def add_message_to_chat(
message=message,
image_url=image_url
)
return send_message_to_chat
@router.delete("/delete_message")
@router.delete("/delete_message", status_code=status.HTTP_204_NO_CONTENT)
async def delete_message_from_chat(
message_id: int,
user: Users = Depends(get_current_user)
@ -46,9 +46,12 @@ async def delete_message_from_chat(
return deleted_message
@router.get("/get_last_message")
@router.get("/get_last_message", response_model=SMessage)
async def get_last_message(chat_id: int, user: Users = Depends(get_current_user)):
message = await ChatDAO.get_last_message(chat_id=chat_id)
message = dict(await ChatDAO.get_last_message(chat_id=chat_id))
user_avatar = await UserDAO.get_user_avatar(user_id=user.id)
message["user_avatar"] = user_avatar
print(message)
if message is not None:
return message
raise MessageNotFoundException

View file

@ -0,0 +1,16 @@
from datetime import datetime
from typing import Optional
from pydantic import BaseModel
class SMessage(BaseModel):
message: str
image_url: Optional[str] = None
chat_id: int
user_id: int
created_at: datetime
user_avatar: str
class Config:
from_attributes = True

View file

@ -3,6 +3,7 @@ from sqlalchemy.exc import SQLAlchemyError
from app.dao.base import BaseDAO
from app.database import async_session_maker
from app.users.chat.models import UsersXChats
from app.users.models import Users
@ -25,3 +26,18 @@ class UserDAO(BaseDAO):
async with async_session_maker() as session:
result = await session.execute(query)
return result.scalar()
@classmethod
async def get_user_rights(cls, user_id: int):
query = select(UsersXChats.__table__.columns).where(UsersXChats.user_id == user_id)
async with async_session_maker() as session:
result = await session.execute(query)
print(result)
return result.mappings().all()
@classmethod
async def get_user_avatar(cls, user_id: int):
query = select(Users.avatar_image).where(Users.id == user_id)
async with async_session_maker() as session:
result = await session.execute(query)
return result.scalar()

View file

@ -8,10 +8,11 @@ from app.exceptions import (IncorrectTokenFormatException,
TokenAbsentException, TokenExpiredException,
UserIsNotPresentException)
from app.users.dao import UserDAO
from app.users.models import Users
def get_token(request: Request):
token = request.cookies.get("booking_access_token")
token = request.cookies.get("black_phoenix_access_token")
if not token:
raise TokenAbsentException
return token
@ -34,3 +35,7 @@ async def get_current_user(token: str = Depends(get_token)):
if not user:
raise UserIsNotPresentException
return user
async def validate_user_rights(user: Users = Depends(get_current_user)):
user_rights = UserDAO.get_user_rights()

View file

@ -14,8 +14,8 @@ class Users(Base):
username: Mapped[str]
hashed_password: Mapped[str]
role: Mapped[int]
black_phoenix: Mapped[str]
avatar_image: Mapped[Optional[str]]
black_phoenix: Mapped[int]
avatar_image: Mapped[Optional[str]] = mapped_column(server_default='app/static/images/ту уже пешка BP.png')
date_of_birth: Mapped[date]
message = relationship("Messages", back_populates="user")

View file

@ -40,7 +40,7 @@ async def register_user(response: Response, user_data: SUserRegister):
role=0, black_phoenix=0)
user = await authenticate_user_by_email(user_data.email, user_data.password)
access_token = create_access_token({"sub": str(user.id)})
response.set_cookie("booking_access_token", access_token, httponly=True)
response.set_cookie("black_phoenix_access_token", access_token, httponly=True)
return {"access_token": access_token}
@ -52,13 +52,13 @@ async def login_user(response: Response, user_data: SUserLogin):
if not user:
raise IncorrectAuthDataException
access_token = create_access_token({"sub": str(user.id)})
response.set_cookie("booking_access_token", access_token, httponly=True)
response.set_cookie("black_phoenix_access_token", access_token, httponly=True)
return {"access_token": access_token}
@router.post("/logout")
async def logout_user(response: Response):
response.delete_cookie("booking_access_token")
response.delete_cookie("black_phoenix_access_token")
@router.get("/me")