
    <@g =                     ~    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mZmZ d dlmZmZmZ  G d d	e      Zy
)    )InvoiceLineItem)
ListObject)RequestOptions)StripeService)sanitize_id)DictListcast)LiteralNotRequired	TypedDictc                   H   e Zd Z G d de      Z G d de      Z G d de      Z G d de      Z G d	 d
e      Z G d de      Z	 G d de      Z
 G d de      Zi i fdedddedee   fdZi i fdedddedee   fdZi i fdededddedef
dZi i fdededddedef
dZy)InvoiceLineItemServicec                   Z    e Zd ZU ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   y)!InvoiceLineItemService.ListParamsending_beforeexpandlimitstarting_afterN)__name__
__module____qualname__r   str__annotations__r	   int     `/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_invoice_line_item_service.py
ListParamsr      sL    "3''	 DI&&	 3	 $C((	r   r   c                       e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ed   ed<   	 eee      ed<   	 ed   ed<   	 ed	   ed
<   	 ee   ed<   	 ed   ed<   	 ee   ed<   	 ed   ed<   	 ed   ed<   y)#InvoiceLineItemService.UpdateParamsamountdescriptiondiscountablez=Literal['']|List[InvoiceLineItemService.UpdateParamsDiscount]	discountsr   zLiteral['']|Dict[str, str]metadata)InvoiceLineItemService.UpdateParamsPeriodperiodprice,InvoiceLineItemService.UpdateParamsPriceData
price_dataquantityz>Literal['']|List[InvoiceLineItemService.UpdateParamsTaxAmount]tax_amountszLiteral['']|List[str]	tax_ratesN)	r   r   r   r   r   r   r   boolr	   r   r   r   UpdateParamsr!      s    C  	 !%%	 "$''	 K
 	
	 DI&&	 :;;	 GHH	 3	   NOO	 c""	 !L
 	
	 677	r   r0   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)+InvoiceLineItemService.UpdateParamsDiscountcoupondiscountpromotion_codeN)r   r   r   r   r   r   r   r   r   UpdateParamsDiscountr2   U   s6    C  	 c""	 $C((	r   r6   c                   $    e Zd ZU eed<   	 eed<   y)r'   endstartNr   r   r   r   r   r   r   r   UpdateParamsPeriodz)InvoiceLineItemService.UpdateParamsPeriodc   s    	 
	r   r;   c                   x    e Zd ZU eed<   	 ee   ed<   	 ed   ed<   	 eed      ed<   	 ee   ed<   	 ee   ed<   y	)
r*   currencyproduct7InvoiceLineItemService.UpdateParamsPriceDataProductDataproduct_data)	exclusive	inclusiveunspecifiedtax_behaviorunit_amountunit_amount_decimalN)r   r   r   r   r   r   r   r   r   r   r   UpdateParamsPriceDataz,InvoiceLineItemService.UpdateParamsPriceDatam   sv    	 S!!	 "E
 	
	 ";<
 	
	 !%%	 )--	r   rG   c                   p    e Zd ZU ee   ed<   	 eee      ed<   	 eeeef      ed<   	 eed<   	 ee   ed<   y)r?   r#   imagesr&   nametax_codeN)r   r   r   r   r   r   r	   r   r   r   r    UpdateParamsPriceDataProductDataz7InvoiceLineItemService.UpdateParamsPriceDataProductData   s`     %%	 DI&&	 d38n--	 		 c""	r   rL   c                   0    e Zd ZU eed<   	 ded<   	 eed<   y),InvoiceLineItemService.UpdateParamsTaxAmountr"   7InvoiceLineItemService.UpdateParamsTaxAmountTaxRateDatatax_rate_datataxable_amountNr:   r   r   r   UpdateParamsTaxAmountrN      s)    	 F	
	
 	r   rR   c                       e Zd ZU ee   ed<   	 ee   ed<   	 eed<   	 eed<   	 ee   ed<   	 eed<   	 ee   ed<   	 eed      ed	<   y
)rO   countryr#   display_namerB   jurisdiction
percentagestate)amusement_taxcommunications_taxgsthstigstjct	lease_taxpstqstretail_delivery_feerst	sales_taxservice_taxvattax_typeN)	r   r   r   r   r   r   r/   floatr   r   r   r    UpdateParamsTaxAmountTaxRateDataz7InvoiceLineItemService.UpdateParamsTaxAmountTaxRateData   s    S!!	 !%%	 	 	 "#&&	 	 3	 
 	
$	r   ri   invoiceparamsr   optionsreturnc                     t        t        t           | j                  ddj	                  t        |            d||            S )
        When retrieving an invoice, you'll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
        get/v1/invoices/{invoice}/linesrj   apibase_addressrk   rl   )r
   r   r   _requestformatr   selfrj   rk   rl   s       r   listzInvoiceLineItemService.list   sS     'MM.55'0 6  #  
 	
r   c                    K   t        t        t           | j                  ddj	                  t        |            d||       d{         S 7 w)ro   rp   rq   rr   rs   rt   N)r
   r   r   _request_asyncrw   r   rx   s       r   
list_asyncz!InvoiceLineItemService.list_async   sc      '%%.55'0 6  # &  
 	
s   AAA
	Aline_item_idr!   c                     t        t        | j                  ddj                  t	        |      t	        |            d||            S )  
        Updates an invoice's line item. Some fields, such as tax_amounts, only live on the invoice line item,
        so they can only be updated through this endpoint. Other fields, such as amount, live on both the invoice
        item and the invoice line item, so updates on this endpoint will propagate to the invoice item as well.
        Updating an invoice's line item is only possible before the invoice is finalized.
        post+/v1/invoices/{invoice}/lines/{line_item_id}rj   r~   rs   rt   )r
   r   rv   rw   r   ry   rj   r~   rk   rl   s        r   updatezInvoiceLineItemService.update  sW     MM=DD'0!,\!: E  #  	
 	
r   c                    K   t        t        | j                  ddj                  t	        |      t	        |            d||       d{         S 7 w)r   r   r   r   rs   rt   N)r
   r   r|   rw   r   r   s        r   update_asyncz#InvoiceLineItemService.update_async-  sg      %%=DD'0!,\!: E  # & 	 	
 	
	s   AA	A

	AN)r   r   r   r   r   r0   r6   r;   rG   rL   rR   ri   r   r   r   r   rz   r}   r   r   r   r   r   r   r      sN   Y $4y 4ly Y 	 <9 ,	 $19 1l 79"$	

 4
  	

 
O	$
2 79"$	

 4
  	

 
O	$
4 9;"$

 
 6	

  
 

> 9;"$

 
 6	

  
 

r   r   N)stripe._invoice_line_itemr   stripe._list_objectr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   typingr   r	   r
   typing_extensionsr   r   r   r   r   r   r   <module>r      s0    6 * 2 0 $ # # = =z
] z
r   