1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00

чиним билд112

This commit is contained in:
MoonTestUse1
2025-01-02 01:08:10 +06:00
parent 39171b495a
commit e920cd225c
5 changed files with 31 additions and 25 deletions

View File

@@ -1,22 +1,17 @@
"""Database configuration"""
from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from .models.base import Base
import os
SQLALCHEMY_DATABASE_URL = os.getenv(
"DATABASE_URL", "postgresql://postgres:postgres123@localhost:5432/support_db"
"DATABASE_URL", "postgresql://postgres:postgres123@postgres:5432/support_db"
)
engine = create_engine(SQLALCHEMY_DATABASE_URL)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
# Импортируем модели для создания таблиц
from .models.employee import Employee
from .models.request import Request
# Создаем таблицы
Base.metadata.create_all(bind=engine)
Base = declarative_base()
def get_db():
"""Get database session"""

View File

@@ -1,11 +1,12 @@
"""Main application module"""
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from .routers import auth, employees, requests, admin
from . import models
from .routers import admin, employees, requests
app = FastAPI()
# Configure CORS
# CORS configuration
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
@@ -15,7 +16,6 @@ app.add_middleware(
)
# Include routers
app.include_router(auth.router, prefix="/api/auth", tags=["auth"])
app.include_router(employees.router, prefix="/api", tags=["employees"])
app.include_router(requests.router, prefix="/api", tags=["requests"])
app.include_router(admin.router, prefix="/api/admin", tags=["admin"])
app.include_router(admin.router, prefix="/api/admin", tags=["admin"])
app.include_router(employees.router, prefix="/api/employees", tags=["employees"])
app.include_router(requests.router, prefix="/api/requests", tags=["requests"])

View File

@@ -1,9 +1,7 @@
"""Models package"""
"""Models initialization"""
from ..database import Base, engine
from .employee import Employee
from .request import Request, RequestStatus, RequestPriority
from .request import Request
# Регистрируем модели в правильном порядке
Employee.requests # Инициализируем отношение
Request.employee # Инициализируем отношение
__all__ = ['Employee', 'Request', 'RequestStatus', 'RequestPriority']
# Create all tables
Base.metadata.create_all(bind=engine)

View File

@@ -1,5 +1,8 @@
"""Employee model"""
from .base import Base, Column, Integer, String, DateTime, func, relationship
from sqlalchemy import Column, Integer, String, DateTime
from sqlalchemy.sql import func
from sqlalchemy.orm import relationship
from ..database import Base
class Employee(Base):
__tablename__ = "employees"
@@ -14,4 +17,8 @@ class Employee(Base):
created_at = Column(DateTime(timezone=True), server_default=func.now())
# Определяем отношение к Request
requests = relationship("Request", back_populates="employee")
requests = relationship(
"app.models.request.Request",
back_populates="employee",
lazy="dynamic"
)

View File

@@ -1,5 +1,8 @@
"""Request model"""
from .base import Base, Column, Integer, String, DateTime, ForeignKey, Enum, func, relationship
from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Enum
from sqlalchemy.sql import func
from sqlalchemy.orm import relationship
from ..database import Base
import enum
class RequestStatus(str, enum.Enum):
@@ -27,4 +30,7 @@ class Request(Base):
status = Column(Enum(RequestStatus), nullable=False, default=RequestStatus.NEW)
created_at = Column(DateTime(timezone=True), server_default=func.now())
employee = relationship("Employee", back_populates="requests")
employee = relationship(
"app.models.employee.Employee",
back_populates="requests"
)