|
|
@@ -3,18 +3,24 @@ import {
|
|
|
Request
|
|
|
} from "express";
|
|
|
import {
|
|
|
- register as _register
|
|
|
+ register as _register
|
|
|
} from "../actions/auth/register";
|
|
|
import {
|
|
|
- login as _login
|
|
|
+ login as _login
|
|
|
} from "../actions/auth/login";
|
|
|
+import {
|
|
|
+ logout as _logout
|
|
|
+} from "../actions/auth/logout";
|
|
|
+import {
|
|
|
+ AuthRequest
|
|
|
+} from "../middlewares/authMiddleware";
|
|
|
|
|
|
export const register = async (req: Request, res: Response): Promise<void> => {
|
|
|
try {
|
|
|
const {
|
|
|
phoneNumber,
|
|
|
companyName,
|
|
|
- firstName,
|
|
|
+ firstName,
|
|
|
lastName,
|
|
|
password,
|
|
|
mail
|
|
|
@@ -23,7 +29,7 @@ export const register = async (req: Request, res: Response): Promise<void> => {
|
|
|
const result = await _register({
|
|
|
phoneNumber,
|
|
|
companyName,
|
|
|
- firstName,
|
|
|
+ firstName,
|
|
|
lastName,
|
|
|
password,
|
|
|
mail
|
|
|
@@ -38,7 +44,7 @@ export const register = async (req: Request, res: Response): Promise<void> => {
|
|
|
console.error("Register error:", error);
|
|
|
res.status(500).json({
|
|
|
message: "Internal server error",
|
|
|
- code: 500,
|
|
|
+ code: 500,
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
@@ -71,4 +77,32 @@ export const login = async (req: Request, res: Response): Promise<void> => {
|
|
|
code: 500,
|
|
|
});
|
|
|
}
|
|
|
+};
|
|
|
+
|
|
|
+export const logout = async (req: AuthRequest, res: Response): Promise<void> => {
|
|
|
+ try {
|
|
|
+ const userId = req.userId;
|
|
|
+ const token = req.token;
|
|
|
+
|
|
|
+ if (!userId || !token) {
|
|
|
+ res.status(401).json({
|
|
|
+ message: "Unauthorized",
|
|
|
+ code: 401
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ const result = await _logout(userId, token);
|
|
|
+
|
|
|
+ res.status(result.code).json({
|
|
|
+ message: result.message,
|
|
|
+ code: result.code,
|
|
|
+ });
|
|
|
+ } catch (error) {
|
|
|
+ console.error("Logout controller error:", error);
|
|
|
+ res.status(500).json({
|
|
|
+ message: "Server error",
|
|
|
+ code: 500,
|
|
|
+ });
|
|
|
+ }
|
|
|
};
|