Spaces:
Building
Building
Update project_controller.py
Browse files- 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"}
|