+
    TŎi7                         R t ^ RIHt  ! R R]4      t ! R R]4      t ! R R]4      t ! R R	]4      t ! R
 R]4      t ! R R]4      t	 ! R R]4      t
 ! R R]4      t ! R R]4      t ! R R]4      tR# )z/
mixins contains attributes that objects share
)FacebookBadObjectErrorc                   .   a  ] tR t^t o RtRR ltRtV tR# )CanValidatezv
An instance of CanValidate will allow the ad objects
to call remote_validate() to verify if its parameters are valid
Nc                    T;'       g    / p\        V P                  4      p\        V P                  4      pR .VR&   V P                  VR7       W n        W0n        V # )validate_onlyexecution_optionsparams)dict_data_changessave)selfr	   
data_cachechanges_caches   &&  g/Users/ahmad/.openclaw/workspace/scripts/.venv/lib/python3.14/site-packages/facebook_business/mixins.pyremote_validateCanValidate.remote_validate   sT    2$**%
T]]+'6&7"#			 
%    )r   r   N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes____classdictcell____classdict__s   @r   r   r      s      r   r   c                   :   a  ] tR t^t o RtRR lt RR ltRtV tR# )
CanArchivez
An instance of CanArchive will allow the ad objects
to call remote_delete() to be deleted using a POST request against
the object's status field.
Nc                X    V P                  R V P                  P                  /VVVR7      # status)r	   batchfailuresuccess)remote_updateStatusdeletedr   r$   r%   r&   s   &&&&r   remote_deleteCanArchive.remote_delete&   s;     !!$++--  " 
 	
r   c                X    V P                  R V P                  P                  /VVVR7      # r"   )r'   r(   archivedr*   s   &&&&r   remote_archiveCanArchive.remote_archive9   s;     !!$++..  " 
 	
r    )NNN)	r   r   r   r   r   r+   r/   r   r   r   s   @r   r    r       s     


 
r   r    c                   4   a  ] tR t^Jt o Rt]R 4       tRtV tR# )CannotCreatezR
An instance of CannotCreate will raise a TypeError when calling
remote_create().
c                :    \        R V P                  ,          4      h)z Cannot create object of type %s.	TypeErrorr   clsargskwargss   &*,r   remote_createCannotCreate.remote_createQ       :S\\IJJr   r1   N)	r   r   r   r   r   classmethodr;   r   r   r   s   @r   r3   r3   J         
 K Kr   r3   c                   4   a  ] tR t^Vt o Rt]R 4       tRtV tR# )CannotDeletezR
