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
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) |