Skip to content

Commit 3e91a88

Browse files
committed
A few extra viewmodels to get the rest of the views in shape.
1 parent e1d8bff commit 3e91a88

File tree

5 files changed

+34
-8
lines changed

5 files changed

+34
-8
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from viewmodels.shared.viewmodel import ViewModelBase
2+
3+
4+
class AccountViewModel(ViewModelBase):
5+
pass
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from viewmodels.shared.viewmodel import ViewModelBase
2+
3+
4+
class LoginViewModel(ViewModelBase):
5+
pass
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from viewmodels.shared.viewmodel import ViewModelBase
2+
3+
4+
class RegisterViewModel(ViewModelBase):
5+
pass

code/ch5-viewmodels/views/account.py

+15-7
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,32 @@
11
import fastapi
22
from fastapi_chameleon import template
3+
from starlette.requests import Request
4+
5+
from viewmodels.account.account_viewmodel import AccountViewModel
6+
from viewmodels.account.login_viewmodel import LoginViewModel
7+
from viewmodels.account.register_viewmodel import RegisterViewModel
38

49
router = fastapi.APIRouter()
510

611

712
@router.get('/account')
8-
def index():
9-
return {}
13+
def index(request: Request):
14+
vm = AccountViewModel(request)
15+
return vm.to_dict()
1016

1117

1218
@router.get('/account/register')
13-
def register():
14-
return {}
19+
def register(request: Request):
20+
vm = RegisterViewModel(request)
21+
return vm.to_dict()
1522

1623

1724
@router.get('/account/login')
18-
def login():
19-
return {}
25+
def login(request: Request):
26+
vm = LoginViewModel(request)
27+
return vm.to_dict()
2028

2129

2230
@router.get('/account/logout')
23-
def logout():
31+
def logout(request: Request):
2432
return {}

code/ch5-viewmodels/views/home.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from starlette.requests import Request
44

55
from viewmodels.home.indexviewmodel import IndexViewModel
6+
from viewmodels.shared.viewmodel import ViewModelBase
67

78
router = fastapi.APIRouter()
89

@@ -16,5 +17,7 @@ def index(request: Request):
1617

1718
@router.get('/about')
1819
@template()
19-
def about():
20+
def about(request: Request):
21+
vm = ViewModelBase(request)
22+
# TODO: Use the vm.
2023
return {}

0 commit comments

Comments
 (0)