
    PIit                     f    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ 	  G d dee      Zy	)
    )AbstractObject)AbstractCrudObject)ObjectParser)FacebookRequest)TypeChecker)CustomAudienceMixinc                       e Zd Zd{ fd	Z G d dej
                        Z G d d      Z G d d      Z G d d	      Z G d
 d      Z	 G d d      Z
 G d d      Z G d d      Zed        Zd|dZd|dZd|dZd|dZd|dZd|dZd|dZd|dZd|dZd|dZd|dZd|dZd|dZd|d Zd|d!Zd|d"Zi d#d$d%d&d'd&d(d$d)d*d+d$d,d$d-d&d.d/d0d$d1d2d3d4d5d6d7d&d8d$d9d2d:d;i d<d;d=d;d>d;d?d6d@dAdBd$dCd/dDd$dEdFdGd&dHdIdJd$dKdAdLd&dMdNdOd$dPd$i dQd$dRd&dSdTdUd$dVdNdWdNdXdNdYd6dZdNd[dd\dd]d$d^d_d`d$dad;dbd$dcddi dedfdgd$dhd$didfdjdkdldmdnd$dodNdpd$dqd;drd$dsdtdudvdwd;dxd6dyd$Zedz        Z  xZ!S )}CustomAudiencec                 >    d| _         t        t        |   |||       y )NT)_isCustomAudiencesuperr
   __init__)selffbid	parent_idapi	__class__s       x/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/adobjects/customaudience.pyr   zCustomAudience.__init__   s    !%nd,T9cB    c                      e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEyD)ECustomAudience.Field
account_idapproximate_count_lower_boundapproximate_count_upper_boundcustomer_file_sourcedata_sourcedata_source_types)datafile_custom_audience_uploading_statusdelete_timedelivery_statusdescriptionexcluded_custom_audiencesexternal_event_source!fields_violating_integrity_policyhousehold_audienceidincluded_custom_audiencesis_eligible_for_sac_campaignsis_householdis_snapshotis_value_basedlookalike_audience_idslookalike_specnameoperation_statusopt_out_linkowner_business page_deletion_marked_delete_timepermission_for_actionspixel_idregulated_audience_specretention_daysrev_share_policy_idrulerule_aggregationrule_v2seed_audiencesharing_statussubtypetime_content_updatedtime_createdtime_updatedallowed_domainsassociated_audience_idclaim_objectivecontent_type	countriescreation_params
dataset_idenable_fetch_or_createevent_source_groupevent_sources
exclusionsfacebook_page_idinclusionOperator
inclusionslist_of_accountsmarketing_message_channelsorigin_audience_idparent_audience_idpartner_reference_keyprefillproduct_set_idsubscription_infouse_for_productsuse_in_campaignsvideo_group_ids"whats_app_business_phone_number_idN)F__name__
__module____qualname__r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   inclusionoperatorrN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ    r   r   Fieldr      sr   !
(G%(G%5#/4_1#+#$?! 7,O)1$?!(G%%#)!9)-%)+M(!9";)3-')5%%+!9+%	+!
!91'!
-/!
-%A"11 7)/--+-Q*r   r`   c                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
CustomAudience.ClaimObjectiveAUTOMOTIVE_MODELCOLLABORATIVE_ADSHOME_LISTINGMEDIA_TITLEPRODUCTTRAVELVEHICLEVEHICLE_OFFERN)r[   r\   r]   automotive_modelcollaborative_adshome_listingmedia_titleproducttravelvehiclevehicle_offerr_   r   r   ClaimObjectiverb   d   s,    -/%#'r   rs   c                   <    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZy)CustomAudience.ContentTyperc   DESTINATIONFLIGHTGENERICre   HOTELLOCAL_SERVICE_BUSINESSrf   OFFLINE_PRODUCTrg   ri   rj   N)r[   r\   r]   rk   destinationflightgenericrm   hotellocal_service_businessrn   offline_productro   rq   rr   r_   r   r   ContentTyperu   n   s@    -#%!9#+'r   r   c                       e Zd ZdZdZdZy)!CustomAudience.CustomerFileSourceBOTH_USER_AND_PARTNER_PROVIDEDPARTNER_PROVIDED_ONLYUSER_PROVIDED_ONLYN)r[   r\   r]   both_user_and_partner_providedpartner_provided_onlyuser_provided_onlyr_   r   r   CustomerFileSourcer   |   s    )I& 71r   r   c                       e Zd ZdZdZy)CustomAudience.SubscriptionInfo	MESSENGERWHATSAPPN)r[   r\   r]   	messengerwhatsappr_   r   r   SubscriptionInfor      s    	r   r   c                   X    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZy)CustomAudience.SubtypeAPPBAG_OF_ACCOUNTSBIDDINGCLAIMCUSTOM
ENGAGEMENT	EXCLUSIONFOX	LOOKALIKEMANAGEDMEASUREMENTMESSENGER_SUBSCRIBER_LISTOFFLINE_CONVERSIONPARTNERPRIMARYREGULATED_CATEGORIES_AUDIENCESTUDY_RULE_AUDIENCEVIDEOWEBSITEN)r[   r\   r]   appbag_of_accountsbiddingclaimcustom
engagement	exclusionfox	lookalikemanagedmeasurementmessenger_subscriber_listoffline_conversionpartnerprimaryregulated_categories_audiencestudy_rule_audiencevideowebsiter_   r   r   Subtyper      se    +!
		#$?!1(G%3r   r   c                       e Zd ZdZdZy)CustomAudience.UseForProductsADSMARKETING_MESSAGESN)r[   r\   r]   adsmarketing_messagesr_   r   r   UseForProductsr      s    1r   r   c                       e Zd ZdZdZy)CustomAudience.ActionSourcePHYSICAL_STOREr   N)r[   r\   r]   physical_storer   r_   r   r   ActionSourcer      s    )r   r   c                      y)Ncustomaudiencesr_   )clss    r   get_endpointzCustomAudience.get_endpoint   s     r   c                 ^    ddl m}  || j                  |      j                  ||||||      S )Nr   	AdAccount)r   r   )%facebook_business.adobjects.adaccountr   _apicreate_custom_audience)	r   r   fieldsparamsbatchsuccessfailurependingr   s	            r   
