learnhouse/apps/api/src/routers/dev.py
2024-11-26 19:05:44 +01:00

71 lines
No EOL
1.8 KiB
Python

from fastapi import APIRouter, Depends
from sqlmodel import Session, select
from config.config import get_learnhouse_config
from migrations.orgconfigs.orgconfigs_migrations import migrate_to_v1_1, migrate_to_v1_2, migrate_v0_to_v1
from src.core.events.database import get_db_session
from src.db.organization_config import OrganizationConfig
router = APIRouter()
@router.get("/config")
async def config():
config = get_learnhouse_config()
return config.dict()
@router.post("/migrate_orgconfig_v0_to_v1")
async def migrate(
db_session: Session = Depends(get_db_session),
):
"""
Migrate organization config from v0 to v1
"""
statement = select(OrganizationConfig)
result = db_session.exec(statement)
for orgConfig in result:
orgConfig.config = migrate_v0_to_v1(orgConfig.config)
db_session.add(orgConfig)
db_session.commit()
return {"message": "Migration successful"}
@router.post("/migrate_orgconfig_v1_to_v1.1")
async def migratev1_1(
db_session: Session = Depends(get_db_session),
):
"""
Migrate organization config from v0 to v1
"""
statement = select(OrganizationConfig)
result = db_session.exec(statement)
for orgConfig in result:
orgConfig.config = migrate_to_v1_1(orgConfig.config)
db_session.add(orgConfig)
db_session.commit()
return {"message": "Migration successful"}
@router.post("/migrate_orgconfig_v1_to_v1.2")
async def migratev1_2(
db_session: Session = Depends(get_db_session),
):
"""
Migrate organization config from v0 to v1
"""
statement = select(OrganizationConfig)
result = db_session.exec(statement)
for orgConfig in result:
orgConfig.config = migrate_to_v1_2(orgConfig.config)
db_session.add(orgConfig)
db_session.commit()
return {"message": "Migration successful"}