3333from core .dependencies import (
3434 session_dependency ,
3535 viewer_dependency ,
36- admin_dependency ,
3736 editor_dependency ,
3837)
3938from db import Thing
@@ -141,7 +140,7 @@ def database_error_handler(payload: CreateAsset, error: ProgrammingError) -> Non
141140 status_code = HTTP_201_CREATED ,
142141)
143142async def upload_asset (
144- user : admin_dependency ,
143+ user : editor_dependency ,
145144 bucket = Depends (get_storage_bucket ),
146145 file : UploadFile = File (...),
147146) -> dict :
@@ -171,7 +170,7 @@ async def upload_asset(
171170
172171@router .post ("/upload-and-record" , status_code = HTTP_201_CREATED )
173172async def upload_and_record_asset (
174- user : admin_dependency ,
173+ user : editor_dependency ,
175174 session : session_dependency ,
176175 bucket = Depends (get_storage_bucket ),
177176 file : UploadFile = File (...),
@@ -188,7 +187,7 @@ async def upload_and_record_asset(
188187 returned instead of creating a duplicate.
189188
190189 Args:
191- user: Authenticated admin user performing the upload.
190+ user: Authenticated editor user performing the upload.
192191 session: Active database session.
193192 bucket: GCS storage bucket resolved via dependency injection.
194193 file: The file to upload. Accepted MIME types: JPEG, PNG, GIF, WebP,
@@ -384,10 +383,10 @@ async def upload_and_record_asset(
384383
385384@router .post ("" , status_code = HTTP_201_CREATED )
386385async def add_asset (
387- user : admin_dependency ,
386+ user : editor_dependency ,
388387 session : session_dependency ,
389388 asset_data : CreateAsset ,
390- ) -> AssetResponse :
389+ ) -> AssetResponse | None :
391390
392391 try :
393392 data = asset_data .model_dump ()
@@ -446,7 +445,7 @@ async def add_asset(
446445async def list_assets (
447446 user : viewer_dependency ,
448447 session : session_dependency ,
449- thing_id : int = None ,
448+ thing_id : int | None = None ,
450449) -> CustomPage [AssetResponse ]:
451450 """
452451 List all assets or assets associated with a specific thing.
@@ -579,7 +578,7 @@ async def update_asset(
579578
580579@router .delete ("/{asset_id}" , status_code = HTTP_204_NO_CONTENT )
581580async def delete_asset (
582- asset_id : int , session : session_dependency , user : admin_dependency
581+ asset_id : int , session : session_dependency , user : editor_dependency
583582):
584583 return model_deleter (session , Asset , asset_id , user = user )
585584
@@ -589,7 +588,7 @@ async def delete_asset(
589588 status_code = HTTP_204_NO_CONTENT ,
590589)
591590async def remove_asset (
592- user : admin_dependency ,
591+ user : editor_dependency ,
593592 asset_id : int ,
594593 session : session_dependency ,
595594 bucket = Depends (get_storage_bucket ),
0 commit comments