import { DataSource } from 'typeorm';
import { AuthUserEntity } from '../../../entities';
import { GetUserByIdQuery } from '../../types';
import { rowToAuthUser } from '../../mappers';

export async function handleGetUserById(query: GetUserByIdQuery, dataSource: DataSource) {
  const repo = dataSource.getRepository(AuthUserEntity);
  const row = await repo.findOne({ where: { id: query.payload.userId } });

  return row ? rowToAuthUser(row) : null;
}
