packagers support (#100)

This commit is contained in:
2023-06-05 02:37:19 +03:00
committed by GitHub
parent cbd1d3d5b8
commit 4dd5a1e82e
89 changed files with 849 additions and 318 deletions

View File

@@ -183,3 +183,16 @@ class BaseView(View, CorsViewMixin):
return response
self._raise_allowed_methods()
async def username(self) -> str | None:
"""
extract username from request if any
Returns:
str | None: authorized username if any and None otherwise (e.g. if authorization is disabled)
"""
policy = self.request.app.get("identity")
if policy is not None:
identity: str = await policy.identify(self.request)
return identity
return None

View File

@@ -67,6 +67,7 @@ class AddView(BaseView):
except Exception as e:
raise HTTPBadRequest(reason=str(e))
self.spawner.packages_add(packages, now=True)
username = await self.username()
self.spawner.packages_add(packages, username, now=True)
raise HTTPNoContent()

View File

@@ -68,6 +68,7 @@ class RebuildView(BaseView):
except Exception as e:
raise HTTPBadRequest(reason=str(e))
self.spawner.packages_rebuild(depends_on)
username = await self.username()
self.spawner.packages_rebuild(depends_on, username)
raise HTTPNoContent()

View File

@@ -67,6 +67,7 @@ class RequestView(BaseView):
except Exception as e:
raise HTTPBadRequest(reason=str(e))
self.spawner.packages_add(packages, now=False)
username = await self.username()
self.spawner.packages_add(packages, username, now=False)
raise HTTPNoContent()

View File

@@ -57,6 +57,7 @@ class UpdateView(BaseView):
Raises:
HTTPNoContent: in case of success response
"""
self.spawner.packages_update()
username = await self.username()
self.spawner.packages_update(username)
raise HTTPNoContent()