Spaces:
Building
Building
Update admin_routes.py
Browse files- admin_routes.py +45 -40
admin_routes.py
CHANGED
@@ -382,47 +382,52 @@ async def list_projects(
|
|
382 |
return projects
|
383 |
|
384 |
@router.post("/projects")
|
385 |
-
async def create_project(
|
386 |
"""Create new project"""
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
config["projects"]
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
|
|
|
|
|
|
|
|
|
|
426 |
|
427 |
@router.put("/projects/{project_id}")
|
428 |
async def update_project(
|
|
|
382 |
return projects
|
383 |
|
384 |
@router.post("/projects")
|
385 |
+
async def create_project(project_data: dict, current_user: str = Depends(auth.get_current_user)):
|
386 |
"""Create new project"""
|
387 |
+
try:
|
388 |
+
config = load_config()
|
389 |
+
|
390 |
+
# Generate new project ID
|
391 |
+
max_id = max([p.get("id", 0) for p in config.get("projects", [])], default=0)
|
392 |
+
new_id = max_id + 1
|
393 |
+
|
394 |
+
# Create project
|
395 |
+
new_project = {
|
396 |
+
"id": new_id,
|
397 |
+
"name": project_data["name"],
|
398 |
+
"caption": project_data.get("caption", ""),
|
399 |
+
"icon": project_data.get("icon", "folder"),
|
400 |
+
"description": project_data.get("description", ""),
|
401 |
+
"enabled": False,
|
402 |
+
"deleted": False,
|
403 |
+
"default_language": project_data.get("default_language", "tr"),
|
404 |
+
"supported_languages": project_data.get("supported_languages", ["tr"]),
|
405 |
+
"timezone": project_data.get("timezone", "Europe/Istanbul"),
|
406 |
+
"region": project_data.get("region", "tr-TR"),
|
407 |
+
"test_users": project_data.get("test_users", []),
|
408 |
+
"versions": [], # Boş versiyon listesi ile başla
|
409 |
+
"last_update_date": datetime.now().isoformat()
|
410 |
+
}
|
411 |
+
|
412 |
+
# Add to config
|
413 |
+
if "projects" not in config:
|
414 |
+
config["projects"] = []
|
415 |
+
config["projects"].append(new_project)
|
416 |
+
|
417 |
+
# Save config
|
418 |
+
save_config(config)
|
419 |
+
|
420 |
+
# Log activity
|
421 |
+
log_activity("create_project", {
|
422 |
+
"project_id": new_id,
|
423 |
+
"project_name": new_project["name"]
|
424 |
+
}, current_user)
|
425 |
+
|
426 |
+
return new_project
|
427 |
+
|
428 |
+
except Exception as e:
|
429 |
+
logger.error(f"Failed to create project: {str(e)}")
|
430 |
+
raise HTTPException(status_code=500, detail=str(e))
|
431 |
|
432 |
@router.put("/projects/{project_id}")
|
433 |
async def update_project(
|