@@ -113,6 +113,7 @@ async def _wrapper(request: web.Request) -> web.StreamResponse:
113113@login_required  
114114@permission_required ("project.create" ) 
115115@permission_required ("services.pipeline.*" )  # due to update_pipeline_db  
116+ @_handle_projects_exceptions  
116117async  def  create_project (request : web .Request ):
117118    # 
118119    # - Create https://google.aip.dev/133 
@@ -263,6 +264,7 @@ async def list_projects_full_search(request: web.Request):
263264@routes .get (f"/{ VTAG }  /projects/active" , name = "get_active_project" ) 
264265@login_required  
265266@permission_required ("project.read" ) 
267+ @_handle_projects_exceptions  
266268async  def  get_active_project (request : web .Request ) ->  web .Response :
267269    # 
268270    # - Get https://google.aip.dev/131 
@@ -310,6 +312,7 @@ async def get_active_project(request: web.Request) -> web.Response:
310312@routes .get (f"/{ VTAG }  /projects/{{project_id}}" , name = "get_project" ) 
311313@login_required  
312314@permission_required ("project.read" ) 
315+ @_handle_projects_exceptions  
313316async  def  get_project (request : web .Request ):
314317    """ 
315318
@@ -373,6 +376,7 @@ async def get_project(request: web.Request):
373376) 
374377@login_required  
375378@permission_required ("project.read" ) 
379+ @_handle_projects_exceptions  
376380async  def  get_project_inactivity (request : web .Request ):
377381    path_params  =  parse_request_path_parameters_as (ProjectPathParams , request )
378382
@@ -409,6 +413,7 @@ async def patch_project(request: web.Request):
409413@routes .delete (f"/{ VTAG }  /projects/{{project_id}}" , name = "delete_project" ) 
410414@login_required  
411415@permission_required ("project.delete" ) 
416+ @_handle_projects_exceptions  
412417async  def  delete_project (request : web .Request ):
413418    # Delete https://google.aip.dev/135 
414419    """ 
@@ -498,6 +503,7 @@ async def delete_project(request: web.Request):
498503@login_required  
499504@permission_required ("project.create" ) 
500505@permission_required ("services.pipeline.*" )  # due to update_pipeline_db  
506+ @_handle_projects_exceptions  
501507async  def  clone_project (request : web .Request ):
502508    req_ctx  =  RequestContext .model_validate (request )
503509    path_params  =  parse_request_path_parameters_as (ProjectPathParams , request )
0 commit comments