Add config settings for project
This commit is contained in:
parent
8d44f1cdfa
commit
53a7983497
5 changed files with 54 additions and 4 deletions
|
|
@ -19,6 +19,7 @@ $table("EXERCISE", "exercise"){
|
||||||
$column("NAME") VARCHAR
|
$column("NAME") VARCHAR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$table("APPROACH", "approach"){
|
$table("APPROACH", "approach"){
|
||||||
$pk("ID") INTEGER NOT NULL
|
$pk("ID") INTEGER NOT NULL
|
||||||
$fk("EXERCISE") INTEGER NOT NULL
|
$fk("EXERCISE") INTEGER NOT NULL
|
||||||
|
|
|
||||||
25
DOCS/deployment.puml
Normal file
25
DOCS/deployment.puml
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
@startuml
|
||||||
|
actor client
|
||||||
|
agent "web interface" as WEB_UI
|
||||||
|
agent "ios app" as IOS_APP
|
||||||
|
agent "telegram app" as TG_APP
|
||||||
|
|
||||||
|
frame docker:f1tness_db {
|
||||||
|
database "PostgreSQL" as db
|
||||||
|
}
|
||||||
|
|
||||||
|
frame docker:fastAPI {
|
||||||
|
node backend_API
|
||||||
|
node frontend_renderer
|
||||||
|
}
|
||||||
|
|
||||||
|
client <--> WEB_UI
|
||||||
|
client <--> IOS_APP
|
||||||
|
client <--> TG_APP
|
||||||
|
|
||||||
|
WEB_UI <--> frontend_renderer
|
||||||
|
IOS_APP <--> backend_API
|
||||||
|
TG_APP <--> backend_API
|
||||||
|
|
||||||
|
backend_API --> db
|
||||||
|
@enduml
|
||||||
|
|
@ -3,12 +3,36 @@ from typing import Optional
|
||||||
|
|
||||||
|
|
||||||
class Settings(BaseSettings):
|
class Settings(BaseSettings):
|
||||||
app_name: str = "Fitness Parser API"
|
# Base app settings
|
||||||
version: str = "0.1.0"
|
app_name: str = "F1tness Parser API"
|
||||||
|
version: str = "0.0.1"
|
||||||
debug: bool = False
|
debug: bool = False
|
||||||
|
|
||||||
|
# Postgres database settings
|
||||||
|
POSTGRES_DATABASE_URL: Optional[str] = None
|
||||||
|
POSTGRES_DATABASE_HOST: str = "localhost"
|
||||||
|
POSTGRES_DATABASE_PORT: int = 5432
|
||||||
|
POSTGRES_DATABASE_NAME: str = "f1tness_db"
|
||||||
|
POSTGRES_DATABASE_USER: str = "postgres"
|
||||||
|
POSTGRES_DATABASE_PASSWORD: str = "password"
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
env_file = ".env"
|
env_file = ".env"
|
||||||
|
|
||||||
|
def get_postgres_database_url(self, async_driver: bool = True) -> str:
|
||||||
|
"""Method for receiving relational database URL"""
|
||||||
|
|
||||||
|
# If POSTGRES_DATABASE_URL is somehow set in env file - return it
|
||||||
|
if self.POSTGRES_DATABASE_URL:
|
||||||
|
return self.POSTGRES_DATABASE_URL
|
||||||
|
|
||||||
|
driver = "postgresql+asyncpg" if async_driver else "postgresql"
|
||||||
|
return (
|
||||||
|
f"{driver}://{self.POSTGRES_DATABASE_USER}:{self.POSTGRES_DATABASE_PASSWORD}"
|
||||||
|
f"@{self.POSTGRES_DATABASE_HOST}"
|
||||||
|
f":{self.POSTGRES_DATABASE_PORT}/{self.POSTGRES_DATABASE_NAME}"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
settings = Settings()
|
settings = Settings()
|
||||||
|
|
||||||
|
|
|
||||||
0
migrations/__init__.py
Normal file
0
migrations/__init__.py
Normal file
0
migrations/runner.py
Normal file
0
migrations/runner.py
Normal file
Loading…
Reference in a new issue