// This file should exist in `src/models/users` import { UsersService } from "./users.service"; import { Response as ExpressResponse } from "express"; import { Controller, Get, Response } from "@nestjs/common"; /** * Controller dealing with user entity based operations. * * @class */ @Controller("users") export class UsersController { /** * Create an instance of class. * * @constructs * * @param {UsersService} usersService */ constructor(private readonly usersService: UsersService) {} /** * Exports a CSV & downloads it for users. * * @public * @async * * @returns {Promise} Returns success response entity. */ @Get("/export-csv") async export(@Response() res: ExpressResponse): Promise { return await this.usersService.exportUserDataToCSV().then( async (fileName) => await this.usersService.getExportedUserCSV(fileName).then((csvData) => { res.set("Content-Type", "text/csv"); return res.send(csvData); }) ); } }