o
    =i                     @  s   d Z ddlmZ ddlZddlZddlmZ ddlmZ ee	
 jd ZdZddddZd ddZd!ddZd"ddZd#ddZdS )$z6Tenant-aware storage helpers for wp_invoices_mail_app.    )annotationsN)Path)Any   
absolutemscontextdict[str, Any] | Nonereturnstrc                 C  s0   | pi  dpi }| dpt}t| ptS )Ntenant	tenant_id)getDEFAULT_TENANT_IDr
   strip)r   r   r    r   E/var/www/html/flask_server/apps/wp_invoices_mail_app/storage_paths.pyresolve_tenant_id   s   r   r   c                 C  s   t td d |  d S )Nstoragetenantswp_invoices_mail_app)r
   PROJECT_ROOT)r   r   r   r   get_tenant_mail_base_path   s   r   dict[str, Path]c                 C  s^   t t| }|d }|d }|d }|d }|||||fD ]	}tj|dd q|||||dS )Ninboxstaging	processedlogsT)exist_ok)baser   r   r   r   )r   r   osmakedirs)r   r   r   r   r   r   pathr   r   r   ensure_tenant_mail_paths   s   r"   filenamec                 C  s&   | pd dd dd}t|jpdS )Nunnamed/_\)replacer   stem)r#   valuer   r   r   safe_storage_stem,   s   r+   r!   r   payloadr   Nonec                 C  s.   | j jddd | jtj|ddddd d S )NT)parentsr   r   F)indentensure_asciizutf-8)encoding)parentmkdir
write_textjsondumps)r!   r,   r   r   r   
write_json1   s   r7   )N)r   r   r	   r
   )r   r
   r	   r
   )r   r
   r	   r   )r#   r
   r	   r
   )r!   r   r,   r   r	   r-   )__doc__
__future__r   r5   r   pathlibr   typingr   __file__resolver.   r   r   r   r   r"   r+   r7   r   r   r   r   <module>   s    


