Reorganize repos

This commit is contained in:
2024-07-23 09:15:03 +02:00
parent 4fcd45512d
commit e2db336dce
15 changed files with 0 additions and 0 deletions

42
hsapi_client/apikeys.py Normal file
View File

@ -0,0 +1,42 @@
from pydantic import BaseModel, Field
from typing import Optional, List
from datetime import datetime
from .model import HSAPICall
from .schemas import v1ApiKey
class v1CreateApiKeyRequest(BaseModel):
expiration: str = Field(alias="expiration", default=None)
class v1ExpireApiKeyRequest(BaseModel):
prefix: str = Field(alias="prefix", default=None)
class v1ListApiKeysResponse(BaseModel):
apiKeys: Optional[List[Optional[v1ApiKey]]] = Field(
alias="apiKeys", default=None)
class v1CreateApiKeyResponse(BaseModel):
apiKey: str = Field(alias="apiKey", default=None)
class APIKey(HSAPICall):
objectPath = "apikey"
def list(self) -> v1ListApiKeysResponse:
response = self.call('get')
return v1ListApiKeysResponse(**response.json())
def create(self, data: v1CreateApiKeyRequest) -> v1CreateApiKeyResponse:
response = self.call('post', data=data)
return v1CreateApiKeyResponse(**response.json())
def expire(self, data: v1ExpireApiKeyRequest) -> None:
self.call('post', call_path='expire', data=data)
def delete(self, prefix: str) -> None:
self.call('delete', call_path=prefix)