Skip to content

Commit

Permalink
feat: use asdict of dataclasses for to_dicts
Browse files Browse the repository at this point in the history
  • Loading branch information
leynier committed Nov 4, 2021
1 parent 0ea666a commit 3333813
Showing 1 changed file with 7 additions and 64 deletions.
71 changes: 7 additions & 64 deletions gotrue/types.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
from __future__ import annotations

from dataclasses import dataclass
from dataclasses import asdict, dataclass
from enum import Enum
from inspect import signature
from json import dumps
from time import time
from typing import Any, Callable, Optional, Type, TypeVar

Expand Down Expand Up @@ -58,16 +57,7 @@ def from_dict(cls, data: dict) -> APIError:
return parse_dict(cls, **data)

def to_dict(self) -> dict[str, Any]:
return {
"msg": self.msg,
"code": self.code,
}

def __str__(self) -> str:
return dumps(self.to_dict())

def __repr__(self) -> str:
return self.__str__()
return asdict(self)


@dataclass
Expand Down Expand Up @@ -97,13 +87,7 @@ def from_dict(cls, data: dict) -> CookieOptions:
return parse_dict(cls, **data)

def to_dict(self) -> dict[str, Any]:
return {
"name": self.name,
"lifetime": self.lifetime,
"domain": self.domain,
"path": self.path,
"same_site": self.same_site,
}
return asdict(self)


@dataclass
Expand Down Expand Up @@ -169,25 +153,7 @@ def from_dict(cls, data: dict) -> User:
return parse_dict(cls, **data)

def to_dict(self) -> dict[str, Any]:
return {
"action_link": self.action_link,
"app_metadata": self.app_metadata,
"aud": self.aud,
"confirmation_sent_at": self.confirmation_sent_at,
"confirmed_at": self.confirmed_at,
"created_at": self.created_at,
"email": self.email,
"email_confirmed_at": self.email_confirmed_at,
"id": self.id,
"last_sign_in_at": self.last_sign_in_at,
"phone": self.phone,
"phone_confirmed_at": self.phone_confirmed_at,
"recovery_sent_at": self.recovery_sent_at,
"role": self.role,
"updated_at": self.updated_at,
"user_metadata": self.user_metadata,
"invited_at": self.invited_at,
}
return asdict(self)


@dataclass
Expand All @@ -214,15 +180,7 @@ def from_dict(cls, data: dict) -> Identity:
return parse_dict(cls, **data)

def to_dict(self) -> dict[str, Any]:
return {
"created_at": self.created_at,
"id": self.id,
"identity_data": self.identity_data,
"last_sign_in_at": self.last_sign_in_at,
"provider": self.provider,
"updated_at": self.updated_at,
"user_id": self.user_id,
}
return asdict(self)


@dataclass
Expand All @@ -246,12 +204,7 @@ def from_dict(cls, data: dict) -> UserAttributes:
return parse_dict(cls, **data)

def to_dict(self) -> dict[str, Any]:
return {
"email": self.email,
"password": self.password,
"email_change_token": self.email_change_token,
"data": self.data,
}
return asdict(self)


@dataclass
Expand Down Expand Up @@ -288,17 +241,7 @@ def from_dict(cls, data: dict) -> Session:
return parse_dict(cls, **data)

def to_dict(self) -> dict[str, Any]:
data: dict[str, Any] = {
"access_token": self.access_token,
"expires_at": self.expires_at,
"expires_in": self.expires_in,
"provider_token": self.provider_token,
"refresh_token": self.refresh_token,
"token_type": self.token_type,
}
if self.user:
data["user"] = self.user.to_dict()
return data
return asdict(self)


@dataclass
Expand Down

0 comments on commit 3333813

Please sign in to comment.