diff --git a/src/controllers/00-stats-controller.ts b/src/controllers/00-stats-controller.ts index cf047d4..668f1e7 100644 --- a/src/controllers/00-stats-controller.ts +++ b/src/controllers/00-stats-controller.ts @@ -284,6 +284,47 @@ export class StatsController extends Controller { }); } + @Get("sale/by-product-group/download") + async downloadSaleByProductGroupReport( + @Request() req: RequestWithUser, + @Query() limit?: number, + @Query() startDate?: Date, + @Query() endDate?: Date, + ) { + this.setHeader("Content-Type", "text/csv"); + return json2csv( + await this.saleReport(req, limit, startDate, endDate).then((v) => v.byProductGroup), + { useDateIso8601Format: true }, + ); + } + + @Get("sale/by-sale/download") + async downloadSaleBySaleReport( + @Request() req: RequestWithUser, + @Query() limit?: number, + @Query() startDate?: Date, + @Query() endDate?: Date, + ) { + this.setHeader("Content-Type", "text/csv"); + return json2csv(await this.saleReport(req, limit, startDate, endDate).then((v) => v.bySale), { + useDateIso8601Format: true, + }); + } + + @Get("sale/by-customer/download") + async downloadSaleByCustomerReport( + @Request() req: RequestWithUser, + @Query() limit?: number, + @Query() startDate?: Date, + @Query() endDate?: Date, + ) { + this.setHeader("Content-Type", "text/csv"); + return json2csv( + await this.saleReport(req, limit, startDate, endDate).then((v) => v.byCustomer), + { useDateIso8601Format: true }, + ); + } + @Get("sale") async saleReport( @Request() req: RequestWithUser,