Ë
    Æ—jî  ã                  ó\   — d dl mZ d dlmZ d dlmZ d dlmZmZ  G d„ de«      Z	 e	«       Z
y)é    )Úannotations)Úcached_property)Úmodel_validator)ÚBaseSettingsÚSettingsConfigDictc                  óÄ   — e Zd ZU 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Z
ded<   dZded<    edd¬«      Zedd„«       Z ed¬«      dd„«       Zy)ÚSettingsz=Odisha Fire & Emergency Services, Procurement Tracking SystemÚstrÚAPP_NAMEÚlocalÚENVIRONMENTú(change-this-secret-key-before-productionÚ
SECRET_KEYÚHS256Ú	ALGORITHMé   ÚintÚACCESS_TOKEN_EXPIRE_MINUTESz+http://localhost:4200,http://127.0.0.1:4200ÚBACKEND_CORS_ORIGINSúDmysql+pymysql://root:password@127.0.0.1:3306/procurement_tracking_dbÚDATABASE_URLi  ÚDATABASE_POOL_RECYCLE_SECONDSz.envzutf-8)Úenv_fileÚenv_file_encodingc                óœ   — | j                   j                  d«      D �cg c]#  }|j                  «       sŒ|j                  «       ‘Œ% c}S c c}w )NÚ,)r   ÚsplitÚstrip)ÚselfÚorigins     ú‡D:\Proc_Module\ProcurementBidTenderTrackingSystem\ProcurementBidTenderTrackingSystem-source copy\procurement\backend\app\core\config.pyÚcors_originszSettings.cors_origins   s?   € à-1×-FÑ-F×-LÑ-LÈSÔ-QÓdÑ-Q 6ÐU[×UaÑUaÕUc�—‘•Ð-QÑdÐdùÒds
   žA	´A	Úafter)Úmodec                óþ   — | j                   j                  «       dk7  r| S ddh}| j                  |v st        | j                  «      dk  rt	        d«      ‚| j
                  dk(  sd| j
                  v rt	        d«      ‚| S )	NÚ
productionr   z*replace-with-at-least-32-random-charactersé    zJProduction SECRET_KEY must be replaced with at least 32 random characters.r   ÚURL_ENCODED_PASSWORDzJProduction DATABASE_URL must be configured for the hosting MySQL database.)r   Úlowerr   ÚlenÚ
ValueErrorr   )r   Úplaceholder_secretss     r!   Úvalidate_production_settingsz%Settings.validate_production_settings   s…   € à×Ñ×!Ñ!Ó# |Ò3ØˆKà6Ø8ð
Ðð �?‰?Ð1Ñ1´S¸¿¹Ó5IÈBÒ5NÜÐiÓjÐjà×ÑÐ!gÒgØ%¨×):Ñ):Ñ:äÐiÓjÐjØˆó    N)Úreturnz	list[str])r/   z
'Settings')Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   r   r   r   r   r   r   r   Úmodel_configr   r"   r   r-   © r.   r!   r	   r	      sŽ   … ØS€HˆcÓSØ€K�ÓØ@€J�Ó@Ø€IˆsÓØ')Ð Ó)Ø MÐ˜#ÓMØ^€L�#Ó^Ø),Ð! 3Ó,á%¨vÈÔQ€Làòeó ðeñ ˜'Ô"òó #ñr.   r	   N)Ú
__future__r   Ú	functoolsr   Úpydanticr   Úpydantic_settingsr   r   r	   Úsettingsr5   r.   r!   Ú<module>r;      s'   ðÝ "Ý %å $ß >ôˆ|ô ñD ‹:�r.   