mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2025-09-15 09:49:46 +00:00
67 lines
1.3 KiB
Python
67 lines
1.3 KiB
Python
from datetime import datetime
|
|
from enum import StrEnum
|
|
|
|
from pydantic import BaseModel, ConfigDict
|
|
|
|
|
|
class CredentialType(StrEnum):
|
|
PASSWORD = "password"
|
|
CREDIT_CARD = "credit_card"
|
|
|
|
|
|
class PasswordCredentialResponse(BaseModel):
|
|
username: str
|
|
|
|
|
|
class CreditCardCredentialResponse(BaseModel):
|
|
last_four: str
|
|
brand: str
|
|
|
|
|
|
class PasswordCredential(BaseModel):
|
|
password: str
|
|
username: str
|
|
|
|
|
|
class CreditCardCredential(BaseModel):
|
|
card_number: str
|
|
card_cvv: str
|
|
card_exp_month: str
|
|
card_exp_year: str
|
|
card_brand: str
|
|
card_holder_name: str
|
|
|
|
|
|
class CredentialItem(BaseModel):
|
|
item_id: str
|
|
name: str
|
|
credential_type: CredentialType
|
|
credential: PasswordCredential | CreditCardCredential
|
|
|
|
|
|
class CreateCredentialRequest(BaseModel):
|
|
name: str
|
|
credential_type: CredentialType
|
|
credential: PasswordCredential | CreditCardCredential
|
|
|
|
|
|
class CredentialResponse(BaseModel):
|
|
credential_id: str
|
|
credential: PasswordCredentialResponse | CreditCardCredentialResponse
|
|
credential_type: CredentialType
|
|
name: str
|
|
|
|
|
|
class Credential(BaseModel):
|
|
model_config = ConfigDict(from_attributes=True)
|
|
|
|
credential_id: str
|
|
organization_id: str
|
|
name: str
|
|
credential_type: CredentialType
|
|
|
|
item_id: str
|
|
|
|
created_at: datetime
|
|
modified_at: datetime
|
|
deleted_at: datetime | None = None
|