mirror of
https://github.com/kennethreitz/neon-api-python.git
synced 2026-06-05 22:50:18 +00:00
Add project permission management APIs
This commit is contained in:
@@ -44,6 +44,9 @@ Remember that you should never expose your api_key and handle it carefully since
|
||||
- `project_create(project_id, **json)`: Creates a new project.
|
||||
- `project_update(project_id, **json)`: Updates a given project.
|
||||
- `project_delete(project_id)`: Deletes a given project.
|
||||
- `project_permissions(project_id)`: Returns a list of permissions for a given project.
|
||||
- `project_permissions_grant(project_id, **json)`: Grant permissions to a given project.
|
||||
- `project_permissions_revoke(project_id, **json)`: Revoke permissions from a given project.
|
||||
|
||||
**Manage branches**:
|
||||
|
||||
|
||||
@@ -178,6 +178,25 @@ class NeonAPI:
|
||||
|
||||
return self.request("DELETE", f"projects/{ project_id }")
|
||||
|
||||
@returns_model(schema.ProjectPermissions)
|
||||
def project_permissions(self, project_id: str) -> t.Dict[str, t.Any]:
|
||||
"""Get a project permissions."""
|
||||
return self.request("GET", f"projects/{ project_id }/permissions")
|
||||
|
||||
@returns_model(schema.ProjectPermission)
|
||||
def project_permissions_grant(
|
||||
self, project_id: str, **json: dict
|
||||
) -> t.Dict[str, t.Any]:
|
||||
"""Update a project permissions. Accepts all keyword arguments for json body."""
|
||||
return self.request("POST", f"projects/{ project_id }/permissions", json=json)
|
||||
|
||||
@returns_model(schema.ProjectPermission)
|
||||
def project_permissions_revoke(
|
||||
self, project_id: str, **json: dict
|
||||
) -> t.Dict[str, t.Any]:
|
||||
"""Update a project permissions. Accepts all keyword arguments for json body."""
|
||||
return self.request("DELETE", f"projects/{ project_id }/permissions", json=json)
|
||||
|
||||
@returns_model(schema.BranchesResponse)
|
||||
def branches(
|
||||
self,
|
||||
|
||||
Reference in New Issue
Block a user