o
    ȟ1i                     @   s   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
mZ eejj ZG dd deZe ZeejZe
dded	Zed
efddZdS )    )contextmanager)Path)BaseSettingsSettingsConfigDict)create_engine)sessionmakerSessionc                   @   sr   e Zd ZU eed< eed< eed< eed< eed< eed< eed< dZeed	< d
Zeed< eee	d ddZ
dS )Settingsdatabase_urlZproduct_keyZstripe_secret_keyZstripe_public_keyZstripe_success_urlZstripe_cancel_urlZstripe_webhook_url   reset_password_token_time_outzhttp://localhost:8000app_base_urlz.envzutf-8)env_fileZenv_file_encodingN)__name__
__module____qualname__str__annotations__r   intr   r   	BASE_PATHmodel_config r   r   /app/core/config.pyr	      s   
 r	   F)Z
autocommitZ	autoflushbindreturnc                  c   s(    t  } z
| V  W |   dS |   w )z:Dependency for creating a session with context management.N)SessionLocalclose)dbr   r   r   get_db   s
   r   N)
contextlibr   pathlibr   Zpydantic_settingsr   r   Z
sqlalchemyr   Zsqlalchemy.ormr   r   __file__parentabsoluter   r	   settingsr
   enginer   r   r   r   r   r   <module>   s    
