# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class CurrentUserResponse(Model):
    """CurrentUserResponse.

    :param id:
    :type id: str
    :param email:
    :type email: str
    :param first_name:
    :type first_name: str
    :param last_name:
    :type last_name: str
    :param phone_number:
    :type phone_number: str
    :param application_role: Possible values include: 'Invalid', 'SaasAdmin',
     'AccountAdmin', 'ApplicationUser', 'Technician', 'User', 'SystemProcess',
     'Sentry', 'Sales', 'CorporationAdmin', 'CorporationUser',
     'CorporationNone'
    :type application_role: str or ~smartdiagnostics_sdk.models.enum
    :param corporations:
    :type corporations:
     list[~smartdiagnostics_sdk.models.UserCorporationChild]
    :param locations:
    :type locations: list[~smartdiagnostics_sdk.models.UserLocationChild]
    :param profile:
    :type profile: ~smartdiagnostics_sdk.models.ProfileChild
    """

    _attribute_map = {
        'id': {'key': 'Id', 'type': 'str'},
        'email': {'key': 'Email', 'type': 'str'},
        'first_name': {'key': 'FirstName', 'type': 'str'},
        'last_name': {'key': 'LastName', 'type': 'str'},
        'phone_number': {'key': 'PhoneNumber', 'type': 'str'},
        'application_role': {'key': 'ApplicationRole', 'type': 'str'},
        'corporations': {'key': 'Corporations', 'type': '[UserCorporationChild]'},
        'locations': {'key': 'Locations', 'type': '[UserLocationChild]'},
        'profile': {'key': 'Profile', 'type': 'ProfileChild'},
    }

    def __init__(self, **kwargs):
        super(CurrentUserResponse, self).__init__(**kwargs)
        self.id = kwargs.get('id', None)
        self.email = kwargs.get('email', None)
        self.first_name = kwargs.get('first_name', None)
        self.last_name = kwargs.get('last_name', None)
        self.phone_number = kwargs.get('phone_number', None)
        self.application_role = kwargs.get('application_role', None)
        self.corporations = kwargs.get('corporations', None)
        self.locations = kwargs.get('locations', None)
        self.profile = kwargs.get('profile', None)
