Problemas resolvidos
This commit is contained in:
37
app/openv.py
Normal file
37
app/openv.py
Normal file
@@ -0,0 +1,37 @@
|
||||
from typing import Optional
|
||||
|
||||
from onepasswordconnectsdk.client import Client, new_client_from_environment
|
||||
from onepasswordconnectsdk.models import Item, Vault
|
||||
|
||||
|
||||
class OnePassword:
|
||||
connect_client: Client = new_client_from_environment()
|
||||
vault_title: Optional[str]
|
||||
item_title: str = 'mines'
|
||||
vault: Optional[Vault] = None
|
||||
item: Optional[Item] = None
|
||||
|
||||
def __init__(self, scope: str, item_title=None):
|
||||
if item_title:
|
||||
self.item_title = item_title
|
||||
self.vault_title = scope.lower()
|
||||
|
||||
def get_vault(self) -> Vault:
|
||||
if self.vault:
|
||||
return self.vault
|
||||
self.vault = self.connect_client.get_vault_by_title(self.vault_title)
|
||||
return self.vault
|
||||
|
||||
def get_item(self) -> Item:
|
||||
if self.item:
|
||||
return self.item
|
||||
vault = self.get_vault()
|
||||
self.item = self.connect_client.get_item_by_title(self.item_title, vault.id)
|
||||
return self.item
|
||||
|
||||
def get(self, field: str, default_value=None) -> str | None:
|
||||
item = self.get_item()
|
||||
for f in item.fields:
|
||||
if f.label == field:
|
||||
return f.value
|
||||
return default_value
|
||||
Reference in New Issue
Block a user