Skip to content

Commit

Permalink
fix: hide token/email in route /stats/bals
Browse files Browse the repository at this point in the history
  • Loading branch information
fufeck committed Mar 25, 2024
1 parent 2bbd5d8 commit ab447cc
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 7 deletions.
6 changes: 3 additions & 3 deletions apps/api/src/modules/stats/stats.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ export class StatsController {
@ApiBody({ type: CodeCommuneDTO, required: true })
@ApiResponse({ status: HttpStatus.OK, type: BaseLocale, isArray: true })
async getBalsStats(
@Query('fields') fields: string[],
@Query('fields') fields: string[] | string,
@Body() codeCommeDto: CodeCommuneDTO,
@Res() res: Response,
) {
const result: BaseLocale[] =
const result: Omit<BaseLocale, 'token' | 'emails'>[] =
await this.statsService.findBalInCodeCommuneWithFields(
fields,
typeof fields === 'string' ? [fields] : fields,
codeCommeDto.codeCommunes,
);

Expand Down
14 changes: 10 additions & 4 deletions apps/api/src/modules/stats/stats.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { BaseLocale } from '@/shared/schemas/base_locale/base_locale.schema';
import { StatusBaseLocalEnum } from '@/shared/schemas/base_locale/status.enum';

import { BaseLocaleService } from '@/modules/base_locale/base_locale.service';
import { filterSensitiveFields } from '@/modules/base_locale/utils/base_locale.utils';
import { BasesLocalesStatusDTO } from '@/modules/stats/dto/bases_locales_status.dto';
import { BasesLocalesCreationDTO } from '@/modules/stats/dto/bases_locales_creations.dto';

Expand All @@ -20,20 +21,25 @@ export class StatsService {
public async findBalInCodeCommuneWithFields(
fields: string[] = [],
codeCommunes: string[] = [],
): Promise<BaseLocale[]> {
): Promise<Omit<BaseLocale, 'token' | 'emails'>[]> {
const filters: FilterQuery<BaseLocale> = {
status: { $ne: 'demo' },
_deleted: null,
...(codeCommunes && { commune: { $in: codeCommunes } }),
};
let selector: Record<string, number> = null;
const selector: Record<string, number> = {};
if (fields.length > 0) {
selector = {};
fields.forEach((f) => {
selector[f] = 1;
});
}
return this.baseLocaleService.findMany(filters, selector);

const bals: BaseLocale[] = await this.baseLocaleService.findMany(
filters,
selector,
);

return bals.map((bal) => filterSensitiveFields(bal));
}

public async findBalsStatusRepartition(): Promise<BasesLocalesStatusDTO[]> {
Expand Down

0 comments on commit ab447cc

Please sign in to comment.