ciyidogan commited on
Commit
5b88843
·
verified ·
1 Parent(s): 75195a9

Update project_controller.py

Browse files
Files changed (1) hide show
  1. project_controller.py +14 -2
project_controller.py CHANGED
@@ -2,6 +2,7 @@ from fastapi import APIRouter, Request, HTTPException
2
  from service_config import ServiceConfig
3
  import datetime
4
  import json
 
5
 
6
  router = APIRouter()
7
  service_config = ServiceConfig()
@@ -29,6 +30,7 @@ def get_latest_project_version(project_name: str):
29
  "version_number": latest["version_number"],
30
  "published": latest.get("published", False),
31
  "intents": latest.get("intents", []),
 
32
  "last_updated": project["last_updated"]
33
  }
34
 
@@ -50,7 +52,6 @@ async def update_project(request: Request):
50
  if latest.get("published"):
51
  raise HTTPException(status_code=400, detail="Cannot edit a published version.")
52
 
53
- # Update latest version data (simplified for example)
54
  latest.update(new_data)
55
  project["last_updated"] = get_utc_now()
56
 
@@ -84,9 +85,20 @@ async def publish_project(request: Request):
84
 
85
  latest["published"] = True
86
  latest["last_updated"] = get_utc_now()
 
 
 
 
 
 
 
 
 
 
 
87
  project["last_updated"] = get_utc_now()
88
 
89
  with open(service_config.config_path, "w", encoding="utf-8") as f:
90
  json.dump(service_config, f, indent=2)
91
 
92
- return {"message": f"Project {project_name} version published"}
 
2
  from service_config import ServiceConfig
3
  import datetime
4
  import json
5
+ import copy
6
 
7
  router = APIRouter()
8
  service_config = ServiceConfig()
 
30
  "version_number": latest["version_number"],
31
  "published": latest.get("published", False),
32
  "intents": latest.get("intents", []),
33
+ "llm": latest.get("llm", {}),
34
  "last_updated": project["last_updated"]
35
  }
36
 
 
52
  if latest.get("published"):
53
  raise HTTPException(status_code=400, detail="Cannot edit a published version.")
54
 
 
55
  latest.update(new_data)
56
  project["last_updated"] = get_utc_now()
57
 
 
85
 
86
  latest["published"] = True
87
  latest["last_updated"] = get_utc_now()
88
+
89
+ # Yeni versiyon yarat
90
+ new_version_number = latest["version_number"] + 1
91
+ new_version = copy.deepcopy(latest)
92
+ new_version["version_number"] = new_version_number
93
+ new_version["published"] = False
94
+ new_version["last_updated"] = get_utc_now()
95
+ new_version["intents"] = [] # Temiz başlangıç
96
+ new_version["llm"] = copy.deepcopy(llm)
97
+
98
+ project["versions"].append(new_version)
99
  project["last_updated"] = get_utc_now()
100
 
101
  with open(service_config.config_path, "w", encoding="utf-8") as f:
102
  json.dump(service_config, f, indent=2)
103
 
104
+ return {"message": f"Project {project_name} version published and new draft version {new_version_number} created"}