ciyidogan commited on
Commit
1e8bcd7
Β·
verified Β·
1 Parent(s): ef4236b

Update project_controller.py

Browse files
Files changed (1) hide show
  1. project_controller.py +28 -0
project_controller.py CHANGED
@@ -5,6 +5,29 @@ import copy
5
 
6
  router = APIRouter()
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  @router.post("/project/new")
9
  def create_project(name: str, config: ServiceConfig = Depends(get_config)):
10
  if any(p['name'] == name for p in config.data['projects']):
@@ -28,6 +51,11 @@ def delete_project(name: str, config: ServiceConfig = Depends(get_config)):
28
  log(f"πŸ—‘οΈ Project '{name}' deleted")
29
  return { "status": "success" }
30
 
 
 
 
 
 
31
  @router.post("/project/new-version")
32
  def create_new_version(project_name: str, base_version_no: int, config: ServiceConfig = Depends(get_config)):
33
  project = next((p for p in config.data['projects'] if p['name'] == project_name), None)
 
5
 
6
  router = APIRouter()
7
 
8
+ @router.get("/project/details")
9
+ def get_project_details(config: ServiceConfig = Depends(get_config)):
10
+ project = config.get_current_project()
11
+ return project
12
+
13
+ @router.post("/project/update")
14
+ def update_project(config: ServiceConfig = Depends(get_config)):
15
+ # Implement project update logic here if needed
16
+ save_service_config(config)
17
+ log("βœ… Project updated")
18
+ return { "status": "updated" }
19
+
20
+ @router.post("/project/publish")
21
+ def publish_project(config: ServiceConfig = Depends(get_config)):
22
+ project = config.get_current_project()
23
+ current_version = next((v for v in project['versions'] if not v.get('published', False)), None)
24
+ if not current_version:
25
+ raise HTTPException(status_code=400, detail="No unpublished version found")
26
+ current_version['published'] = True
27
+ save_service_config(config)
28
+ log(f"βœ… Version {current_version['no']} published for project {project['name']}")
29
+ return { "status": "published" }
30
+
31
  @router.post("/project/new")
32
  def create_project(name: str, config: ServiceConfig = Depends(get_config)):
33
  if any(p['name'] == name for p in config.data['projects']):
 
51
  log(f"πŸ—‘οΈ Project '{name}' deleted")
52
  return { "status": "success" }
53
 
54
+ @router.get("/project/versions")
55
+ def get_project_versions(config: ServiceConfig = Depends(get_config)):
56
+ project = config.get_current_project()
57
+ return project['versions']
58
+
59
  @router.post("/project/new-version")
60
  def create_new_version(project_name: str, base_version_no: int, config: ServiceConfig = Depends(get_config)):
61
  project = next((p for p in config.data['projects'] if p['name'] == project_name), None)