VORKOUT-13 #8

Merged
vlad.dev merged 3 commits from VORKOUT-13 into master 2025-05-23 18:07:39 +05:00
12 changed files with 59 additions and 36 deletions

View File

@ -11,9 +11,7 @@ from fastapi import (
status,
)
from loguru import logger
from pydantic.main import BaseModel
from fastapi_jwt_auth import AuthJWT
from pydantic import BaseModel
@ -26,7 +24,7 @@ from api.services.auth import authenticate_user
from api.db.logic.auth import add_new_refresh_token, upgrade_old_refresh_token
from api.schemas.endpoints.auth import Auth
from api.schemas.endpoints.auth import Auth, AccessToken
api_router = APIRouter(
prefix="/auth",
@ -87,12 +85,7 @@ async def login_for_access_token(
Authorize.set_refresh_cookies(refresh_token)
return {
"access_token": access_token,
# "access_token_expires": access_token_expires_time,
# "refresh_token": refresh_token,
# "refresh_token_expires": refresh_token_expires_time
}
return AccessToken(access_token=access_token)
@api_router.post("/refresh")
@ -121,9 +114,4 @@ async def refresh(
new_access_token = Authorize.create_access_token(subject=current_user, expires_time=access_token_expires)
return {
"access_token": new_access_token,
# "access_token_expires": access_token_expires_time,
# "refresh_token": refresh_token,
# "refresh_token_expires": refresh_token_expires_time
}
return AccessToken(access_token=new_access_token)

View File

@ -2,7 +2,10 @@ import datetime
from enum import Enum
from datetime import datetime
from typing import Optional
from pydantic import BaseModel, EmailStr, Field
from pydantic import EmailStr, Field
from api.schemas.base import Base
# Модель для хранения информации из запроса
@ -21,7 +24,7 @@ class Status(Enum):
DELETED = "DELETED"
class User(BaseModel):
class User(Base):
id: Optional[int] = None
name: str = Field(..., max_length=100)
login: str = Field(..., max_length=100)

View File

@ -1,9 +1,12 @@
import datetime
from enum import Enum
from typing import Optional, Dict
from pydantic import BaseModel, Field
from pydantic import Field
from datetime import datetime
from api.schemas.base import Base
# Модель для хранения информации из запроса
@ -20,7 +23,7 @@ class StatusKey(Enum):
DELETED = "DELETED"
class AccountKeyring(BaseModel):
class AccountKeyring(Base):
owner_id: int
key_type: TypeKey # Используем тот же KeyType
key_id: Optional[str] = Field(None, max_length=40) # Изменено на None как default

10
api/api/schemas/base.py Normal file
View File

@ -0,0 +1,10 @@
from pydantic import BaseModel, ConfigDict
from pydantic.alias_generators import to_camel
class Base(BaseModel):
model_config = ConfigDict(
from_attributes=True,
alias_generator=to_camel,
populate_by_name=True,
)

View File

@ -1,7 +1,10 @@
from enum import Enum
from typing import Optional
from datetime import datetime
from pydantic import BaseModel, EmailStr, Field
from pydantic import EmailStr, Field
from api.schemas.base import Base
# Таблица для получения информации из запроса
@ -20,7 +23,7 @@ class Status(Enum):
DELETED = "DELETED"
class UserUpdate(BaseModel):
class UserUpdate(Base):
id: Optional[int] = None
name: Optional[str] = Field(None, max_length=100)
login: Optional[str] = Field(None, max_length=100)

View File

@ -1,9 +1,12 @@
import datetime
from enum import Enum
from typing import Optional
from pydantic import BaseModel, Field
from pydantic import Field
from datetime import datetime
from api.schemas.base import Base
# Таблица для получения информации из запроса
@ -20,7 +23,7 @@ class StatusKey(Enum):
DELETED = "DELETED"
class AccountKeyringUpdate(BaseModel):
class AccountKeyringUpdate(Base):
owner_id: Optional[int] = None
key_type: Optional[TypeKey] = None
key_id: Optional[str] = Field(None, max_length=40)

View File

@ -1,12 +1,17 @@
from pydantic import BaseModel
from api.schemas.base import Base
# Таблица для получения информации из запроса
class Auth(BaseModel):
class Auth(Base):
login: str
password: str
class Refresh(BaseModel):
class AccessToken(Base):
access_token: str
class Refresh(Base):
refresh_token: str

View File

@ -1,8 +1,10 @@
from pydantic import BaseModel, Field
from pydantic import Field
from typing import Dict, Any
from datetime import datetime
from enum import Enum
from api.schemas.base import Base
class State(Enum):
AUTO = "Auto"
@ -15,7 +17,7 @@ class Status(Enum):
DELETED = "Deleted"
class ListEvent(BaseModel):
class ListEvent(Base):
id: int
name: str = Field(..., max_length=40)
title: str = Field(..., max_length=64)

View File

@ -1,8 +1,10 @@
from pydantic import BaseModel, Field, conint
from pydantic import Field, conint
from typing import Dict, Any
from datetime import datetime
from enum import Enum
from api.schemas.base import Base
class Status(Enum):
ACTIVE = "Active"
@ -11,7 +13,7 @@ class Status(Enum):
DELETED = "Deleted"
class MyModel(BaseModel):
class MyModel(Base):
id: int
link_name: str = Field(..., max_length=20)
node_id: int

View File

@ -1,8 +1,10 @@
from pydantic import BaseModel, Field
from pydantic import Field
from typing import Dict, Any
from datetime import datetime
from enum import Enum
from api.schemas.base import Base
class Status(Enum):
ACTIVE = "Active"
@ -11,7 +13,7 @@ class Status(Enum):
DELETED = "Deleted"
class ProcessSchema(BaseModel):
class ProcessSchema(Base):
id: int
title: str = Field(..., max_length=100)
description: str

View File

@ -1,9 +1,10 @@
from pydantic import BaseModel, Field
from typing import Dict, Any
from datetime import datetime
from api.schemas.base import Base
class ProcessStatusSchema(BaseModel):
class ProcessStatusSchema(Base):
id: int
version: int
snapshot: Dict[str, Any]

View File

@ -1,8 +1,9 @@
from pydantic import BaseModel
from datetime import datetime
from typing import Dict, Any
from enum import Enum
from api.schemas.base import Base
class NodeType(Enum):
pass
@ -14,7 +15,7 @@ class Status(Enum):
DELETED = "Deleted"
class Ps_Node(BaseModel):
class Ps_Node(Base):
id: int
ps_id: int
node_type: NodeType