import { Request, Response } from 'express'; import { UserQueryDispatcher } from '../../functions/Users/Queries/UserQueryDispatcher'; import { UserCommandDispatcher } from '../../functions/Users/Commands/UserCommandDispatcher'; import { GetAllUsersQuery } from '../../functions/Users/Queries/UserQuery'; export async function getAllUsers( req: Request, res: Response, queryDispatcher: UserQueryDispatcher, commandDispatcher: UserCommandDispatcher ): Promise { try { const query = new GetAllUsersQuery(); const users = await queryDispatcher.dispatch(query); res.status(200).json({ success: true, data: users }); } catch (error: any) { res.status(500).json({ success: false, message: error.message || 'Failed to get users' }); } }