o
    >jjr  ã                   @   s:   d dl mZ d dlmZ d dlmZ G dd„ dejƒZdS )é    )ÚValidationError)ÚMinValueValidator)Úmodelsc                       sÆ   e Zd Zejddd�Zejdd�Zejedƒfd�Z	ej
edd�Zej
edd�Zej
edd�Zejdd	�Zejddd
�Zejdd	�Zejdd�Zejdd�ZG dd„ dƒZdd„ Z‡ fdd„Z‡  ZS )ÚPeriodicTaské¿   T)Ú
max_lengthÚuniqueéÿ   )r   é   )Ú
validators)ÚdefaultÚblank)r   )Únullr   r   )Úauto_now_add)Úauto_nowc                   @   s   e Zd ZdZdS )zPeriodicTask.Meta©ÚnameN)Ú__name__Ú
__module__Ú__qualname__Úordering© r   r   úb/var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/mama_care_api/task_scheduler/models.pyÚMeta   s    r   c                 C   s   | j S )Nr   )Úselfr   r   r   Ú__str__   s   zPeriodicTask.__str__c                    sZ   t ƒ  ¡  i }t| jtƒsd|d< t| jtƒsd|d< t| jtƒs%d|d< |r+t|ƒ‚d S )Nz#Task arguments must be a JSON list.Úargsz-Task keyword arguments must be a JSON object.Úkwargsz#Task options must be a JSON object.Úoptions)	ÚsuperÚcleanÚ
isinstancer   Úlistr   Údictr   r   )r   Úerrors©Ú	__class__r   r   r       s   
ÿzPeriodicTask.clean)r   r   r   r   Ú	CharFieldr   ÚtaskÚPositiveIntegerFieldr   ÚintervalSecondsÚ	JSONFieldr"   r   r#   r   r   ÚBooleanFieldÚenabledÚDateTimeFieldÚ	lastRunAtÚPositiveBigIntegerFieldÚtotalRunCountÚcreatedDateÚupdatedDater   r   r    Ú__classcell__r   r   r%   r   r      s"    ÿr   N)Údjango.core.exceptionsr   Údjango.core.validatorsr   Ú	django.dbr   ÚModelr   r   r   r   r   Ú<module>   s    