api_createzCustomAudience.api_create   s6    CTYYY7NNvW]_dfmovx  A  	Ar   c                 p   ddl m} ||||j                  d       i }i }	t        | d   dd| j                  t        ||	      t        dt        |       	      }
|
j                  |       |
j                  |       ||
j                  |||
       |
S |r|
S | j                          |
j                         S )Nr   	api_utils:`success` and `failure` callback only work for batch call.r&   DELETE/NODEreuse_objectnode_idmethodendpointr   param_checkertarget_classapi_typeresponse_parserr   r   facebook_business.utilsr   warningr   r   r   r   r   
add_params
add_fieldsadd_to_batchassure_callexecuter   r   r   r   r   r   r   r   param_typesenumsrequests              r   
api_deletezCustomAudience.api_delete   s    5=g1W5H


X
Y

!J		%k59+(d;	
 	6"6"   INN??$$r   c                 z   ddl m} ||||j                  d       ddddd}i }	t        | d   dd	| j                  t        ||	      t        d
t        |             }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r   r   stringlist<string>)ad_account_idspecial_ad_categoriesspecial_ad_category_countriestarget_countriesr&   GETr   r   r   r   r   r   r   r   r   r   r   r
   r   r   r   r   r   r   r   s              r   api_getzCustomAudience.api_get   s    5=g1W5H


X
Y%%3-; .	

!J		%k59'(d;	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       i dddddd	d
dddddddddddddddddddddddddddddddddd}t        j                  j
                  j                         t        j                  j
                  j                         t        j                  j
                  j                         d}	t        | d    d!d"| j                  t        ||	      t        d#t        | $      %      }
|
j                  |       |
j                  |       ||
j                  |||&       |
S |r|
S | j!                          |
j#                         S )'Nr   r   r   rA   r   rC   claim_objective_enumrD   content_type_enumrE   r   r   customer_file_source_enumr!   rH   boolrI   rJ   	list<map>rK   list<Object>rM   rN   r-   r.   r0   rR   unsigned intrU   )r6   r7   r8   r9   tagsrX   )r  r  r  r&   POSTr   r   r   r   r   )r   r   r   r
   rs   __dict__valuesr   r   r   r   r   r   r   r   r   r   r   r   s              r   
