Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions infisical_sdk/api_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,13 @@ def from_dict(cls, data: Dict) -> 'BaseModel':
"""Create model from dictionary"""
# Get only the fields that exist in the dataclass
valid_fields = {f.name for f in fields(cls)}
filtered_data = {k: v for k, v in data.items() if k in valid_fields}
# Handle snake_case to camelCase conversion if needed
renamed = data.copy()
if 'created_at' in renamed:
renamed['createdAt'] = renamed.pop('created_at')
if 'updated_at' in renamed:
renamed['updatedAt'] = renamed.pop('updated_at')
filtered_data = {k: v for k, v in renamed.items() if k in valid_fields}
return cls(**filtered_data)

def to_json(self) -> str:
Expand Down Expand Up @@ -71,8 +77,8 @@ class BaseSecret(BaseModel):
secretKey: str
secretValue: str
secretComment: str
createdAt: str
updatedAt: str
createdAt: Optional[str] = None
updatedAt: Optional[str] = None
secretMetadata: Optional[Dict[str, Any]] = None
secretValueHidden: Optional[bool] = False
secretReminderNote: Optional[str] = None
Expand Down Expand Up @@ -150,8 +156,8 @@ class KmsKey(BaseModel):
isDisabled: bool
orgId: str
name: str
createdAt: str
updatedAt: str
createdAt: Optional[str] = None
updatedAt: Optional[str] = None
projectId: str
version: int
encryptionAlgorithm: SymmetricEncryption
Expand Down