
    |j                        d dl mZ d dlZd dlmZ d dlmZ d dlmZ  e         ee	      j                         j                  j                  ZddZddZ ed	       G d
 d             ZddZ e       Zy)    )annotationsN)	dataclass)Path)load_dotenvc                t    t        j                  |       xs dj                         }|st        d|        |S )N zMissing required env variable: )osgetenvstripRuntimeError)namevalues     3/var/www/abs-group.kazgame-control.su/app/config.py	_requiredr      s8    YYt_"))+E<TFCDDL    c                2    | j                  d      r| S |  dS )N/)endswith)urls    r   _normalize_webhook_urlr      s    ,,s#32C52r   T)frozenc                      e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   dZded<   dZded<   dZded<   dZded<   dZ	ded<   ddZ
y)Configstrbitrix_webhook_urlspreadsheet_id
sheet_namer   google_service_account_pathoutgoing_webhook_tokenintportiR  entity_type_id>   B   D   ztuple[int, ...]category_idsNzdict[int, str] | Nonecategory_namesufCrm38_1786016637295cost_article_fieldufCrm38_1786016654344comment_fieldu   Удаленоdeleted_statusc                T    | j                   t        j                  | ddddd       y y )Nr(   u!   Служебные запискиu   Счета на оплатуu   Командировочныеr#   )r(   object__setattr__)selfs    r   __post_init__zConfig.__post_init__(   s5    & ;68 'r   )returnNone)__name__
__module____qualname____annotations__r"   r'   r(   r*   r,   r-   r2    r   r   r   r      sg    O!%%
INC$0L/0,0N)0550M30*NC*
r   r   c                    t        j                  d      xs dj                         } t        |       }|j	                         s	t
        |z  }t        t        t        d            t        d      t        j                  d      xs dj                         xs d|t        j                  d      xs dj                         t        t        j                  d	      xs d
j                         xs d
            S )NGOOGLE_SERVICE_ACCOUNT_PATHz"./credentials/service-account.jsonBITRIX_WEBHOOK_URLSPREADSHEET_ID
SHEET_NAMEu   СнабженияOUTGOING_WEBHOOK_TOKENr   PORT3000)r   r   r   r   r   r!   )
r	   r
   r   r   is_absoluteROOT_DIRr   r   r   r    )sa_pathpaths     r   load_configrF   5   s    yy67_;_ffhG=D$1)<P2QR !12IIl+C/CJJLdPd$( "		*B C IrPPR"))F#-v446@&A r   )r   r   r3   r   )r   r   r3   r   )r3   r   )
__future__r   r	   dataclassesr   pathlibr   dotenvr   __file__resolveparentrC   r   r   r   rF   configr9   r   r   <module>rO      sm    " 	 !   >!!#**113 $  6  
r   