Source code for highton.models.user
from highton import call_mixins
from highton.models import HightonModel
from highton.highton_constants import HightonConstants
from highton import fields
[docs]class User(
HightonModel,
call_mixins.ListCallMixin,
call_mixins.DetailCallMixin,
):
"""
:ivar id: fields.IntegerField(name=HightonConstants.ID)
:ivar name: fields.StringField(name=HightonConstants.NAME)
:ivar email_address: fields.StringField(name=HightonConstants.EMAIL_ADDRESS)
:ivar admin: fields.BooleanField(name=HightonConstants.ADMIN)
:ivar token: fields.StringField(name=HightonConstants.TOKEN)
:ivar dropbox: fields.StringField(name=HightonConstants.DROPBOX)
:ivar created_at: fields.DatetimeField(name=HightonConstants.CREATED_AT)
:ivar updated_at: fields.DatetimeField(name=HightonConstants.UPDATED_AT)
"""
ENDPOINT = HightonConstants.USERS
TAG_NAME = HightonConstants.USER
def __init__(self, **kwargs):
self.name = fields.StringField(name=HightonConstants.NAME)
self.email_address = fields.StringField(name=HightonConstants.EMAIL_ADDRESS)
self.admin = fields.BooleanField(name=HightonConstants.ADMIN)
self.token = fields.StringField(name=HightonConstants.TOKEN)
self.dropbox = fields.StringField(name=HightonConstants.DROPBOX)
self.created_at = fields.DatetimeField(name=HightonConstants.CREATED_AT)
self.updated_at = fields.DatetimeField(name=HightonConstants.UPDATED_AT)
super().__init__(**kwargs)
[docs] @classmethod
def me(cls):
"""
Returns information about the currently authenticated user.
:return:
:rtype: User
"""
return fields.ObjectField(name=cls.ENDPOINT, init_class=cls).decode(
cls.element_from_string(
cls._get_request(endpoint=cls.ENDPOINT + '/me').text
)
)