Skip to content

Commit b48e1e3

Browse files
committed
IEBH-467 Adding a proxy endpoint for restoring files from bin
1 parent 3174540 commit b48e1e3

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

api/api_files/meta.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,25 @@ async def put(self, request: Request):
120120
result = response.json()
121121
return JSONResponse(content=result, status_code=response.status_code)
122122

123+
@router.patch(
124+
'/files/bin/restore',
125+
summary='Restore file from bin',
126+
dependencies=[Depends(PermissionsCheck('project', '*', 'update'))],
127+
)
128+
async def patch(self, request: Request):
129+
"""Proxy for entity info file RESTORE API, handles permission checks."""
130+
logger.info('Call API for restoring a file from bin')
131+
132+
params = request.query_params
133+
headers = {'Authorization': request.headers.get('Authorization')}
134+
async with AsyncClient(timeout=ConfigClass.SERVICE_CLIENT_TIMEOUT) as client:
135+
response = await client.patch(ConfigClass.METADATA_SERVICE + 'item/', params=params, headers=headers)
136+
if response.status_code != 200:
137+
error_msg = f'Error calling Meta service restore items: {response.json()}'
138+
raise APIException(error_msg=error_msg, status_code=EAPIResponseCode.internal_error.value)
139+
result = response.json()
140+
return JSONResponse(content=result, status_code=response.status_code)
141+
123142

124143
@cbv.cbv(router)
125144
class FileMeta:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "core"
3-
version = "2.2.75"
3+
version = "2.2.76"
44
description = ""
55
authors = ["Indoc Research"]
66

0 commit comments

Comments
 (0)