w"ddlZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlmZmZdd lmZdd lmZdd lmZdd lmZdd lmZddlmZmZm Z m!Z!m"Z"ddl#m$Z$ej%e&Z'dZ(GddeeZ)dS)N)Path)IAIDTokenError)APIError) EventsAPI)CoreIContactMessageType) MessageType) MessageSink MessageSource)TheSink)IContactThrottle)cPanel)Plesk) HostingPanel) await_forcreate_task_and_log_exceptionsrecurring_checkretry_onScope)DAYcbKtd||tddS)Nz[Can't get recommendations for the dashboard due to iaid token error, reason: %s. Attempt %sdseconds)loggerwarningr)eis \/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins/icontact_sender.pyasync_log_on_errorr #s@ NN 3   cceZdZejjZejZ fdZ dZ dddZ de fdZdZeeed d d e eeed d e defdZeedZxZS)IContactSenderctj|i|g|_ttjdz |_dS)Nicontact_generic_notifications)super__init___tasksrrTMPDIR_notification_flag_path)selfargskwargs __class__s rr'zIContactSender.__init__1sG$)&)))    @ @ $$$r!c KdSN)r+loops r create_sinkzIContactSender.create_sink8s  r!Nuserc|K|dStj|||sdS|jtj||d{V}|rmtj||tj|ttj |}|j |d{VdSdS)Nr4) message_typeparamsr5)r7 timestamp template_args) r may_be_notified_panelnotifyrGENERICrefreshr IContactSentinttime_sinkprocess_message)r+r7r8 period_limitr5r: sent_messages r_send_icontact_messagez%IContactSender._send_icontact_message;s    F/       F"k00,41         ;  $\ = = = =&3)dikk**+L *,,\:: : : : : : : : : : ; ;r!sinkcK||_t|_|jjtjt jfvrt ||jg|_dSdSr0) rCrr<NAMErrrgeneric_notificationsr()r+r2rHs r create_sourcezIContactSender.create_sourceYs[ "nn ;  UZ8 8 8.$4DKKK 9 8r!c~K|jD]}|tj|jddid{VdS)Nreturn_exceptionsT)r(cancelasynciogather)r+tasks rshutdownzIContactSender.shutdowncsUK  D KKMMMMndkBTBBBBBBBBBBBr! rT)on_error max_triessilentlogreturnc Kg}|jr;|jjtzt jkr5t jd{V}|jdd|S)NiT)modeexist_ok) r*existsstatst_mtimerrBr notificationtouch)r+ notificationss rget_notificationsz IContactSender.get_notificationshs ,3355 J,1133>2    r!)__name__ __module__ __qualname__r ProcessingOrder ICONTACT_SENTPROCESSING_ORDERrAV_IM360SCOPEr'r3rGr rLrSrrrrrr listrdrrrK __classcell__)r.s@rr#r#-sQ"2@ NE         ;;;;;<gCCC X2&&&  X#       _Sr!r#)*rPloggingrBpathlibrdefence360agent.internals.iaidrdefence360agent.api.serverr!defence360agent.api.server.eventsr defence360agent.contracts.configrr"defence360agent.contracts.messagesr !defence360agent.contracts.pluginsr r "defence360agent.internals.the_sinkr defence360agent.model.icontactr $defence360agent.subsys.panels.cpanelr#defence360agent.subsys.panels.pleskr+defence360agent.subsys.panels.hosting_panelrdefence360agent.utilsrrrrrdefence360agent.utils.commonr getLoggerrprr r#r1r!rrs 999999//////777777;:::::766666;;;;;;777777555555DDDDDD-,,,,,  8 $ $ddddd[-dddddr!