UserAreaCollection.ts 1019 B

1234567891011121314151617181920212223242526272829303132
  1. import { Request, Response } from 'express';
  2. import { ListResponse } from '../../../utils/ListResponse';
  3. import { formatISOWithoutTimezone } from '../../../utils/FormatDate';
  4. import { UserAreaDTO } from '../../../types/admin/user_area/UserAreaDTO';
  5. const formatItem = (item: UserAreaDTO) => ({
  6. ...item,
  7. createdAt: formatISOWithoutTimezone(item.createdAt),
  8. updatedAt: formatISOWithoutTimezone(item.updatedAt),
  9. });
  10. export const UserAreaCollection = (req: Request, res: Response, data: UserAreaDTO[] = [], total: number | null = null, page: number = 1, limit: number = 10, message: string = 'Success'): Response => {
  11. const formattedData = data.map(formatItem);
  12. if (typeof total !== 'number') {
  13. return res.status(200).json({
  14. success: true,
  15. message,
  16. data: Array.isArray(formattedData),
  17. });
  18. }
  19. return ListResponse({
  20. req,
  21. res,
  22. data: formattedData,
  23. total,
  24. page,
  25. limit,
  26. message,
  27. });
  28. };