Merge pull request 'feat/report' (#21) from feat/report into development
continuous-integration/drone/tag Build is passing
Details
continuous-integration/drone/tag Build is passing
Details
Reviewed-on: #21pull/22/head^2 devel_10.6.4
commit
edf8ab173d
|
@ -35,16 +35,21 @@ export class ReportBookmarkController {
|
|||
return await this.service.getAll(query);
|
||||
}
|
||||
|
||||
@Get('id')
|
||||
async get(@Param('id') id: string) {
|
||||
return await this.service.getOne(id);
|
||||
}
|
||||
// @Get(':id')
|
||||
// async get(@Param('id') id: string) {
|
||||
// return await this.service.getOne(id);
|
||||
// }
|
||||
|
||||
@Get('label-history')
|
||||
async getAllLabelHistory(@Query() query: GetLabelReportBookmarkDto) {
|
||||
return await this.service.getAllLabelHistory(query);
|
||||
}
|
||||
|
||||
@Get('applied')
|
||||
async currentApplied(@Query() query: GetLabelReportBookmarkDto) {
|
||||
return await this.service.getCurrentAppliedBookmark(query);
|
||||
}
|
||||
|
||||
@Put('applied/:id')
|
||||
async applied(@Param('id') id: string) {
|
||||
return await this.service.applied(id);
|
||||
|
|
|
@ -25,7 +25,11 @@ export class ReportBookmarkService extends BaseReportService {
|
|||
|
||||
async create(body: CreateReportBookmarkDto) {
|
||||
const newPayload = this.injectDefaultColumnCreate(body);
|
||||
return await this.repo.save(newPayload);
|
||||
const result = await this.repo.save(newPayload);
|
||||
if (body.applied) {
|
||||
await this.appliedFalseBookmark(result.id);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
async getAll(query: GetReportBookmarkDto) {
|
||||
|
@ -92,6 +96,35 @@ export class ReportBookmarkService extends BaseReportService {
|
|||
return newData.map((el) => el.ReportBookmarkModel_label);
|
||||
}
|
||||
|
||||
async getCurrentAppliedBookmark(query: GetLabelReportBookmarkDto) {
|
||||
const modelName = ReportBookmarkModel.name;
|
||||
|
||||
const creator_id = this.getUser().id;
|
||||
const unique_names = query.unique_names;
|
||||
const group_names = query.group_names;
|
||||
const types = query.types;
|
||||
const qb = this.repo
|
||||
.createQueryBuilder(modelName)
|
||||
.where((query) => {
|
||||
if (unique_names) {
|
||||
query.andWhere(`unique_name IN (:...unique_names)`, { unique_names });
|
||||
}
|
||||
if (group_names) {
|
||||
query.andWhere(`group_name IN (:...group_names)`, { group_names });
|
||||
}
|
||||
|
||||
if (types) {
|
||||
query.andWhere(`type IN (:...types)`, { types });
|
||||
}
|
||||
|
||||
query.andWhere(`creator_id = :creator_id`, { creator_id });
|
||||
query.andWhere(`applied = :applied`, { applied: true });
|
||||
})
|
||||
.orderBy(`${modelName}.created_at`, 'DESC');
|
||||
|
||||
return await qb.getMany();
|
||||
}
|
||||
|
||||
async applied(id: string) {
|
||||
await this.repo
|
||||
.createQueryBuilder()
|
||||
|
|
|
@ -8,8 +8,9 @@ export class CreateReportExportDto extends GetReportDataDto {
|
|||
@IsString()
|
||||
time_zone: string;
|
||||
|
||||
@ApiProperty({ name: 'file_name', required: true })
|
||||
@ApiProperty({ name: 'file_name', required: false })
|
||||
@IsString()
|
||||
@IsOptional()
|
||||
file_name?: string;
|
||||
|
||||
@ApiProperty({
|
||||
|
|
Loading…
Reference in New Issue