api_updatezCustomAudience.api_update   s   5=g1W5H


X
Y
~
5
 /
 	

 #$?
 8
 %f
 !(
 [
 .
  
 .
 h
 H
 H
  !.!
" h#
$ -#1 (" &/
4 %3$A$A$J$J$Q$Q$S!/!;!;!D!D!K!K!M)7)J)J)S)S)Z)Z)\

 "J		%k59'(d;	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddi}i }	t        | d   dd| j                  t        ||	      t        d	t        t        | j                  
            }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r   r   
adaccountsr   r&   r   /adaccountsEDGEr   r   r   r   r   r   s              r   delete_ad_accountsz!CustomAudience.delete_ad_accounts$  s    5=g1W5H


X
Y.

!J"		%k59+(6HdiiX	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddi}	i }
t        | d   dd	| j                  t        |	|
      |d
t        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r   r   r   permissionsr   r&   r   r  r  r  r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   s               r   get_ad_accountszCustomAudience.get_ad_accountsC  s    5=g1W5H


X
YC8

!J"		%k59"(iTYYO	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddddd}i }	t        | d   d	d
| j                  t        ||	      t        dt        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r   r   r   r   r  )r  r  relationship_typereplacer&   r  r  r  r  r   r   r   r   s              r   create_ad_accountz CustomAudience.create_ad_accountc  s    5=g1W5H


X
Y(#!/	

!J"		%k59'(n$))T	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddd}	i }
t        | d   dd	| j                  t        |	|
      |d
t        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r   r   )Adr   )effective_statusstatusr&   r   z/adsr  r  r   r   )r   r   r   facebook_business.adobjects.adr  r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r  r   r   r   s               r   get_adszCustomAudience.get_ads  s    5=g1W5H


X
Y5 .$

!J		%k59(bdiiH	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddddddd}	i }
t        | d   d	d
| j                  t        |	|
      |dt        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r   r   )CustomAudienceHealthr   r	  )calculated_dateprocessed_datevalue_aggregation_durationvalue_countryvalue_currencyvalue_versionr&   r   z/healthr  r  r   r   )r   r   r   0facebook_business.adobjects.customaudiencehealthr#  r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r#  r   r   r   s               r   
get_healthzCustomAudience.get_health  s    5=g1W5H


X
YY'&*8%&+

!J		%k59-(6JPTPYPYZ	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddi}	i }
t        | d   dd	| j                  t        |	|
      |d
t        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r   r   )CustomAudienceSaltsr   r   r&   r   /saltsr  r  r   r   )r   r   r   /facebook_business.adobjects.customaudiencesaltsr-  r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r-  r   r   r   s               r   	get_saltszCustomAudience.get_salts  s    5=g1W5H


X
YWn

!J		%k59,(6ItyyY	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       dddd}i }	t        | d   dd	| j                  t        ||	      t        d
t        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r   r   r   datetime)salt
valid_fromvalid_tor&   r  r.  r  r  r   r   r   r   s              r   create_saltzCustomAudience.create_salt  s    5=g1W5H


X
Y$"


!J		%k59'(n$))T	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} ddi}	i }
t        | d   dd	| j                  t        |	|
      |d
t        || j                              }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r   r   )CustomAudienceSession
session_idr	  r&   r   z	/sessionsr  r  r   r   )r   r   r   1facebook_business.adobjects.customaudiencesessionr8  r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r8  r   r   r   s               r   get_sessionszCustomAudience.get_sessions  s    5=g1W5H


X
Y[.

!J 		%k59.(6KQUQZQZ[	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       ddlm} i }	i }
t        | d   dd| j                  t        |	|
      |dt        || j                  	      
      }|j                  |       |j                  |       ||j                  |||       |S |r|S | j                          |j                         S )Nr   r   r   )CustomAudiencesharedAccountInfor&   r   z/shared_account_infor  r  r   r   )r   r   r   ;facebook_business.adobjects.customaudiencesharedaccountinfor=  r   r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r=  r   r   r   s               r   get_shared_account_infoz&CustomAudience.get_shared_account_info,  s    5=g1W5H


X
Yo

