Skip to content

Commit b4e2057

Browse files
committed
Added group permissions operations to example.py
1 parent 51c6c09 commit b4e2057

3 files changed

Lines changed: 78 additions & 1 deletion

File tree

example/desktop_app.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# [developer-docs.sdk.python.sdk-import]-start
22
from onepassword import *
3+
# [developer-docs.sdk.python.sdk-import]-end
34
import asyncio
45
import os
56

@@ -92,7 +93,6 @@ async def showcase_vault_operations(client: Client):
9293
# [developer-docs.sdk.python.list-vault]-end
9394

9495
async def showcase_group_permission_operations(client: Client, vault_id: str, group_id: str):
95-
9696
# [developer-docs.sdk.python.grant-group-permissions]-start
9797
# Grant Group Permissions
9898
await client.vaults.grant_group_permissions(

example/example.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,50 @@ def generate_special_item_fields():
603603
],
604604
)
605605

606+
async def showcase_group_permission_operations(client: Client, vault_id: str, group_id: str):
607+
# [developer-docs.sdk.python.grant-group-permissions]-start
608+
# Grant Group Permissions
609+
await client.vaults.grant_group_permissions(
610+
vault_id=vault_id,
611+
group_permissions_list=[
612+
GroupAccess(
613+
group_id=group_id,
614+
permissions=READ_ITEMS,
615+
)
616+
],
617+
)
618+
print(f"Granted group {group_id} permissions to vault {vault_id}")
619+
# [developer-docs.sdk.python.grant-group-permissions]-end
620+
621+
# [developer-docs.sdk.python.update-group-permissions]-start
622+
# Update Group Permissions
623+
await client.vaults.update_group_permissions(
624+
group_permissions_list=[
625+
GroupVaultAccess(
626+
vault_id=vault_id,
627+
group_id=group_id,
628+
permissions= READ_ITEMS | CREATE_ITEMS | UPDATE_ITEMS,
629+
)
630+
],
631+
)
632+
print(f"Updated group {group_id} permissions to vault {vault_id}")
633+
# [developer-docs.sdk.python.update-group-permissions]-end
634+
635+
# [developer-docs.sdk.python.revoke-group-permissions]-start
636+
# Revoke Group Permissions
637+
await client.vaults.revoke_group_permissions(
638+
vault_id=vault_id,
639+
group_id=group_id,
640+
)
641+
# [developer-docs.sdk.python.update-group-permissions]-end
642+
643+
# [developer-docs.sdk.python.get-group]-start
644+
# Get a group
645+
group = await client.groups.get(group_id, GroupGetParams(vaultPermissions=False))
646+
print(group)
647+
# [developer-docs.sdk.python.get-group]-end
648+
649+
606650

607651
if __name__ == "__main__":
608652
asyncio.run(main())

src/onepassword/environments.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Code generated by op-codegen - DO NO EDIT MANUALLY
2+
3+
from .core import InnerClient
4+
from pydantic import TypeAdapter
5+
from .types import GetVariablesResponse
6+
7+
8+
class Environments:
9+
"""
10+
The Environments API holds all the operations the SDK client can perform on 1Password Environments (Vault Type = 'D').
11+
"""
12+
13+
def __init__(self, inner_client: InnerClient):
14+
self.inner_client = inner_client
15+
16+
async def get_variables(self, environment_id: str) -> GetVariablesResponse:
17+
"""
18+
Get environment variables belonging to an Environment.
19+
"""
20+
response = await self.inner_client.invoke(
21+
{
22+
"invocation": {
23+
"clientId": self.inner_client.client_id,
24+
"parameters": {
25+
"name": "EnvironmentsGetVariables",
26+
"parameters": {"environment_id": environment_id},
27+
},
28+
}
29+
}
30+
)
31+
32+
response = TypeAdapter(GetVariablesResponse).validate_json(response)
33+
return response

0 commit comments

Comments
 (0)