mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
чиним билд112
This commit is contained in:
@@ -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"""
|
||||
|
@@ -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"])
|
@@ -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)
|
@@ -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"
|
||||
)
|
@@ -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"
|
||||
)
|
||||
|
Reference in New Issue
Block a user