|
8 | 8 | from starlette.templating import _TemplateResponse |
9 | 9 |
|
10 | 10 | from ttfd import crud |
11 | | -from ttfd.auth import current_user |
12 | | -from ttfd.context import user_context |
| 11 | +from ttfd.context import Context, user_context |
13 | 12 | from ttfd.deps import get_db |
14 | | -from ttfd.html_controllers import templates |
15 | | -from ttfd.models import User |
| 13 | +from ttfd.templates import templates |
16 | 14 |
|
17 | 15 | router = APIRouter() |
18 | 16 |
|
19 | 17 |
|
20 | 18 | @router.get("/me", response_model=None) |
21 | 19 | def me( |
22 | 20 | request: Request, |
23 | | - user: Annotated[User | None, Depends(current_user)], |
| 21 | + context: Annotated[Context, Depends(user_context)], |
24 | 22 | ) -> _TemplateResponse | RedirectResponse: |
25 | 23 | """Display the user info page for a logged in user.""" |
26 | | - if user is None: |
| 24 | + if "user" not in context: |
27 | 25 | return RedirectResponse("/") |
28 | 26 | return templates.TemplateResponse( |
29 | | - request=request, name="me.html", context=user_context(user) |
| 27 | + request=request, name="me.html", context=dict(context) |
30 | 28 | ) |
31 | 29 |
|
32 | 30 |
|
33 | 31 | @router.get("/me/apikey", response_model=None) |
34 | 32 | def make_api_key_arguments( |
35 | 33 | request: Request, |
36 | | - user: Annotated[User | None, Depends(current_user)], |
| 34 | + context: Annotated[Context, Depends(user_context)], |
37 | 35 | ) -> _TemplateResponse | RedirectResponse: |
38 | 36 | """Display the API key creation form to the user.""" |
39 | | - if user is None: |
| 37 | + if "user" not in context: |
40 | 38 | return RedirectResponse("/") |
41 | 39 |
|
42 | 40 | return templates.TemplateResponse( |
43 | 41 | request=request, |
44 | 42 | name="create_api_key.html", |
45 | | - context=user_context(user), |
| 43 | + context=dict(context), |
46 | 44 | ) |
47 | 45 |
|
48 | 46 |
|
49 | 47 | @router.post("/me/apikey", response_model=None) |
50 | 48 | def make_api_key( |
51 | 49 | request: Request, |
52 | | - user: Annotated[User | None, Depends(current_user)], |
| 50 | + context: Annotated[Context, Depends(user_context)], |
53 | 51 | session: Annotated[Session, Depends(get_db)], |
54 | 52 | keyname: Annotated[str, Form()], |
55 | 53 | ) -> _TemplateResponse | RedirectResponse: |
56 | 54 | """Create an API key.""" |
57 | | - if user is None: |
| 55 | + if (user := context.get("user")) is None: |
58 | 56 | return RedirectResponse("/") |
59 | 57 |
|
60 | 58 | api_key = crud.create_api_key(session, name=keyname, user=user) |
61 | 59 |
|
62 | 60 | return templates.TemplateResponse( |
63 | 61 | request=request, |
64 | 62 | name="new_api_key.html", |
65 | | - context={"api_key": api_key} | user_context(user), |
| 63 | + context={"api_key": api_key} | context, |
66 | 64 | ) |
0 commit comments