o
    Ah
                     @   s  d dl mZmZmZmZ d dlmZ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mZmZ d dlmZ e Zejd	ed
ee	jeefdedefddZed	d dddddee	jeeeef	dededee dee dee dee fddZejded
ee	jeefdefddZejded
ee	jeefdededefddZ ed ee	jfdefd!d"Z!dS )#    )	APIRouterDependsHTTPExceptionBackgroundTasks)ListOptional   )database   )SaaSInvoiceCreateSaaSInvoiceDBSaaSInvoiceUpdate)create_invoice_servicelist_invoices_serviceget_invoice_serviceupdate_invoice_status_servicerun_due_reminders)get_current_userdetails/)response_modelpayloadbackground_tasksc              
      s@   z
t | ||I d H W S  ty } ztdt|dd }~ww )Ni  status_codedetail)r   	Exceptionr   str)r   r   dbusere r    8/var/www/html/moveengine/app/v1/routers/saas/invoices.pycreate_invoice   s   r"   
   Nskiplimitqstatuscreated_date_fromcreated_date_toc	           
   	      s(   | d}	t| |||||||	I d H S )N
account_id)getr   )
r$   r%   r&   r'   r(   r)   r   r   current_userr*   r    r    r!   list_invoices   s   
r-   z/{invoice_id}
invoice_idc              
      sF   t d z	t| |I d H W S  ty" } ztdt|dd }~ww )Nz Coming invoice id view page 5050  r   )printr   
ValueErrorr   r   )r.   r   r   r   r    r    r!   get_invoice/   s   r2   z/{invoice_id}/statusc              
      sB   zt | |||I d H W S  ty  } ztdt|dd }~ww )Nr/   r   )r   r1   r   r   )r.   r   r   r   r   r   r    r    r!   update_status;   s   r3   z
/remindersc                    s   t || I d H  ddiS )Nr'   zreminders scheduled)r   )r   r   r    r    r!   trigger_remindersH   s   r4   )"fastapir   r   r   r   typingr   r   r   r	   models.saas.invoicesr   r   r   services.saas.invoicesr   r   r   r   r   app.v1.dependencies.authr   routerpostget_mongo_dbr"   r+   intr   r-   r2   patchr3   r4   r    r    r    r!   <module>   sv   