
    PIi7                     X    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      Z
y)	    )AbstractObject)AbstractCrudObject)ObjectParser)FacebookRequest)TypeCheckerc                   R    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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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)Ze	d*        Z xZS )-BusinessUserc                 >    d| _         t        t        |   |||       y )NT)_isBusinessUsersuperr	   __init__)selffbid	parent_idapi	__class__s       v/var/www/webhook.estador.de/web/meta/bot/venv/lib/python3.12/site-packages/facebook_business/adobjects/businessuser.pyr   zBusinessUser.__init__   s    #lD*4C@    c                   L    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y)BusinessUser.Fieldbusinessbusiness_role_requestemailfinance_permission
first_nameidip_permission	last_namemarked_for_removalnamepending_emailroletaskstitletwo_fac_statusinvited_user_typeN)__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&    r   r   Fieldr      sV     71!
'	1')/r   r+   c                       e Zd ZdZdZy)BusinessUser.InvitedUserTypeFBMWAN)r'   r(   r)   fbmwar*   r   r   InvitedUserTyper-   /   s    r   r2   c                   H    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y)BusinessUser.RoleADMINADS_RIGHTS_REVIEWERDEFAULT	DEVELOPEREMPLOYEEFINANCE_ANALYSTFINANCE_EDITFINANCE_EDITORFINANCE_VIEWMANAGEPARTNER_CENTER_ADMINPARTNER_CENTER_ANALYSTPARTNER_CENTER_EDUCATIONPARTNER_CENTER_MARKETINGPARTNER_CENTER_OPERATIONSNr'   r(   r)   adminads_rights_reviewervalue_default	developeremployeefinance_analystfinance_editfinance_editorfinance_viewmanagepartner_center_adminpartner_center_analystpartner_center_educationpartner_center_marketingpartner_center_operationsr*   r   r   Roler4   3   S    3!	+%)%5!9#= #= $?!r   rT   c                   H    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y)BusinessUser.Tasksr5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   NrD   r*   r   r   TasksrW   D   rU   r   rX   c                      y)Nbusiness_usersr*   )clss    r   get_endpointzBusinessUser.get_endpointV   s    r   c                 ^    ddl m}  || j                  |      j                  ||||||      S )Nr   )Business)r   r   )$facebook_business.adobjects.businessr^   _apicreate_business_user)	r   r   fieldsparamsbatchsuccessfailurependingr^   s	            r   
api_createzBusinessUser.api_create[   s0    ADIII6KKFTZ\acjlsu|}}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re   rf   )facebook_business.utilsrk   warningr   r`   r   r   r   
add_params
add_fieldsadd_to_batchassure_callexecuter   rb   rc   rd   re   rf   rg   rk   param_typesenumsrequests              r   
api_deletezBusinessUser.api_delete_   s    5=g1W5H


X
Y

!J		%k59+(d;	
 	6"6"   INN??$$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   rj   rl   r   GETrn   ro   rp   rr   rz   )r{   rk   r|   r   r`   r   r	   r   r}   r~   r   r   r   r   s              r   api_getzBusinessUser.api_get}   s    5=g1W5H


X
Y

!J		%k59%(d;	
 	6"6"   INN??$$r   c                 "   ddl m} ||||j                  d       dddddddddd	}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   rj   rl   boolstring	role_enumzlist<tasks_enum>)	clear_pending_emailr   r   r   r!   r"   skip_verification_emailr#   r$   )r   
tasks_enumr   POSTrn   ro   rp   rr   rz   )r{   rk   r|   r	   rT   __dict__valuesrX   r   r`   r   r   r}   r~   r   r   r   r   s              r   
api_updatezBusinessUser.api_update   s   5=g1W5H


X
Y#)"!%'-'

 &**33::<&,,55<<>
 "J		%k59%(d;	
 	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   rj   rl   )	AdAccountr   r   z/assigned_ad_accountsEDGErw   r   rr   rz   )r{   rk   r|   %facebook_business.adobjects.adaccountr   r   r`   r   r   r}   r~   r   r   r   )r   rb   rc   rd   re   rf   rg   rk   r   r   r   r   s               r   get_assigned_ad_accountsz%BusinessUser.get_assigned_ad_accounts   s    5=g1W5H


X
YC

!J,		%k59"(iTYYO	
 	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   rj   rl   )BusinessAssetGroupcontained_asset_idr   r   r   z/assigned_business_asset_groupsr   r   rr   rz   )r{   rk   r|   .facebook_business.adobjects.businessassetgroupr   r   r`   r   r   r}   r~   r   r   r   )r   rb   rc   rd   re   rf   rg   rk   r   r   r   r   s               r   "get_assigned_business_asset_groupsz/BusinessUser.get_assigned_business_asset_groups   s    5=g1W5H


X
YU (

!J6		%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   rj   rl   )Pagepageszlist<unsigned int>r   r   z/assigned_pagesr   r   rr   rz   )r{   rk   r|    facebook_business.adobjects.pager   r   r`   r   r   r}   r~   r   r   r   )r   rb   rc   rd   re   rf   rg   rk   r   r   r   r   s               r   get_assigned_pageszBusinessUser.get_assigned_pages  s    5=g1W5H


X
Y9)

!J&		%k59(d		J	
 	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   rj   rl   )ProductCatalogr   r   z/assigned_product_catalogsr   r   rr   rz   )r{   rk   r|   *facebook_business.adobjects.productcatalogr   r   r`   r   r   r}   r~   r   r   r   )r   rb   rc   rd   re   rf   rg   rk   r   r   r   r   s               r   get_assigned_product_catalogsz*BusinessUser.get_assigned_product_catalogs#  s    5=g1W5H


X
YM

!J1		%k59'(n$))T	
 	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   rj   rl   )WhatsAppBusinessAccountr   r   z$/assigned_whatsapp_business_accountsr   r   rr   rz   )r{   rk   r|   3facebook_business.adobjects.whatsappbusinessaccountr   r   r`   r   r   r}   r~   r   r   r   )r   rb   rc   rd   re   rf   rg   rk   r   r   r   r   s               r   (get_assigned_whats_app_business_accountsz5BusinessUser.get_assigned_whats_app_business_accountsB  s    5=g1W5H


X
Y_

!J;		%k590(6MSWS\S\]	
 	6"6"   INN??$$r   r   r^   r   BusinessRoleRequestr   r   r   r   r   r   r   r   r   r    r!   r"   r#   zlist<string>r$   r%   r&   zlist<InvitedUserType>c                    i }t         j                  j                  j                         |d<   t         j                  j                  j                         |d<   t         j
                  j                  j                         |d<   |S )Nr2   rT   rX   )r	   r2   r   r   rT   rX   )r[   field_enum_infos     r   _get_field_enum_infoz!BusinessUser._get_field_enum_infos  sk    -9-I-I-R-R-Y-Y-[)*"."3"3"<"<"C"C"E#/#5#5#>#>#E#E#G r   )NNN)NNNNNF)r'   r(   r)   r   r   r+   r2   rT   rX   classmethodr\   rh   r   r   r   r   r   r   r   r   _field_typesr   __classcell__)r   s   @r   r	   r	      s[   A0$$ 0$ @ @"@ @$    ~%<%<'%R%>%@%@%>%>J!6 	 	h	
 	h 	h 	 	X 	f 	 	 	 	 	 	(  	4!L$  r   r	   N)*facebook_business.adobjects.abstractobjectr   .facebook_business.adobjects.abstractcrudobjectr   (facebook_business.adobjects.objectparserr   facebook_business.apir   facebook_business.typecheckerr   r	   r*   r   r   <module>r      s+    F M A 1 5ddr   