wo4hddlZddlZddlmZmZddlmZddlmZGddZ GddeZ Gd d eZ dS) N)ConfigCore)CachedConfigReader)antivirus_modec eZdZedZeddZeddZedZedZedZ ed Z ed Z ed Z edd Z eddZeddZdS)Schemacd|idS)Ndict)typeschemadefault)datas T/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/contracts/hooks.pyr z Schema.dict s   Nc$dddi|rd|inidgdS)Nlistr stringregexFr r nullabler r)rs rlist_of_stringszSchema.list_of_stringss?',4GU##"   rTcB|rdnd}t|S)Nz^.+@(.+\.)+.+|default$z^.+@(.+\.)+.+$)rr)default_enabledrs rlist_of_emailszSchema.list_of_emailss.*9 O % %>O %%e,,,rcddtdddiS)Nperiodinteger)r coerceminr )intrrrrz Schema.period%s' !   rc d|dS)Nr)r rrrs rrz Schema.string0s    rcddddiS)NenabledbooleanF)r r rrrrr&zSchema.enabled7s! !   rcdtitdti|rtniiS)NADMIN admin_emails)rr r&rrrs radminz Schema.admin@sn V[[nn&&"F$9$9$;$;+18v}}b  rcdtitdtdi|rtniiS)NSCRIPTscriptsz^\/.+$)rr r&rrr+s rscriptz Schema.scriptLsp fkknn&&v55i@@+18v}}b  rcdtit|rtniiS)NUSER)rr r&rr+s ruserz Schema.userXsQ FKKnn&&*08v}}b  rFcltit|SNr+)rr r0r+s r target_scriptzSchema.target_scriptcs3{{ --v-..    rctit|t|Sr5rr r,r0r+s rtarget_admin_and_scriptzSchema.target_admin_and_scriptksI{{ ,,f,-- --v-..    rctit|t|Sr5r8r+s r target_allzSchema.target_alltsK{{ ,,f,-- --v-..    r)N)T)F)__name__ __module__ __qualname__ staticmethodr rrrrr&r,r0r3r6r9r;rrrrr so  \     \  ---\-   \   \   \    \     \    \    \    \    \   rrceZdZdZdZdS)HooksConfigReader_imunifyctj|jdtj|jdt j|jjdS)Nir)oschmodpathchowngrpgetgrnam GROUP_NAMEgr_gid)selfs r _post_writezHooksConfigReader._post_writesA E""" As|DO<<CDDDDDrN)r<r=r>rJrMrrrrArAs-JEEEEErrActeZdZejejejffd Z dZ dZ xZ S) HooksConfigc  tjrttdddddtdddttdttdd dgd ttd ttd tttttd id ntttttttdid}t ||t|dS)NF)rrT)r r rr$)default_emailsnotify_from_emaillocaler)usernameemailsrSrr+)REALTIME_MALWARE_FOUNDUSER_SCAN_MALWARE_FOUNDSCRIPT_BLOCKEDUSER_SCAN_STARTEDCUSTOM_SCAN_STARTEDUSER_SCAN_FINISHEDCUSTOM_SCAN_FINISHEDCUSTOM_SCAN_MALWARE_FOUND)r,usersrulesr )rWrYrZr[r\r])r_r )rFvalidation_schema config_reader) rdisabledrr rrr9r;r6super__init__rA)rLrFr` __class__s rrdzHooksConfig.__init__s`d&]; *0*?*?,1+@++%-'+(,.. #)---">">    #$kk(. u (E(E&,&;&;&=&=&,mmTm&B&B!%!   #::$:GG393D3D3F3F*0*H*H#'+I++.4-A-A-C-C/5/C/C/E/E.4.B.B.D.D060D0D0F0F"::<<$Y- - - ` 393G3G3I3I-3-A-A-C-C/5/C/C/E/E.4.B.B.D.D060D0D0F0F5;5I5I5K5K     a | /+D11      rcZ|}|dd|SNr^)config_to_dictpoprLrs rgetzHooksConfig.gets,""$$ $ rc\|dd||dSrg)ridict_to_configrjs rupdatezHooksConfig.updates0 $ D!!!!!r) r<r=r>rDrFjoinrGLOBAL_CONFDIRHOOKS_CONFIGFILENAMErdrkrn __classcell__)res@rrOrOs{7<< 3T5NOOE E E E E E N """""""rrO) rHrD defence360agent.contracts.configrr)defence360agent.contracts.config_providerrdefence360agent.utilsrrrArOrrrrvs 99999999HHHHHH000000s s s s s s s s lEEEEE*EEEO"O"O"O"O"&O"O"O"O"O"r