B
    b^
                 @   sD   d dl mZ d dlmZ d dlmZ d dlm	Z	 G dd de	Z
dS )    )models)gettext_lazy)choices)AbstractCloudc               @   s   e Zd ZejedddZejedddZejedddZ	ejedd	dd
Z
ejedd	dd
Zejedd	dd
ZejeddejdZejeddddejdZejeddddejdZdd Zdd Zdd ZeeZG dd dZdS )AppListZappList_field_userName2   )verbose_name
max_lengthZappList_field_loginTimeF)r   editableZappList_field_lastActiveZappList_field_tokend   )r   r	   r
   ZappList_field_deviceTokenZappList_field_clientIdZappList_field_clientCategory)r   r
   r   ZappList_field_runStatus   T)r   defaultZnullZblankr   ZappList_field_accessStatusc             C   s   dd | j| j S )Nz%sz{0} {1})formatusername	client_id)self r   ;G:\easytimepro\master/mysite/mobile\models\model_applist.py__str__   s    zAppList.__str__c       
      C   s   | j tjkrHddlm} ddlm} | }|| j|dd}||}|S | j tj	krddl
m} |tjd}	|	j| j||d}|S d S )	Nr   )Message)get_apn_connectionr   )tokensZalertZbadge)FCMNotification)Zapi_key)Zregistration_idZmessage_titleZmessage_body)client_categorycZIOSZ
apnsclientr   Zmysite.mobile.utilsr   device_tokensendZANDROIDZpyfcmr   ZANDROID_SERVER_KEYZnotify_single_device)
r   titlemessager   r   Zsrvmsgresultr   Zpush_servicer   r   r   delivery_message   s    

zAppList.delivery_messagec             C   s   | j r
dS dS d S )Nr   r   )r   )r   r   r   r   get_notification_status(   s    zAppList.get_notification_statusc               @   s    e Zd ZdZdZedZeZdS )zAppList.Metamobile)deleteZapp_model_appListN)__name__
__module____qualname__Z	app_labelZdefault_permissions_r   Zverbose_name_pluralr   r   r   r   Meta0   s   r)   N)r%   r&   r'   r   Z	CharFieldr(   r   ZDateTimeFieldZ
login_timeZlast_activetokenZ	TextFieldr   r   ZSmallIntegerFieldr   ZCLIENT_CATEGORYr   ZACTIVE_STATUSZactiveZENABLE_STATUSZenabler   r!   r"   propertyZnotification_statusr)   r   r   r   r   r      s"   


r   N)Z	django.dbr   Zdjango.utils.translationr   r(   Zmysite.mobiler   r   Z!mysite.admin.abstract_cloud_modelr   r   r   r   r   r   <module>   s   