11
11
from app .utils .network import is_safe_host
12
12
from app .schemas .repositories import (
13
13
RepositoryCreateRequest ,
14
+ RepositoryUpdateRequest ,
14
15
RepositoryResponse ,
15
16
RepositoriesListResponse
16
17
)
19
20
FRAMEOS_SAMPLES_URL = "https://repo.frameos.net/samples/repository.json"
20
21
FRAMEOS_GALLERY_URL = "https://repo.frameos.net/gallery/repository.json"
21
22
22
- class RepositoryUpdateRequest (RepositoryCreateRequest ):
23
- # Both fields optional for partial update
24
- url : str | None = None
25
- name : str | None = None
26
23
27
24
@private_api .post ("/repositories" , response_model = RepositoryResponse , status_code = 201 )
28
25
async def create_repository (data : RepositoryCreateRequest , db : Session = Depends (get_db )):
@@ -79,7 +76,7 @@ async def get_repositories(db: Session = Depends(get_db)):
79
76
raise HTTPException (status_code = 500 , detail = "Database error" )
80
77
81
78
@private_api .get ("/repositories/{repository_id}" , response_model = RepositoryResponse )
82
- async def get_repository (repository_id : int , db : Session = Depends (get_db )):
79
+ async def get_repository (repository_id : str , db : Session = Depends (get_db )):
83
80
try :
84
81
repository = db .get (Repository , repository_id )
85
82
if not repository :
@@ -91,7 +88,7 @@ async def get_repository(repository_id: int, db: Session = Depends(get_db)):
91
88
raise HTTPException (status_code = 500 , detail = "Database error" )
92
89
93
90
@private_api .patch ("/repositories/{repository_id}" , response_model = RepositoryResponse )
94
- async def update_repository (repository_id : int , data : RepositoryUpdateRequest , db : Session = Depends (get_db )):
91
+ async def update_repository (repository_id : str , data : RepositoryUpdateRequest , db : Session = Depends (get_db )):
95
92
try :
96
93
repository = db .get (Repository , repository_id )
97
94
if not repository :
@@ -110,7 +107,7 @@ async def update_repository(repository_id: int, data: RepositoryUpdateRequest, d
110
107
raise HTTPException (status_code = 500 , detail = "Database error" )
111
108
112
109
@private_api .delete ("/repositories/{repository_id}" )
113
- async def delete_repository (repository_id : int , db : Session = Depends (get_db )):
110
+ async def delete_repository (repository_id : str , db : Session = Depends (get_db )):
114
111
try :
115
112
repository = db .get (Repository , repository_id )
116
113
if not repository :
0 commit comments