Skip to content

Commit aa75e9c

Browse files
committed
better types
1 parent 12c6f70 commit aa75e9c

File tree

4 files changed

+37
-14
lines changed

4 files changed

+37
-14
lines changed

backend/apps/cloud/src/analytics/analytics.controller.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,10 @@ import { GetProfileDto, GetProfileSessionsDto } from './dto/get-profile.dto'
7979
import { ErrorDto } from './dto/error.dto'
8080
import { GetErrorsDto } from './dto/get-errors.dto'
8181
import { GetErrorDto } from './dto/get-error.dto'
82-
import { GetErrorOverviewDto } from './dto/get-error-overview.dto'
82+
import {
83+
GetErrorOverviewDto,
84+
GetErrorOverviewOptions,
85+
} from './dto/get-error-overview.dto'
8386
import { PatchStatusDto } from './dto/patch-status.dto'
8487
import {
8588
customEventTransformer,
@@ -1824,11 +1827,16 @@ export class AnalyticsController {
18241827

18251828
await this.analyticsService.checkBillingAccess(pid)
18261829

1827-
let parsedOptions: { showResolved?: boolean } = {}
1828-
try {
1829-
parsedOptions = JSON.parse(options || '{}')
1830-
} catch {
1831-
// Ignore parse errors
1830+
let parsedOptions: GetErrorOverviewOptions = {}
1831+
1832+
if (typeof options === 'string') {
1833+
try {
1834+
parsedOptions = JSON.parse(options)
1835+
} catch {
1836+
// Ignore parse errors
1837+
}
1838+
} else {
1839+
parsedOptions = options || {}
18321840
}
18331841

18341842
let newTimeBucket = timeBucket

backend/apps/cloud/src/analytics/dto/get-error-overview.dto.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { PickType, ApiProperty } from '@nestjs/swagger'
22
import { GetDataDto } from './getData.dto'
33

4+
export interface GetErrorOverviewOptions {
5+
showResolved?: boolean
6+
}
7+
48
export class GetErrorOverviewDto extends PickType(GetDataDto, [
59
'pid',
610
'period',
@@ -15,6 +19,7 @@ export class GetErrorOverviewDto extends PickType(GetDataDto, [
1519
showResolved: true,
1620
},
1721
description: 'Errors list options',
22+
required: false,
1823
})
19-
options?: string
24+
options?: GetErrorOverviewOptions
2025
}

backend/apps/community/src/analytics/analytics.controller.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ import { GetSessionDto } from './dto/get-session.dto'
6767
import { ErrorDto } from './dto/error.dto'
6868
import { GetErrorsDto } from './dto/get-errors.dto'
6969
import { GetErrorDto } from './dto/get-error.dto'
70-
import { GetErrorOverviewDto } from './dto/get-error-overview.dto'
70+
import { GetErrorOverviewDto, GetErrorOverviewOptions } from './dto/get-error-overview.dto'
7171
import { PatchStatusDto } from './dto/patch-status.dto'
7272
import {
7373
customEventTransformer,
@@ -1750,11 +1750,16 @@ export class AnalyticsController {
17501750
headers['x-password'],
17511751
)
17521752

1753-
let parsedOptions: { showResolved?: boolean } = {}
1754-
try {
1755-
parsedOptions = JSON.parse(options || '{}')
1756-
} catch {
1757-
// Ignore parse errors
1753+
let parsedOptions: GetErrorOverviewOptions = {}
1754+
1755+
if (typeof options === 'string') {
1756+
try {
1757+
parsedOptions = JSON.parse(options)
1758+
} catch {
1759+
// Ignore parse errors
1760+
}
1761+
} else {
1762+
parsedOptions = options || {}
17581763
}
17591764

17601765
let newTimeBucket = timeBucket

backend/apps/community/src/analytics/dto/get-error-overview.dto.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
import { PickType, ApiProperty } from '@nestjs/swagger'
22
import { GetDataDto } from './getData.dto'
33

4+
export interface GetErrorOverviewOptions {
5+
showResolved?: boolean
6+
}
7+
48
export class GetErrorOverviewDto extends PickType(GetDataDto, [
59
'pid',
610
'period',
@@ -15,6 +19,7 @@ export class GetErrorOverviewDto extends PickType(GetDataDto, [
1519
showResolved: true,
1620
},
1721
description: 'Errors list options',
22+
required: false,
1823
})
19-
options?: string
24+
options?: GetErrorOverviewOptions
2025
}

0 commit comments

Comments
 (0)