Initial commit - Migrated to Dev environment
This commit is contained in:
58
backend/_legacy_backup/update_invitations.py
Executable file
58
backend/_legacy_backup/update_invitations.py
Executable file
@@ -0,0 +1,58 @@
|
||||
import asyncio
|
||||
import os
|
||||
from sqlalchemy.ext.asyncio import create_async_engine
|
||||
from sqlalchemy import text
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
raw_url = os.getenv("DATABASE_URL")
|
||||
if not raw_url:
|
||||
raw_url = "postgresql://admin:PASSWORD_111@postgres-db:5432/service_finder"
|
||||
DATABASE_URL = raw_url.replace("postgresql://", "postgresql+asyncpg://").replace("/service_finder_db", "/service_finder")
|
||||
|
||||
async def upgrade_invites():
|
||||
print(f"🔌 Kapcsolódás...")
|
||||
engine = create_async_engine(DATABASE_URL)
|
||||
|
||||
async with engine.begin() as conn:
|
||||
print("📨 Invitations (Meghívók) tábla létrehozása...")
|
||||
# Ez tárolja a függőben lévő meghívásokat
|
||||
await conn.execute(text("""
|
||||
CREATE TABLE IF NOT EXISTS data.invitations (
|
||||
id SERIAL PRIMARY KEY,
|
||||
email VARCHAR(255) NOT NULL,
|
||||
inviter_id INTEGER REFERENCES data.users(id), -- Ki hívta meg? (Cég)
|
||||
role VARCHAR(20) NOT NULL, -- Milyen szerepre? (MANAGER, DRIVER)
|
||||
access_level VARCHAR(20) DEFAULT 'FULL', -- A/B Sofőr szint
|
||||
token VARCHAR(100) UNIQUE NOT NULL, -- A titkos link kódja
|
||||
status VARCHAR(20) DEFAULT 'PENDING', -- PENDING, ACCEPTED, EXPIRED
|
||||
created_at TIMESTAMP DEFAULT NOW(),
|
||||
expires_at TIMESTAMP
|
||||
);
|
||||
"""))
|
||||
|
||||
print("🤝 Fleet Members (Többcéges tagság) tábla létrehozása...")
|
||||
# Ez teszi lehetővé, hogy valaki több céghez is tartozzon
|
||||
await conn.execute(text("""
|
||||
CREATE TABLE IF NOT EXISTS data.fleet_members (
|
||||
id SERIAL PRIMARY KEY,
|
||||
user_id INTEGER REFERENCES data.users(id), -- A Dolgozó
|
||||
owner_id INTEGER REFERENCES data.users(id), -- A Cég / Tulajdonos
|
||||
role VARCHAR(20) NOT NULL, -- FLEET_MANAGER, DRIVER
|
||||
joined_at TIMESTAMP DEFAULT NOW(),
|
||||
|
||||
-- Egy ember egy cégnél csak egyszer szerepelhet
|
||||
UNIQUE(user_id, owner_id)
|
||||
);
|
||||
"""))
|
||||
|
||||
# Takarítás: A régi 'parent_id' már nem kell, mert a fleet_members kiváltja
|
||||
# De biztonságból egyelőre csak NULL-ra állítjuk, nem töröljük az oszlopot
|
||||
# await conn.execute(text("UPDATE data.users SET parent_id = NULL;"))
|
||||
|
||||
print("✅ KÉSZ! A rendszer készen áll a biztonságos meghívókra.")
|
||||
await engine.dispose()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(upgrade_invites())
|
||||
Reference in New Issue
Block a user