12345678910111213141516171819202122232425262728293031323334353637383940 |
- import { Response } from 'express';
- import { formatISOWithoutTimezone } from '../../../utils/FormatDate';
- import { HospitalDTO } from '../../../types/sales/hospital/HospitalDTO';
- import prisma from '../../../prisma/PrismaClient';
- const formatItem = (item: HospitalDTO) => ({
- ...item,
- createdAt: formatISOWithoutTimezone(item.createdAt),
- updatedAt: formatISOWithoutTimezone(item.updatedAt),
- });
- export const HospitalResource = async (res: Response, data: HospitalDTO, message: string = 'Success'): Promise<Response> => {
- const tags = await prisma.categoryLink.findMany({
- where: {
- source_id: data.id,
- source_type: { in: ['hospital_notes'] },
- deletedAt: null,
- },
- include: {
- Category: true,
- },
- });
- const note_tags = tags
- .filter(t => t.source_type === 'hospital_notes')
- .map(t => t.Category?.tag ?? '');
- const { created_by, ...cleanedData } = data;
- const formatted = {
- ...formatItem(cleanedData),
- note_tags,
- };
- return res.status(200).json({
- success: true,
- message,
- data: formatted,
- });
- };
|