wo4hmddlZddlZddlZddlmZddlmZddlmZddl m Z ddl m Z m Z ddlmZddlmZmZdd lmZdd lmZdd lmZdd lmZdd lmZmZmZmZm Z ddl!m"Z"ej#e$Z%dZ&GddeeZ'dS)N)Path)IAIDTokenError)APIError) EventsAPI)CoreIContactMessageType) MessageType) MessageSink MessageSource)TheSink)IContactThrottle)cPanel) 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__0sG$)&)))    @ @ $$$r c KdSN)r*loops r create_sinkzIContactSender.create_sink7s  r Nuserc|K|dStj|||sdS|jtj||d{V}|rmtj||tj|ttj |}|j |d{VdSdS)Nr3) message_typeparamsr4)r6 timestamp template_args) r may_be_notified_panelnotifyrGENERICrefreshr IContactSentinttime_sinkprocess_message)r*r6r7 period_limitr4r9 sent_messages r_send_icontact_messagez%IContactSender._send_icontact_message:s    F/       F"k00,41         ;  $\ = = = =&3)dikk**+L *,,\:: : : : : : : : : : ; ;r sinkcK||_t|_|jjtjkrt ||jg|_dSdSr/)rBrr;NAMErrgeneric_notificationsr')r*r1rGs r create_sourcezIContactSender.create_sourceXsT "nn ; v{ * *.$4DKKK + *r c~K|jD]}|tj|jddid{VdS)Nreturn_exceptionsT)r'cancelasynciogather)r*tasks rshutdownzIContactSender.shutdownbsUK  D KKMMMMndkBTBBBBBBBBBBBr rT)on_error max_triessilentlogreturnc Kg}|jr;|jjtzt jkr5t jd{V}|jdd|S)NiT)modeexist_ok) r)existsstatst_mtimerrAr notificationtouch)r* notificationss rget_notificationsz IContactSender.get_notificationsgs ,3355 J,1133>2    r )__name__ __module__ __qualname__r ProcessingOrder ICONTACT_SENTPROCESSING_ORDERrAV_IM360SCOPEr&r2rFr rKrRrrrrrrlistrcrrrJ __classcell__)r-s@rr"r",sQ"2@ NE         ;;;;;<gCCC X2&&&  X#       _Sr r")(rOloggingrApathlibrdefence360agent.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.hosting_panelrdefence360agent.utilsrrrrrdefence360agent.utils.commonr getLoggerrorrr"r0r rrs 999999//////777777;:::::766666;;;;;;777777DDDDDD-,,,,,  8 $ $ddddd[-dddddr