Skip to content

Commit

Permalink
feat: add datetime and uuid types
Browse files Browse the repository at this point in the history
  • Loading branch information
leynier authored Nov 14, 2021
1 parent 8d2c74e commit 455794f
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 20 deletions.
2 changes: 1 addition & 1 deletion gotrue/_async/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -607,7 +607,7 @@ async def _save_session(self, *, session: Session) -> None:

async def _persist_session(self, *, session: Session) -> None:
data = {"session": session.dict(), "expires_at": session.expires_at}
await self.local_storage.set_item(STORAGE_KEY, dumps(data))
await self.local_storage.set_item(STORAGE_KEY, dumps(data, default=str))

async def _remove_session(self) -> None:
"""Remove the session."""
Expand Down
2 changes: 1 addition & 1 deletion gotrue/_sync/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,7 @@ def _save_session(self, *, session: Session) -> None:

def _persist_session(self, *, session: Session) -> None:
data = {"session": session.dict(), "expires_at": session.expires_at}
self.local_storage.set_item(STORAGE_KEY, dumps(data))
self.local_storage.set_item(STORAGE_KEY, dumps(data, default=str))

def _remove_session(self) -> None:
"""Remove the session."""
Expand Down
38 changes: 20 additions & 18 deletions gotrue/types.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
from __future__ import annotations

from datetime import datetime
from enum import Enum
from time import time
from typing import Any, Callable, Dict, List, Optional, Type, TypeVar, Union
from uuid import UUID

from httpx import Response
from pydantic import BaseModel, root_validator
Expand Down Expand Up @@ -43,38 +45,38 @@ class CookieOptions(BaseModelFromResponse):


class Identity(BaseModelFromResponse):
id: str
user_id: str
id: UUID
user_id: UUID
provider: str
created_at: str
updated_at: str
created_at: datetime
updated_at: datetime
identity_data: Optional[Dict[str, Any]] = None
last_sign_in_at: Optional[str] = None
last_sign_in_at: Optional[datetime] = None


class User(BaseModelFromResponse):
app_metadata: Dict[str, Any]
aud: str
created_at: str
id: str
created_at: datetime
id: UUID
user_metadata: Dict[str, Any]
identities: Optional[List[Identity]] = None
confirmation_sent_at: Optional[str] = None
confirmation_sent_at: Optional[datetime] = None
action_link: Optional[str] = None
last_sign_in_at: Optional[str] = None
last_sign_in_at: Optional[datetime] = None
phone: Optional[str] = None
phone_confirmed_at: Optional[str] = None
recovery_sent_at: Optional[str] = None
phone_confirmed_at: Optional[datetime] = None
recovery_sent_at: Optional[datetime] = None
role: Optional[str] = None
updated_at: Optional[str] = None
email_confirmed_at: Optional[str] = None
confirmed_at: Optional[str] = None
invited_at: Optional[str] = None
updated_at: Optional[datetime] = None
email_confirmed_at: Optional[datetime] = None
confirmed_at: Optional[datetime] = None
invited_at: Optional[datetime] = None
email: Optional[str] = None
new_email: Optional[str] = None
email_change_sent_at: Optional[str] = None
email_change_sent_at: Optional[datetime] = None
new_phone: Optional[str] = None
phone_change_sent_at: Optional[str] = None
phone_change_sent_at: Optional[datetime] = None


class UserAttributes(BaseModelFromResponse):
Expand Down Expand Up @@ -117,7 +119,7 @@ class AuthChangeEvent(str, Enum):


class Subscription(BaseModelFromResponse):
id: str
id: UUID
"""The subscriber UUID. This will be set by the client."""
callback: Callable[[AuthChangeEvent, Optional[Session]], None]
"""The function to call every time there is an event."""
Expand Down

0 comments on commit 455794f

Please sign in to comment.