Skip to content

Commit de89c08

Browse files
committed
feat(handler): Implement async/await for database query in getAppsPageHandler
1 parent 2ad9d5d commit de89c08

File tree

4 files changed

+21
-6
lines changed

4 files changed

+21
-6
lines changed

src/handler.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Request, Response } from 'express';
2+
import { db } from './db/db';
23

34
// GET /healthz
45
export function getHealthzHandler(req: Request, res: Response) {
@@ -45,8 +46,10 @@ export function getProfilePageHandler(req: Request, res: Response) {
4546
}
4647

4748
// GET /apps
48-
export function getAppsPageHandler(req: Request, res: Response) {
49+
export async function getAppsPageHandler(req: Request, res: Response) {
50+
const apps = await db.select('*').from('apps');
4951
return res.render('apps.html', {
52+
apps,
5053
layout: '../layouts/auth.html',
5154
});
5255
}

src/middleware.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@ export function notFoundMiddleware() {
99

1010
export function errorMiddleware() {
1111
return async (
12-
error: Error & { statusCode: number },
12+
error: Error & { statusCode?: number },
1313
req: Request,
1414
res: Response,
1515
next: NextFunction,
1616
) => {
17-
return res.status(error.statusCode).render('error.html', {
18-
statusCode: error.statusCode,
17+
return res.status(error.statusCode || 500).render('error.html', {
18+
statusCode: error.statusCode || 500,
1919
message: error.message,
2020
});
2121
};

src/views/components/header.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<header class="navbar p-10 sticky top-0 z-10 backdrop-blur-sm bg-white/70 border border-b">
1+
<header class="navbar p-10 sticky top-0 z-10 backdrop-blur-sm bg-white/70 border border-b border-gray-100">
22
<div class="max-w-6xl mx-auto justify-between w-full items-center">
33
<div class="flex-1">
44
<a class="btn btn-ghost text-xl" href="/">Notify</a>

src/views/pages/apps.html

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,20 @@ <h2 class="mt-0">Apps</h2>
66
<button class="btn">Create a new app</button>
77
</div>
88

9-
<div>
9+
<div class="grid grid-cols-3 gap-5 mt-5">
10+
<% if (apps.length) { %>
11+
<% apps.forEach(app => { %>
12+
<div class="p-5 border border-gray-100 rounded-md">
13+
<!-- App content here -->
14+
</div>
15+
<% }) %>
16+
<% } %>
1017

18+
<% if (!apps.length) { %>
19+
<div class="p-5 border border-gray-100 rounded-md">
20+
There are no apps currently
21+
</div>
22+
<% } %>
1123
</div>
1224

1325
</div>

0 commit comments

Comments
 (0)