B
     `                 @   sD   d Z ddlmZmZmZmZ ddlT ddlmZ G dd de	Z
dS )aU  Webex Teams Person data model.

Copyright (c) 2016-2020 Cisco and/or its affiliates.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
    )absolute_importdivisionprint_functionunicode_literals)*)WebexTeamsDateTimec               @   s   e Zd ZdZedd Zedd Zdd Zedd	 Zed
d Z	edd Z
edd Zedd Zedd Zedd Zedd Zedd Zedd Zedd Zedd Zed d! Zed"d# Zed$d% Zed&d' Zd(S ))PersonBasicPropertiesMixinzPerson basic properties.c             C   s   | j dS )z#A unique identifier for the person.id)
_json_dataget)self r   Q/home/dcms/DCMS/lib/python3.7/site-packages/webexteamssdk/models/mixins/person.pyr	   )   s    zPersonBasicPropertiesMixin.idc             C   s   | j dS )z"The email addresses of the person.emails)r
   r   )r   r   r   r   r   .   s    z!PersonBasicPropertiesMixin.emailsc             C   s   | j dS )zPhone numbers for the person.phoneNumbers)r
   r   )r   r   r   r   r   3   s    z'PersonBasicPropertiesMixin.phoneNumbersc             C   s   | j dS )zThe full name of the person.displayName)r
   r   )r   r   r   r   r   7   s    z&PersonBasicPropertiesMixin.displayNamec             C   s   | j dS )zThe nickname of the person if configured.

        If no nickname is configured for the person, this field will not be
        present.
        nickName)r
   r   )r   r   r   r   r   <   s    z#PersonBasicPropertiesMixin.nickNamec             C   s   | j dS )zThe first name of the person.	firstName)r
   r   )r   r   r   r   r   E   s    z$PersonBasicPropertiesMixin.firstNamec             C   s   | j dS )zThe last name of the person.lastName)r
   r   )r   r   r   r   r   J   s    z#PersonBasicPropertiesMixin.lastNamec             C   s   | j dS )z-The URL to the person"s avatar in PNG format.avatar)r
   r   )r   r   r   r   r   O   s    z!PersonBasicPropertiesMixin.avatarc             C   s   | j dS )z8The ID of the organization to which this person belongs.orgId)r
   r   )r   r   r   r   r   T   s    z PersonBasicPropertiesMixin.orgIdc             C   s   | j dS )zVAn array of role strings representing the roles to which this
        person belongs. roles)r
   r   )r   r   r   r   r   Y   s    z PersonBasicPropertiesMixin.rolesc             C   s   | j dS )z5An array of license strings allocated to this person.licenses)r
   r   )r   r   r   r   r   _   s    z#PersonBasicPropertiesMixin.licensesc             C   s"   | j d}|rt|S dS dS )z)The date and time the person was created.createdN)r
   r   r   strptime)r   r   r   r   r   r   d   s    
z"PersonBasicPropertiesMixin.createdc             C   s"   | j d}|rt|S dS dS )z.The date and time the person was last changed.lastModifiedN)r
   r   r   r   )r   Zlast_modifiedr   r   r   r   m   s    
z'PersonBasicPropertiesMixin.lastModifiedc             C   s   | j dS )zThe time zone of the person if configured.

        If no timezone is configured on the account, this field will not be
        present.
        timezone)_jsonr   )r   r   r   r   r   v   s    z#PersonBasicPropertiesMixin.timezonec             C   s"   | j d}|rt|S dS dS )zLThe date and time of the person"s last activity within Webex
        Teams. lastActivityN)r
   r   r   r   )r   Zlast_activityr   r   r   r      s    
z'PersonBasicPropertiesMixin.lastActivityc             C   s   | j dS )u  The current presence status of the person.

        Person Status Enum:
            `active`: Active within the last 10 minutes

            `call`: The user is in a call

            `DoNotDisturb`: The user has manually set their status to
                "Do Not Disturb"

            `inactive`: Last activity occurred more than 10 minutes ago

            `meeting`: The user is in a meeting

            `OutOfOffice`: The user or a Hybrid Calendar service has indicated
                that they are "Out of Office"

            `pending`: The user has never logged in; a status cannot be
                determined

            `presenting`: The user is sharing content

            `unknown`: The user’s status could not be determined
        status)r
   r   )r   r   r   r   r      s    z!PersonBasicPropertiesMixin.statusc             C   s   | j dS )a3  Whether or not an invite is pending for the user to complete account
        activation.

        Person Invite Pending Enum:
            `true`: The person has been invited to Webex Teams but has not
                created an account

            `false`: An invite is not pending for this person
        invitePending)r
   r   )r   r   r   r   r       s    z(PersonBasicPropertiesMixin.invitePendingc             C   s   | j dS )zWhether or not the user is allowed to use Webex Teams.

        Person Login Enabled Enum:
            `true`: The person can log into Webex Teams

            "false": The person cannot log into Webex Teams
        loginEnabled)r
   r   )r   r   r   r   r!      s    	z'PersonBasicPropertiesMixin.loginEnabledc             C   s   | j dS )zThe type of person account, such as person or bot.

        Person Type Enum:
            `person`: Account belongs to a person
            `bot`: Account is a bot user
            `appuser`: Account is a guest user
        type)r
   r   )r   r   r   r   r"      s    	zPersonBasicPropertiesMixin.typeN)__name__
__module____qualname____doc__propertyr	   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r   r   r   r   &   s(   				
r   N)r&   
__future__r   r   r   r   builtinsZwebexteamssdk.utilsr   objectr   r   r   r   r   <module>   s   