!J+		%k598(6U[_[d[de	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       dddd}i }	t        | d   dd	| j                  t        ||	      t        d
t        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r   r   r   Object	namespacepayloadsessionr&   r   /usersr  r  r   r   r   r   s              r   delete_userszCustomAudience.delete_usersK  s    5=g1W5H


X
Y!


!J		%k59+(6HdiiX	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       dddd}i }	t        | d   dd	| j                  t        ||	      t        d
t        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r   r   r   rA  rB  r&   r  rF  r  r  r   r   r   r   s              r   create_userzCustomAudience.create_userl  s    5=g1W5H


X
Y!


!J		%k59'(n$))T	
 	6"6"   INN??$$r   c                    ddl m} ||||j                  d       dddd}i }	t        | d   dd	| j                  t        ||	      t        d
t        t        | j                              }
|
j                  |       |
j                  |       ||
j                  |||       |
S |r|
S | j                          |
j                         S )Nr   r   r   r   rA  rB  r&   r  z/usersreplacer  r  r   r   r   r   s              r   create_users_replacez#CustomAudience.create_users_replace  s    5=g1W5H


X
Y!


!J$		%k59'(n$))T	
 	6"6"   INN??$$r   r   r   r   intr   r   r   CustomAudienceDataSourcer   r   r   r    CustomAudienceStatusr!   r"   zlist<CustomAudience>r#   AdsPixelr$   r   r%   r&   r'   r(   r  r)   r*   r+   r,   r-   LookalikeSpecr.   r/   r0   r1   Businessr2   r3   AudiencePermissionForActionsr4   r5   r6   r7   r	  r8   r9   r:   r;   r<   CustomAudienceSharingStatusr=   r>   r?   r@   rA   rB   rC   rD   rE   rF   maprG   rH   rI   rJ   r  rK   r  rL   rM   rN   rO   zlist<unsigned int>rP   rA  rQ   rR   rS   rT   rU   rV   zlist<SubscriptionInfo>rW   zlist<UseForProducts>rX   rY   rZ   c                 d   i }t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j
                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   |S )Nrs   r   r   r   r   r   r   )
r
   rs   r  r  r   r   r   r   r   r   )r   field_enum_infos     r   _get_field_enum_infoz#CustomAudience._get_field_enum_info  s    ,:,I,I,R,R,Y,Y,[())7)C)C)L)L)S)S)U&0>0Q0Q0Z0Z0a0a0c,-.<.M.M.V.V.].]._*+%3%;%;%D%D%K%K%M	",:,I,I,R,R,Y,Y,[()*8*E*E*N*N*U*U*W'r   )NNN)NNNNNF)"r[   r\   r]   r   r   r`   rs   r   r   r   r   r   r   classmethodr   r   r   r  r  r  r  r  r!  r+  r0  r6  r;  r?  rG  rI  rK  _field_typesrW  __classcell__)r   s   @r   r
   r
      s   
CCR$$ CRJ( (( (2 2
  *2 2 
 ! !A%< %D6%p%>%@ %D%B#%J%@%B%@%>%B%B%BDhD'D 	(D 		D
 	1D 	XD 	4XD 	uD 	1D 	xD 	$%;D 	 D 	,^D 	eD 	hD  	$%;!D" 	(#D$ 	%D& 	v'D( 	&)D* 	!.+D, 	/-D. 	/D0 	21D2 	3D4 	*5D6 	+E7D8 	!"@9D: 	H;D< 	"?=D> 	%?D@ 	~ADB 	CDD 	HEDF 	8GDH 	IDJ 	7KDL 	8MDN 	ODP 	QDR 	SDT 	>UDV 	!.WDX 	+YDZ 	[D\ 	X]D^ 	5_D` 	haDb 	!&cDd 	heDf 	gDh 	niDj 	HkDl 	XmDn 	noDp 	0qDr 	%hsDt 	huDv 	nwDx 	 yDz 	6{D| 	(}D~ 	5D@ 	2ADB 	FCDD 	>EDF 	-hGDLJ 	 	r   r
   N)*facebook_business.adobjects.abstractobjectr   .facebook_business.adobjects.abstractcrudobjectr   (facebook_business.adobjects.objectparserr   facebook_business.apir   facebook_business.typecheckerr   7facebook_business.adobjects.helpers.customaudiencemixinr   r
   r_   r   r   <module>ra     s1    F M A 1 5 Wggr   