32 lines
1.2 KiB
Python
32 lines
1.2 KiB
Python
import asyncio
|
|
from sqlalchemy import text
|
|
from app.db.session import AsyncSessionLocal
|
|
|
|
async def setup_prerequisites():
|
|
print("--- Setting up Prerequisites ---")
|
|
async with AsyncSessionLocal() as session:
|
|
params = [
|
|
("auth_remember_me_days", '{"value": 30}'),
|
|
("auth_refresh_default_days", '{"value": 1}'),
|
|
("auth_password_strict", '{"value": true}')
|
|
]
|
|
|
|
for key, value in params:
|
|
# check if exists
|
|
res = await session.execute(text("SELECT key FROM system.system_parameters WHERE key = :key"), {"key": key})
|
|
if res.scalar():
|
|
await session.execute(
|
|
text("UPDATE system.system_parameters SET value = CAST(:value AS jsonb) WHERE key = :key"),
|
|
{"key": key, "value": value}
|
|
)
|
|
else:
|
|
await session.execute(
|
|
text("INSERT INTO system.system_parameters (key, value, is_active) VALUES (:key, CAST(:value AS jsonb), true)"),
|
|
{"key": key, "value": value}
|
|
)
|
|
await session.commit()
|
|
print("Prerequisites setup complete.\n")
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(setup_prerequisites())
|