Merge pull request #1 from kennethreitz/datetimes

Datetimes
This commit is contained in:
2024-01-30 10:34:23 -05:00
committed by GitHub
5 changed files with 66 additions and 77 deletions
+2 -4
View File
@@ -16,12 +16,10 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install pipenv
run: pip install pipenv
- name: Install dependencies
run: pipenv install --dev && pip install pytest
run: pip install -r requirements.txt
# You can test your matrix by printing the current Python version
- name: Run the tests with pytest
run: pipenv run make ci
run: make ci
env:
NEON_API_KEY: ${{ secrets.NEON_API_KEY }}
+1
View File
@@ -14,6 +14,7 @@ gen-model: fetch-v2-schema
--input v2.json \
--collapse-root-models \
--output neon_client/schema.py \
--additional-imports datetime.datetime,pydantic.dataclasses.dataclass \
--use-standard-collections \
--output-model-type dataclasses.dataclass \
# --input-file-type openapi \
+48 -52
View File
@@ -1,13 +1,16 @@
# generated by datamodel-codegen:
# filename: v2.json
# timestamp: 2024-01-22T21:10:29+00:00
# timestamp: 2024-01-30T15:09:41+00:00
from __future__ import annotations
from pydantic.dataclasses import dataclass
# from dataclasses import dataclass
from datetime import datetime
from enum import Enum
from typing import Optional
from pydantic.dataclasses import dataclass
class Provisioner(Enum):
k8s_pod = "k8s-pod"
@@ -34,7 +37,7 @@ class ApiKeyCreateResponse:
id: int
key: str
name: str
created_at: str
created_at: datetime
@dataclass
@@ -43,16 +46,16 @@ class ApiKeyRevokeResponse:
name: str
revoked: bool
last_used_from_addr: str
last_used_at: Optional[str] = None
last_used_at: Optional[datetime] = None
@dataclass
class ApiKeysListResponseItem:
id: int
name: str
created_at: str
created_at: datetime
last_used_from_addr: str
last_used_at: Optional[str] = None
last_used_at: Optional[datetime] = None
class OperationAction(Enum):
@@ -91,8 +94,8 @@ class Branch:
class ProjectPermission:
id: str
granted_to_email: str
granted_at: str
revoked_at: Optional[str] = None
granted_at: datetime
revoked_at: Optional[datetime] = None
@dataclass
@@ -115,16 +118,16 @@ class ProjectConsumption:
written_data_bytes: int
compute_time_seconds: int
active_time_seconds: int
updated_at: str
period_start: str
period_end: str
updated_at: datetime
period_start: datetime
period_end: datetime
previous_period_id: str
data_storage_bytes_hour_updated_at: Optional[str] = None
synthetic_storage_size_updated_at: Optional[str] = None
data_transfer_bytes_updated_at: Optional[str] = None
written_data_bytes_updated_at: Optional[str] = None
compute_time_seconds_updated_at: Optional[str] = None
active_time_seconds_updated_at: Optional[str] = None
data_storage_bytes_hour_updated_at: Optional[datetime] = None
synthetic_storage_size_updated_at: Optional[datetime] = None
data_transfer_bytes_updated_at: Optional[datetime] = None
written_data_bytes_updated_at: Optional[datetime] = None
compute_time_seconds_updated_at: Optional[datetime] = None
active_time_seconds_updated_at: Optional[datetime] = None
@dataclass
@@ -237,8 +240,8 @@ class ExplainData:
class Role:
branch_id: str
name: str
created_at: str
updated_at: str
created_at: datetime
updated_at: datetime
password: Optional[str] = None
protected: Optional[bool] = None
@@ -309,6 +312,9 @@ class BillingSubscriptionType(Enum):
pro = "pro"
direct_sales = "direct_sales"
aws_marketplace = "aws_marketplace"
free_v2 = "free_v2"
launch = "launch"
scale = "scale"
@dataclass
@@ -317,8 +323,8 @@ class Database:
branch_id: str
name: str
owner_name: str
created_at: str
updated_at: str
created_at: datetime
updated_at: datetime
@dataclass
@@ -392,11 +398,6 @@ class ProjectOwnerData:
subscription_type: BillingSubscriptionType
class SubscriptionDowngradeNewType(Enum):
free = "free"
free_v2 = "free_v2"
class SupportTicketSeverity(Enum):
low = "low"
normal = "normal"
@@ -404,11 +405,6 @@ class SupportTicketSeverity(Enum):
critical = "critical"
class SubscriptionUpgradeNewType(Enum):
launch = "launch"
scale = "scale"
@dataclass
class PaginationResponse:
pagination: Optional[Pagination] = None
@@ -421,13 +417,13 @@ class Operation:
action: OperationAction
status: OperationStatus
failures_count: int
created_at: str
updated_at: str
created_at: datetime
updated_at: datetime
total_duration_ms: int
branch_id: Optional[str] = None
endpoint_id: Optional[str] = None
error: Optional[str] = None
retry_at: Optional[str] = None
retry_at: Optional[datetime] = None
@dataclass
@@ -466,14 +462,14 @@ class Branch1:
active_time_seconds: int
written_data_bytes: int
data_transfer_bytes: int
created_at: str
updated_at: str
created_at: datetime
updated_at: datetime
parent_id: Optional[str] = None
parent_lsn: Optional[str] = None
parent_timestamp: Optional[str] = None
pending_state: Optional[BranchState] = None
logical_size: Optional[int] = None
last_reset_at: Optional[str] = None
last_reset_at: Optional[datetime] = None
@dataclass
@@ -513,7 +509,7 @@ class StatementResult:
class BillingAccount:
payment_source: PaymentSource
subscription_type: BillingSubscriptionType
quota_reset_at_last: str
quota_reset_at_last: datetime
email: str
address_city: str
address_country: str
@@ -598,15 +594,15 @@ class ProjectListItem:
active_time: int
cpu_used_sec: int
creation_source: str
created_at: str
updated_at: str
created_at: datetime
updated_at: datetime
owner_id: str
default_endpoint_settings: Optional[DefaultEndpointSettings] = None
settings: Optional[ProjectSettingsData] = None
maintenance_starts_at: Optional[str] = None
maintenance_starts_at: Optional[datetime] = None
synthetic_storage_size: Optional[int] = None
quota_reset_at: Optional[str] = None
compute_last_active_at: Optional[str] = None
quota_reset_at: Optional[datetime] = None
compute_last_active_at: Optional[datetime] = None
@dataclass
@@ -629,18 +625,18 @@ class Project:
store_passwords: bool
creation_source: str
history_retention_seconds: int
created_at: str
updated_at: str
consumption_period_start: str
consumption_period_end: str
created_at: datetime
updated_at: datetime
consumption_period_start: datetime
consumption_period_end: datetime
owner_id: str
default_endpoint_settings: Optional[DefaultEndpointSettings] = None
settings: Optional[ProjectSettingsData] = None
maintenance_starts_at: Optional[str] = None
maintenance_starts_at: Optional[datetime] = None
synthetic_storage_size: Optional[int] = None
quota_reset_at: Optional[str] = None
quota_reset_at: Optional[datetime] = None
owner: Optional[ProjectOwnerData] = None
compute_last_active_at: Optional[str] = None
compute_last_active_at: Optional[datetime] = None
@dataclass
@@ -703,8 +699,8 @@ class Endpoint:
disabled: bool
passwordless_access: bool
creation_source: str
created_at: str
updated_at: str
created_at: datetime
updated_at: datetime
proxy_host: str
suspend_timeout_seconds: int
provisioner: Provisioner
+8
View File
@@ -0,0 +1,8 @@
-e .
datamodel-code-generator
pytest
pytest-cov
pytest-ordering
pytest-recording
ruff
sphinx
+7 -21
View File
@@ -898,8 +898,7 @@
"summary": "Return project's permissions",
"description": "Return project's permissions",
"tags": [
"Project",
"Permissions"
"Project"
],
"operationId": "listProjectPermissions",
"responses": {
@@ -922,8 +921,7 @@
"summary": "Grant project permission to the user",
"description": "Grant project permission to the user",
"tags": [
"Project",
"Permissions"
"Project"
],
"operationId": "grantPermissionToProject",
"requestBody": {
@@ -976,8 +974,7 @@
"summary": "Revoke permission from the user",
"description": "Revoke permission from the user",
"tags": [
"Project",
"Permissions"
"Project"
],
"operationId": "revokePermissionFromProject",
"responses": {
@@ -5028,7 +5025,10 @@
"free",
"pro",
"direct_sales",
"aws_marketplace"
"aws_marketplace",
"free_v2",
"launch",
"scale"
]
},
"Database": {
@@ -5401,13 +5401,6 @@
}
}
},
"SubscriptionDowngradeNewType": {
"type": "string",
"enum": [
"free",
"free_v2"
]
},
"GeneralError": {
"type": "object",
"description": "General Error",
@@ -5476,13 +5469,6 @@
"high",
"critical"
]
},
"SubscriptionUpgradeNewType": {
"type": "string",
"enum": [
"launch",
"scale"
]
}
}
}