File size: 1,163 Bytes
473a23b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
"""Seed a demo user with one pre-generated, partly-scored interview session.

Idempotent: running it twice won't create duplicate users or sessions. Invoked
by `make demo` so the app opens with something to look at immediately. The same
seed logic also powers the one-click "/demo" route (see app/services.py).

Demo credentials:  demo@interviewcoach.dev / demopass123
"""
from __future__ import annotations

from app import services
from app.database import SessionLocal, init_db
from app.llm import get_provider


def main() -> None:
    init_db()
    db = SessionLocal()
    try:
        existed = services.get_user_by_email(db, services.DEMO_EMAIL) is not None
        user = services.ensure_demo_user(db, get_provider())
        if existed:
            print(
                f"Demo user already present: {services.DEMO_EMAIL} / {services.DEMO_PASSWORD}"
            )
        else:
            print(f"Created demo user: {services.DEMO_EMAIL} / {services.DEMO_PASSWORD}")
        sessions = services.list_sessions(db, user)
        print(f"Demo has {len(sessions)} session(s) ready.")
    finally:
        db.close()


if __name__ == "__main__":
    main()