57 lines
1.3 KiB
TypeScript

// src/controllers/AuthController.ts
import { Request, Response} from 'express';
import { Pool } from 'mysql2/promise';
import logger from '../utils/logger';
import { UserService } from '../services';
export class UserController {
private service: UserService;
constructor(pool: Pool) {
this.service = new UserService(pool);
}
getAllUsers = async (req: Request, res: Response) => {
};
getUserById = async (req: Request, res: Response) => {
try {
const { username} = req.body;
logger.info(`Get profile for: ${username}`);
const user = await this.service.getUserByUsername(username);
if (!user) {
return res.status(404).json({ error: 'Invalid user' });
}
res.json({
user: {
id: user.id,
username: user.username,
email: user.email,
role: user.role,
},
});
} catch (err) {
const error = err as Error;
logger.error('Get profile error:', { message: error.message, stack: error.stack });
res.status(500).json({ message: 'Internal server error' });
}
};
createUser = async (req: Request, res: Response) => {
};
updateUser = async (req: Request, res: Response) => {
};
deleteUser = async (req: Request, res: Response) => {
};
}