You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
566 B
25 lines
566 B
3 years ago
|
from dataclasses import dataclass
|
||
|
|
||
|
@dataclass
|
||
|
class User:
|
||
|
id: int
|
||
|
username: str
|
||
|
email: str
|
||
|
otp: str
|
||
|
fullname: str
|
||
|
|
||
|
def to_json(self, include_otp=False, include_id=False):
|
||
|
result = {
|
||
|
'username': self.username,
|
||
|
'email': self.email,
|
||
|
'fullname': self.fullname,
|
||
|
}
|
||
|
if include_id:
|
||
|
result['id'] = self.id
|
||
|
if include_otp:
|
||
|
result['otp'] = self.otp
|
||
|
return result
|
||
|
|
||
|
@classmethod
|
||
|
def from_query(cls, query_result):
|
||
|
return cls(*query_result)
|