U
    	hO                     @   sR   d dl Zd dlZd dlZd dlZd dlmZ d dlmZm	Z	 G dd dej
Z
dS )    N)settings)
migrationsmodelsc                   @   s  e Zd ZdZeejgZej	dde
jdddfde
jdddfd	e
jejd
ddd
dfde
jddddfde
jddddddgdddfde
jddddfde
jedd fd!e
jd"d#ejjd$ejjd%gd&fd'e
jd(d)ejjd*ejjd+gd&fd,e
jd"d-ejjd.ejjd/gd&fd0e
jd1ejj
jjd2ejd3fgd4d5dgd6d7ej	d8de
jdddfde
jdddfd	e
jejd
ddd
dfde
jd9dddfd:e
jd;d<d=d>d?d@dAdBgdCd"dfdDe
jddEdFdGfdHe
jdIdJfde
jdddKdfdLe
jedMd fdNe
jedOd fg
dPdQd:dge
jd:gdRdSe
jdgdTdSgdUd7ej	dVde
jdddfde
jdddfd	e
jejd
ddd
dfde
jdWdddfdXe
jd;d<d=d>d?d@dYdZd[g	d\d"dfde
jddd]dfd^e
jed_d fd`e
jd.daejjd*ejjdbgd&fdce
jdddddefdfe
j d*dgd fdhe
jdiejj
jjdjdkd3fdle
jdmejj
jjdjdnd3fgdodpdqdgd6d7ej	drde
jdddfde
jdddfd	e
jejd
ddd
dfdse
jdtdudvdwdxdydzgdd{d|dd}fd~e
jddFdfde
jdddFdGfde
jddJfde
jdeddfde
jej!j"j#dd fde
jddddefde
jd*dd fde
jdddfde
jddddGfdhe
jdejj
jjddkd3fdle
jdddejj
jj$ddndfgdrddgd6d7ej%de
jdgddSdej%de
jdgddSdej%de
jdXgddSdej%de
jdgddSdej%de
jdfgddSdej%de
jdhdsgddSdej%de
jdgddSdej%de
jdgddSdej%de
jdsgddSdgZ&dS )	MigrationTNotificationChannel
created_atz&Timestamp when this record was created)auto_now_add	help_text
updated_atz,Timestamp when this record was last modified)auto_nowr	   idFz!Unique identifier for this record)defaulteditabler	   primary_key	serializenamez0Human-readable name for the notification channeld   )r	   
max_lengthuniquechannel_type)telegramzTelegram Bot)emailEmail)webhookWebhook)slackSlack)discordDiscord)smsSMSzType of notification channel   )choicesr	   r   	is_activez+Whether this notification channel is active)db_indexr   r	   configurationz)Channel-specific configuration parameters)r   r	   
rate_limit   z%Maximum number of messages per minute   i  )r   r	   
validatorsretry_attempts   z.Number of retry attempts for failed deliveriesr   
   timeout_secondsz(Timeout for delivery attempts in seconds   i,  
created_byz*User who created this notification channelnotification_channels)r	   	on_deleterelated_nametozNotification ChannelzNotification Channels)verbose_nameverbose_name_pluralordering)r   fieldsoptionsNotificationTemplatez#Name for this notification templatetemplate_type)jingle_detectedzJingle Detected)ad_break_startedzAd Break Started)ad_break_endedzAd Break Ended)stream_startedzStream Started)stream_stoppedzStream Stopped)stream_errorzStream Error)system_alertzSystem Alert)health_checkzHealth Checkz2Type of notification this template is designed forsubject_templatez4Subject line template (used for email notifications)   )blankr	   r   message_templatez8Main message content template with variable placeholders)r	   z'Whether this template is active for use	variablesz-List of available variables for this templatechannel_typesz-List of compatible notification channel typeszNotification TemplatezNotification TemplatesZnotificatio_templat_5e0a58_idx)r7   r   Znotificatio_is_acti_b2a982_idx)r4   r5   r6   indexesNotificationRulezName for this notification rule
event_type)high_error_ratezHigh Error Rate)system_startupzSystem Startup)system_shutdownzSystem Shutdownz2Type of event that triggers this notification rulez(Whether this notification rule is active
conditionsz5Additional conditions that must be met for triggeringthrottle_minutesz4Minimum minutes between notifications from this rulei  last_triggeredz!When this rule was last triggered)rE   r	   nullpriorityz=Rule priority for ordering (higher numbers = higher priority)channelz*Default notification channel for this rulerulesz!notifications.notificationchanneltemplatez+Default notification template for this rulez"notifications.notificationtemplatezNotification RulezNotification Rulesz	-priorityNotificationstatus)activeActive)inactiveInactive)pendingPending)
processing
Processing)	completed	Completed)failedFailed)	cancelled	Cancelledr]   zCurrent status of this record)r"   r$   r   r	   r   	recipientz2Target recipient identifier (email, chat ID, etc.))r	   r   subjectzNotification subject linemessagezNotification message contentcontext_dataz%Variables used for template rendering)rE   r   r	   scheduled_atz%When this notification should be sentsent_atz(When this notification was actually sentdelivery_attemptsz Number of delivery attempts madeerror_messagez%Last error message if delivery failed)rE   r	   external_idz(External service message ID for trackingz(Notification channel to use for deliverynotificationsz+Template used to generate this notification)rE   r	   rR   r1   r2   r3   Notificationsz-scheduled_atZnotificationchannelZnotificatio_channel_e00152_idx)
model_nameindexZnotificatio_is_acti_06813e_idxZnotificationruleZnotificatio_event_t_d00530_idxZnotificatio_is_acti_52a6a1_idxZnotificatio_priorit_055737_idxnotificationZnotificatio_channel_dff6f6_idxZnotificatio_schedul_21ac35_idxZnotificatio_sent_at_265656_idxZnotificatio_status_d92267_idxN)'__name__
__module____qualname__initialr   swappable_dependencyr   AUTH_USER_MODELdependenciesCreateModelr   DateTimeField	UUIDFielduuiduuid4	CharFieldBooleanField	JSONFielddictPositiveIntegerFielddjangocorer)   MinValueValidatorMaxValueValidator
ForeignKeydbdeletionCASCADE	TextFieldlistIndexIntegerFieldutilstimezonenowSET_NULLAddIndex
operations r   r   N/var/www/html/JingleDetector/src/apps/notifications/migrations/0001_initial.pyr      s  
		
kr	
		X  g			


pw			  	


|             r   )django.core.validatorsr   django.db.models.deletiondjango.utils.timezoner   django.confr   	django.dbr   r   r   r   r   r   r   <module>   s   