mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
feat: add install mode verification
This commit is contained in:
parent
6e9998d45c
commit
ce50fa760f
7 changed files with 64 additions and 15 deletions
|
|
@ -2,7 +2,8 @@ from fastapi import APIRouter, Depends
|
|||
from src.routers import blocks, dev, trail, users, auth, orgs, roles
|
||||
from src.routers.courses import chapters, collections, courses, activities
|
||||
from src.routers.install import install
|
||||
from src.services.dev.dev import isDevModeEnabled
|
||||
from src.services.dev.dev import isDevModeEnabled, isDevModeEnabledOrRaise
|
||||
from src.services.install.install import isInstallModeEnabled
|
||||
|
||||
|
||||
v1_router = APIRouter(prefix="/api/v1")
|
||||
|
|
@ -17,13 +18,20 @@ v1_router.include_router(blocks.router, prefix="/blocks", tags=["blocks"])
|
|||
v1_router.include_router(courses.router, prefix="/courses", tags=["courses"])
|
||||
v1_router.include_router(chapters.router, prefix="/chapters", tags=["chapters"])
|
||||
v1_router.include_router(activities.router, prefix="/activities", tags=["activities"])
|
||||
v1_router.include_router( collections.router, prefix="/collections", tags=["collections"])
|
||||
v1_router.include_router(
|
||||
collections.router, prefix="/collections", tags=["collections"]
|
||||
)
|
||||
v1_router.include_router(trail.router, prefix="/trail", tags=["trail"])
|
||||
|
||||
# Dev Routes
|
||||
v1_router.include_router(
|
||||
dev.router, prefix="/dev", tags=["dev"], dependencies=[Depends(isDevModeEnabled)]
|
||||
dev.router, prefix="/dev", tags=["dev"], dependencies=[Depends(isDevModeEnabledOrRaise)]
|
||||
)
|
||||
|
||||
# Install Routes
|
||||
v1_router.include_router(install.router, prefix="/install", tags=["install"])
|
||||
v1_router.include_router(
|
||||
install.router,
|
||||
prefix="/install",
|
||||
tags=["install"],
|
||||
dependencies=[Depends(isInstallModeEnabled)],
|
||||
)
|
||||
|
|
|
|||
|
|
@ -7,8 +7,12 @@ def isDevModeEnabled():
|
|||
if config.general_config.development_mode:
|
||||
return True
|
||||
else:
|
||||
raise HTTPException(
|
||||
status_code=403,
|
||||
detail="Development mode is not enabled",
|
||||
)
|
||||
return False
|
||||
|
||||
def isDevModeEnabledOrRaise():
|
||||
config = get_learnhouse_config()
|
||||
if config.general_config.development_mode:
|
||||
return True
|
||||
else:
|
||||
raise HTTPException(status_code=403, detail="Development mode is not enabled")
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ from uuid import uuid4
|
|||
from fastapi import HTTPException, Request, status
|
||||
from pydantic import BaseModel
|
||||
import requests
|
||||
from config.config import get_learnhouse_config
|
||||
from src.security.security import security_hash_password
|
||||
from src.services.courses.activities.activities import Activity, create_activity
|
||||
from src.services.courses.chapters import create_coursechapter, CourseChapter
|
||||
|
|
@ -31,6 +32,18 @@ class InstallInstance(BaseModel):
|
|||
data: dict
|
||||
|
||||
|
||||
async def isInstallModeEnabled():
|
||||
config = get_learnhouse_config()
|
||||
|
||||
if config.general_config.install_mode:
|
||||
return True
|
||||
else:
|
||||
raise HTTPException(
|
||||
status_code=403,
|
||||
detail="Install mode is not enabled",
|
||||
)
|
||||
|
||||
|
||||
async def create_install_instance(request: Request, data: dict):
|
||||
installs = request.app.db["installs"]
|
||||
|
||||
|
|
@ -432,8 +445,6 @@ async def create_sample_data(org_slug: str, username: str, request: Request):
|
|||
|
||||
courses = request.app.db["courses"]
|
||||
|
||||
|
||||
|
||||
course = CourseInDB(**course.dict())
|
||||
await courses.insert_one(course.dict())
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue