apps/recallassess/recallassess-api/src/api/admin/report/reports/pre-bat-analysis/pre-bat-analysis-filters.controller.ts
api/admin/report/pre-bat-analysis
Methods |
|
| Async filterCompany | ||||||
filterCompany(query: Record
|
||||||
Decorators :
@Get('filter/company')
|
||||||
|
Parameters :
Returns :
unknown
|
| Async filterCourse | ||||||
filterCourse(query: Record
|
||||||
Decorators :
@Get('filter/course')
|
||||||
|
Parameters :
Returns :
unknown
|
| Async filterLearningGroup | ||||||
filterLearningGroup(query: Record
|
||||||
Decorators :
@Get('filter/learning-group')
|
||||||
|
Parameters :
Returns :
unknown
|
| Async filterParticipant | ||||||
filterParticipant(query: Record
|
||||||
Decorators :
@Get('filter/participant')
|
||||||
|
Parameters :
Returns :
unknown
|
import { Controller, Get, HttpCode, HttpStatus, Query } from "@nestjs/common";
import {
firstQueryString,
parseOptionalQueryInt,
parseSqEqualsInt,
} from "../../utils/report-query-params.util";
import { parseReportValuelistListQuery } from "../../utils/report-valuelist-query.util";
import { ParticipantScopeFiltersService } from "../shared/participant-scope-filters.service";
@Controller("api/admin/report/pre-bat-analysis")
export class PreBatAnalysisFiltersController {
constructor(private readonly participantScopeFilters: ParticipantScopeFiltersService) {}
@Get("filter/company")
@HttpCode(HttpStatus.OK)
async filterCompany(@Query() query: Record<string, string | string[] | undefined>) {
return this.participantScopeFilters.listCompanyFilterOptions(parseReportValuelistListQuery(query));
}
@Get("filter/course")
@HttpCode(HttpStatus.OK)
async filterCourse(@Query() query: Record<string, string | string[] | undefined>) {
const sq = firstQueryString(query["sq"]);
const companyId =
parseOptionalQueryInt(firstQueryString(query["company_id"])) ?? parseSqEqualsInt(sq, "company_id");
return this.participantScopeFilters.listCourseFilterOptions({
...parseReportValuelistListQuery(query),
companyId,
});
}
@Get("filter/learning-group")
@HttpCode(HttpStatus.OK)
async filterLearningGroup(@Query() query: Record<string, string | string[] | undefined>) {
const sq = firstQueryString(query["sq"]);
const companyId =
parseOptionalQueryInt(firstQueryString(query["company_id"])) ?? parseSqEqualsInt(sq, "company_id");
const courseId =
parseOptionalQueryInt(firstQueryString(query["course_id"])) ?? parseSqEqualsInt(sq, "course_id");
return this.participantScopeFilters.listLearningGroupFilterOptions({
...parseReportValuelistListQuery(query),
companyId,
courseId,
});
}
@Get("filter/participant")
@HttpCode(HttpStatus.OK)
async filterParticipant(@Query() query: Record<string, string | string[] | undefined>) {
const sq = firstQueryString(query["sq"]);
const companyId =
parseOptionalQueryInt(firstQueryString(query["company_id"])) ?? parseSqEqualsInt(sq, "company_id");
const courseId =
parseOptionalQueryInt(firstQueryString(query["course_id"])) ?? parseSqEqualsInt(sq, "course_id");
const learningGroupId =
parseOptionalQueryInt(firstQueryString(query["learning_group_id"])) ??
parseSqEqualsInt(sq, "learning_group_id");
return this.participantScopeFilters.listParticipantFilterOptions({
...parseReportValuelistListQuery(query),
companyId,
courseId,
learningGroupId,
});
}
}