An instance of CannotDelete will raise a TypeError when calling
remote_delete().
c                :    \        R V P                  ,          4      h)z Cannot delete object of type %s.r5   r7   s   &*,r   r+   CannotDelete.remote_delete]   r=   r   r1   N)	r   r   r   r   r   r>   r+   r   r   r   s   @r   rA   rA   V   r?   r   rA   c                   4   a  ] tR t^bt o Rt]R 4       tRtV tR# )CannotUpdatezR
An instance of CannotUpdate will raise a TypeError when calling
remote_update().
c                :    \        R V P                  ,          4      h)z Cannot update object of type %s.r5   r7   s   &*,r   r'   CannotUpdate.remote_updatei   r=   r   r1   N)	r   r   r   r   r   r>   r'   r   r   r   s   @r   rE   rE   b   r?   r   rE   c                   0    ] tR t^ntRt ! R R]4      tRtR# )HasObjectivezD
An instance of HasObjective will have an enum attribute Objective.
c                   j    ] tR t^ttRtRtRtRtRtRt	Rt
RtR	tR
tRtRtRtRtRtRtRtRtRtRtRtRtR# )HasObjective.ObjectiveAPP_INSTALLSBRAND_AWARENESSCONVERSIONSEVENT_RESPONSESLEAD_GENERATIONLINK_CLICKSLOCAL_AWARENESSMESSAGESOFFER_CLAIMSOUTCOME_APP_PROMOTIONOUTCOME_AWARENESSOUTCOME_ENGAGEMENTOUTCOME_LEADSOUTCOME_SALESOUTCOME_TRAFFIC
PAGE_LIKESPOST_ENGAGEMENTPRODUCT_CATALOG_SALESREACHSTORE_VISITSVIDEO_VIEWSr1   N)r   r   r   r   app_installsbrand_awarenessconversionsevent_responseslead_generationlink_clickslocal_awarenessmessagesoffer_claimsoutcome_app_promotionoutcome_awarenessoutcome_engagementoutcome_leadsoutcome_salesoutcome_traffic
page_likespost_engagementproduct_catalog_salesreachstore_visitsvideo_viewsr   r1   r   r   	ObjectiverK   t   so    %+#++#+% 7/1''+!
+ 7%#r   rv   r1   N)r   r   r   r   r   objectrv   r   r1   r   r   rI   rI   n   s    $F $ $r   rI   c                   0    ] tR t^tRt ! R R]4      tRtR# )	HasStatusz>
An instance of HasStatus will have an enum attribute Status.
c                   &    ] tR t^tRtRtRtRtRtR# )HasStatus.StatusACTIVEARCHIVEDDELETEDPAUSEDr1   N)	r   r   r   r   activer.   r)   pausedr   r1   r   r   r(   r{      s    r   r(   r1   N)r   r   r   r   r   rw   r(   r   r1   r   r   ry   ry      s      r   ry   c                   0    ] tR t^tRt ! R R]4      tRtR# )
HasBidInfoz@
An instance of HasBidInfo will have an enum attribute BidInfo.
c                   *    ] tR t^tRtRtRtRtRtRt	R# )HasBidInfo.BidInfoACTIONSCLICKSIMPRESSIONSr^   SOCIALr1   N)
r   r   r   r   actionsclicksimpressionsrs   socialr   r1   r   r   BidInfor      s    #r   r   r1   N)r   r   r   r   r   rw   r   r   r1   r   r   r   r      s    &  r   r   c                   4   a  ] tR t^t o RR ltRR ltRtV tR# )HasAdLabelsNc           
         V P                  4       P                  RV P                  4       R3RV Uu. uF  pRV/NK	  	  up/R7      # u upi )zpAdds labels to an ad object.
Args:
    labels: A list of ad label IDs
Returns:
    The FacebookResponse object.
POSTadlabelsidr   get_api_assuredcallget_id_assuredr   labelslabels   && r   
add_labelsHasAdLabels.add_labels   sZ     ##%**  "J/F CF5$F CD + 
 	
 !D   Ac           
         V P                  4       P                  RV P                  4       R3RV Uu. uF  pRV/NK	  	  up/R7      # u upi )zrRemove labels to an ad object.
Args:
    labels: A list of ad label IDs
Returns:
    The FacebookResponse object.
DELETEr   r   r   r   r   s   && r   remove_labelsHasAdLabels.remove_labels   sZ     ##%**  "J/F CF5$F CD + 
 	
 !Dr   r1   r   )r   r   r   r   r   r   r   r   r   s   @r   r   r      s     

 
r   r   c                   2   a a ] tR t^t oV 3R ltRtVtV ;t# )ValidatesFieldsc                   < WP                   P                  9  d(   \        R V: RV P                  P                  : 24      h\
        \        V `  W4       R# )"z" is not a valid field of N)Field__dict__r   	__class__r   superr   __setitem__)r   keyvaluer   s   &&&r   r   ValidatesFields.__setitem__   sE    jj)))(//1 
 /44S@r   r1   )r   r   r   r   r   r   r   __classcell__)r   r   s   @@r   r   r      s     A Ar   r   N)r   facebook_business.exceptionsr   rw   r   r    r3   rA   rE   rI   ry   r   r   r   r1   r   r   <module>r      s    @& "'
 '
V	K6 	K	K6 	K	K6 	K$6 $<
 
 
& 
8Af Ar   