Skip to content

Commit b90a4ef

Browse files
committedMay 7, 2024
Fixed several issues and added favicon.ico
1 parent 8bedf70 commit b90a4ef

11 files changed

+75
-10
lines changed
 

Diff for: ‎app.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import Server from "./src/Server";
33
import { HttpResponse, makeHttpRequest } from "./tests/client";
44

55
const sql = postgres({
6-
database: "TodoDB",
6+
database: "MyDB",
77
});
88

99
const server = new Server({

Diff for: ‎favicon.ico

4.19 KB
Binary file not shown.

Diff for: ‎src/Server.ts

+18-4
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ import postgres from "postgres";
77
import fs from "fs/promises";
88
import SessionManager from "./auth/SessionManager";
99
import Cookie from "./auth/Cookie";
10+
import AuthController from "./controllers/AuthController";
11+
import PokemonController from "./controllers/PokemonController";
12+
import TeamController from "./controllers/TeamController";
13+
import UserController from "./controllers/UserController";
1014

1115
/**
1216
* Options for creating a new Server instance.
@@ -30,8 +34,10 @@ export default class Server {
3034
private server: http.Server;
3135
private sql: postgres.Sql;
3236
private router: Router;
33-
private controller: Controller;
34-
37+
private authController: AuthController;
38+
private pokemonController: PokemonController;
39+
private teamController:TeamController;
40+
private userController:UserController;
3541
/**
3642
* Initializes a new Server instance. The server is not started until the `start` method is called.
3743
* @param serverOptions The options for creating a new Server instance.
@@ -43,9 +49,17 @@ export default class Server {
4349
this.port = serverOptions.port;
4450

4551
this.router = new Router();
46-
this.controller = new Controller(this.sql);
52+
this.authController = new AuthController(this.sql);
53+
this.pokemonController = new PokemonController(this.sql);
54+
this.teamController = new TeamController(this.sql);
55+
this.userController = new UserController(this.sql);
56+
57+
this.authController.registerRoutes(this.router);
58+
this.pokemonController.registerRoutes(this.router);
59+
this.teamController.registerRoutes(this.router);
60+
this.authController.registerRoutes(this.router);
61+
this.userController.registerRoutes(this.router);
4762

48-
this.controller.registerRoutes(this.router);
4963

5064
this.router.get("/", (req: Request, res: Response) => {
5165
res.send({

Diff for: ‎src/controllers/AuthController.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default class AuthController {
3232
payload:{error: params.get("error")},
3333
template:"RegistrationView"
3434
});
35-
}
35+
}
3636
else{
3737
await res.send({
3838
statusCode: StatusCode.OK,

Diff for: ‎src/controllers/PokemonController.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Router from "../router/Router";
88
* Routes are registered in the `registerRoutes` method.
99
* Each method should be called when a request is made to the corresponding route.
1010
*/
11-
export default class Controller {
11+
export default class PokemonController {
1212
private sql: postgres.Sql<any>;
1313

1414
constructor(sql: postgres.Sql<any>) {

Diff for: ‎src/controllers/TeamController.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Router from "../router/Router";
88
* Routes are registered in the `registerRoutes` method.
99
* Each method should be called when a request is made to the corresponding route.
1010
*/
11-
export default class Controller {
11+
export default class TeamController {
1212
private sql: postgres.Sql<any>;
1313

1414
constructor(sql: postgres.Sql<any>) {

Diff for: ‎src/router/Request.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ export default class Request {
151151

152152
if (!session) {
153153
session = SessionManager.getInstance().createSession();
154-
this.cookies.push(session.getCookie());
154+
this.cookies.push(session.cookie);
155155
}
156156

157157
return session;

Diff for: ‎src/views/Header.hbs

+2
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
<nav>
1414
<ul>
1515
<li><a href="{{ path '' }}">Home</a></li>
16+
<li><a href="{{ path 'login' }}">login</a></li>
17+
<li><a href="{{ path 'register' }}">register</a></li>
1618
</ul>
1719
</nav>
1820
</header>

Diff for: ‎src/views/HomeView.hbs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{{> Header }}
22

3-
<h1></h1>
3+
<h1>PokePC</h1>
44

55
{{> Footer }}

Diff for: ‎src/views/LoginView.hbs

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{{> Header}}
2+
3+
<h1>Login</h1>
4+
5+
<p id="error">{{error}}</p>
6+
<form id="login-form" method="POST" action="/login">
7+
<div>
8+
<label for="email">Email:</label>
9+
{{#if hasEmail}}
10+
<input type="text" id="email" name="email" value={{email}}/>
11+
{{else}}
12+
<input type="text" id="email" name="email"/>
13+
{{/if}}
14+
</div>
15+
16+
<div>
17+
<label for="password">Password:</label>
18+
<input type="text" id="password" name="password"/>
19+
</div>
20+
<label for="remember">Remember me:</label>
21+
<input type="checkbox" id="remember" name="remember">
22+
<button id="login-form-submit-button">Submit</button>
23+
</form>
24+
25+
{{> Footer}}

Diff for: ‎src/views/RegistrationView.hbs

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{{> Header}}
2+
3+
<h1>Create User</h1>
4+
5+
<p id="error">{{error}}</p>
6+
<form id="register-form" method="POST" action="/users">
7+
<div>
8+
<label for="email">Email:</label>
9+
<input type="text" id="email" name="email" />
10+
</div>
11+
12+
<div>
13+
<label for="password">Password:</label>
14+
<input type="text" id="password" name="password"/>
15+
</div>
16+
<div>
17+
<label for="confirmPassword">Confirm Password:</label>
18+
<input type="text" id="confirmPassword" name="confirmPassword"/>
19+
</div>
20+
21+
<button id="register-form-submit-button">Submit</button>
22+
</form>
23+
24+
{{> Footer}}

0 commit comments

Comments
 (0)
Please sign in to comment.