30 lines
1.6 KiB
Python
30 lines
1.6 KiB
Python
from sqlalchemy.orm import Session
|
|
from typing import List
|
|
from app.services.auth.module_environment_service import ModuleEnvironmentService
|
|
from app.schemas.auth.module_environment_schema import EnvironmentCreate, EnvironmentUpdate, EnvironmentResponse
|
|
|
|
class ModuleEnvironmentController:
|
|
@staticmethod
|
|
def list_environments(db: Session, module_id: str) -> List[EnvironmentResponse]:
|
|
environments = ModuleEnvironmentService.list_environments(db, module_id)
|
|
return [EnvironmentResponse.model_validate(env) for env in environments]
|
|
|
|
@staticmethod
|
|
def create_environment(db: Session, module_id: str, env_data: EnvironmentCreate) -> EnvironmentResponse:
|
|
environment = ModuleEnvironmentService.create_environment(db, module_id, env_data)
|
|
return EnvironmentResponse.model_validate(environment)
|
|
|
|
@staticmethod
|
|
def update_environment(db: Session, module_id: str, env_id: str, env_data: EnvironmentUpdate) -> EnvironmentResponse:
|
|
environment = ModuleEnvironmentService.update_environment(db, module_id, env_id, env_data)
|
|
return EnvironmentResponse.model_validate(environment)
|
|
|
|
@staticmethod
|
|
def set_default_environment(db: Session, module_id: str, env_id: str):
|
|
ModuleEnvironmentService.set_default_environment(db, module_id, env_id)
|
|
return {"message": "Environment set as default"}
|
|
|
|
@staticmethod
|
|
def delete_environment(db: Session, module_id: str, env_id: str):
|
|
ModuleEnvironmentService.delete_environment(db, module_id, env_id)
|
|
return {"message": "Environment deleted successfully"} |