Skip to content

Commit

Permalink
[TRELLO-2905] Fix wrong boolean in search params parsing
Browse files Browse the repository at this point in the history
  • Loading branch information
charlescd committed Feb 26, 2025
1 parent c4cd3b4 commit 9dbf462
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 19 deletions.
10 changes: 6 additions & 4 deletions src/core/helper/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,12 @@ export const fnSwitch: FnSwitch = (value, cases, defaultCase?) => {

export const siretToSiren = (siret: string) => siret.slice(0, 9)

const stringToBoolean = (str?: string): boolean | undefined => {
if (str) {
if (str === 'true') return true
else if (str === 'false') return false
export const unknownToBoolean = (value?: unknown): boolean | undefined => {
if (typeof value === 'boolean') {
return value
} else if (typeof value === 'string') {
if (value === 'true') return true
else if (value === 'false') return false
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { createFileRoute } from '@tanstack/react-router'
import { ReportsPro } from '../../feature/ReportsPro/ReportsPro'
import { ReportProSearch } from '../../core/client/report/ReportSearch'
import { PaginatedFilters, ReportStatus } from '../../core/model'
import { unknownToBoolean } from '../../core/helper'

export const Route = createFileRoute(
'/_authenticated/suivi-des-signalements-clotures',
Expand All @@ -15,7 +16,7 @@ export const Route = createFileRoute(
status: (search.status as ReportStatus[]) || undefined,
start: search.start ? new Date(search.start as string) : undefined,
end: search.end ? new Date(search.end as string) : undefined,
hasWebsite: (search.hasWebsite as boolean) || undefined,
hasWebsite: unknownToBoolean(search.hasWebsite),
fullText: (search.fullText as string) || undefined,

offset: (search.offset as number) || 0,
Expand Down
29 changes: 15 additions & 14 deletions src/routes/_authenticated/suivi-des-signalements/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import {
ReportTag,
ResponseEvaluation,
} from '../../../core/model'
import { unknownToBoolean } from '../../../core/helper'

export const Route = createFileRoute('/_authenticated/suivi-des-signalements/')(
{
Expand All @@ -29,31 +30,31 @@ export const Route = createFileRoute('/_authenticated/suivi-des-signalements/')(
end: search.end ? new Date(search.end as string) : undefined,
email: (search.email as string) || undefined,
consumerPhone: (search.consumerPhone as string) || undefined,
hasConsumerPhone: (search.hasConsumerPhone as boolean) || undefined,
hasConsumerPhone: unknownToBoolean(search.hasConsumerPhone),
websiteURL: (search.websiteURL as string) || undefined,
phone: (search.phone as string) || undefined,
category: (search.category as string) || undefined,
subcategories: (search.subcategories as string[]) || undefined,
details: (search.details as string) || undefined,
description: (search.description as string) || undefined,
contactAgreement: (search.contactAgreement as boolean) || undefined,
hasPhone: (search.hasPhone as boolean) || undefined,
hasWebsite: (search.hasWebsite as boolean) || undefined,
hasForeignCountry: (search.hasForeignCountry as boolean) || undefined,
hasCompany: (search.hasCompany as boolean) || undefined,
hasAttachment: (search.hasAttachment as boolean) || undefined,
hasResponseEvaluation:
(search.hasResponseEvaluation as boolean) || undefined,
contactAgreement: unknownToBoolean(search.contactAgreement),
hasPhone: unknownToBoolean(search.hasPhone),
hasWebsite: unknownToBoolean(search.hasWebsite),
hasForeignCountry: unknownToBoolean(search.hasForeignCountry),
hasCompany: unknownToBoolean(search.hasCompany),
hasAttachment: unknownToBoolean(search.hasAttachment),
hasResponseEvaluation: unknownToBoolean(search.hasResponseEvaluation),
responseEvaluation:
(search.responseEvaluation as ResponseEvaluation[]) || undefined,
hasEngagementEvaluation:
(search.hasEngagementEvaluation as boolean) || undefined,
hasEngagementEvaluation: unknownToBoolean(
search.hasEngagementEvaluation,
),
engagementEvaluation:
(search.engagementEvaluation as ResponseEvaluation[]) || undefined,
fullText: (search.fullText as string) || undefined,
isForeign: (search.isForeign as boolean) || undefined,
hasBarcode: (search.hasBarcode as boolean) || undefined,
isBookmarked: (search.isBookmarked as boolean) || undefined,
isForeign: unknownToBoolean(search.isForeign),
hasBarcode: unknownToBoolean(search.hasBarcode),
isBookmarked: unknownToBoolean(search.isBookmarked),

offset: (search.offset as number) || 0,
limit: (search.limit as number) || 25,
Expand Down

0 comments on commit 9dbf462

Please sign in to comment.