feat(auth): Add OAuth2 authentication
This commit is contained in:
33
secnex/kit/models/key.py
Normal file
33
secnex/kit/models/key.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any, Optional
|
||||
|
||||
class ApiKey:
|
||||
def __init__(self,
|
||||
id: str,
|
||||
key: str,
|
||||
enabled: bool,
|
||||
created_at: datetime | str | None,
|
||||
updated_at: datetime | str | None,
|
||||
deleted_at: datetime | str | None,
|
||||
) -> None:
|
||||
self.id = id
|
||||
self.key = key
|
||||
self.enabled = enabled
|
||||
self.created_at = self._parse_datetime(created_at)
|
||||
self.updated_at = self._parse_datetime(updated_at)
|
||||
self.deleted_at = self._parse_datetime(deleted_at) if deleted_at is not None else None
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"{self.id} - {self.key} - {self.enabled} - {self.created_at} - {self.updated_at} - {self.deleted_at}"
|
||||
|
||||
@staticmethod
|
||||
def _parse_datetime(value: Any) -> Any:
|
||||
if isinstance(value, datetime):
|
||||
return value
|
||||
if isinstance(value, str):
|
||||
try:
|
||||
return datetime.fromisoformat(value)
|
||||
except ValueError:
|
||||
return value
|
||||
Reference in New Issue
Block a user