Skip to content

Commit 73a2ea1

Browse files
committed
feat: apply ts strictNullChecks and fix warns and errors
1 parent 968aa4c commit 73a2ea1

File tree

8 files changed

+33
-19
lines changed

8 files changed

+33
-19
lines changed

src/collections/infra/repositories/CollectionsRepository.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ export interface NewCollectionContactRequestPayload {
3333
}
3434

3535
export interface NewCollectionMetadataBlocksRequestPayload {
36-
metadataBlockNames: string[]
37-
facetIds: string[]
38-
inputLevels: NewCollectionInputLevelRequestPayload[]
36+
metadataBlockNames?: string[]
37+
facetIds?: string[]
38+
inputLevels?: NewCollectionInputLevelRequestPayload[]
3939
}
4040

4141
export interface NewCollectionInputLevelRequestPayload {
@@ -179,7 +179,7 @@ export class CollectionsRepository extends ApiRepository implements ICollections
179179
})
180180
)
181181

182-
const inputLevelsRequestBody: NewCollectionInputLevelRequestPayload[] =
182+
const inputLevelsRequestBody: NewCollectionInputLevelRequestPayload[] | undefined =
183183
collectionDTO.inputLevels?.map((inputLevel) => ({
184184
datasetFieldTypeName: inputLevel.datasetFieldName,
185185
include: inputLevel.include,

src/core/infra/repositories/ApiRepository.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ export abstract class ApiRepository {
4747
protected buildApiEndpoint(
4848
resourceName: string,
4949
operation: string,
50-
resourceId: number | string = undefined
50+
resourceId: number | string | undefined = undefined
5151
) {
5252
return typeof resourceId === 'number'
5353
? `/${resourceName}/${resourceId}/${operation}`

src/core/infra/repositories/apiConfigBuilders.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export const buildRequestConfig = (
88
contentType: string = ApiConstants.CONTENT_TYPE_APPLICATION_JSON,
99
abortSignal?: AbortSignal
1010
): AxiosRequestConfig => {
11-
const requestConfig: AxiosRequestConfig = {
11+
const requestConfig: AxiosRequestConfig & { headers: Record<string, unknown> } = {
1212
params: queryParams,
1313
headers: {
1414
'Content-Type': contentType

src/datasets/domain/models/Dataset.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export type DatasetMetadataFieldValue =
5353
| DatasetMetadataSubField[]
5454
| AnonymizedField
5555

56-
export type DatasetMetadataSubField = Record<string, string>
56+
export type DatasetMetadataSubField = Record<string, string | undefined>
5757

5858
export interface CitationMetadataBlock extends DatasetMetadataBlock {
5959
name: 'citation'

src/datasets/domain/useCases/validators/DatasetResourceValidator.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ export class DatasetResourceValidator implements ResourceValidator {
1717
metadataBlocks: MetadataBlock[]
1818
) {
1919
const metadataBlockName = metadataBlockValues.name
20-
const metadataBlock: MetadataBlock = metadataBlocks.find(
20+
const metadataBlock = metadataBlocks.find(
2121
(metadataBlock) => metadataBlock.name === metadataBlockName
22-
)
22+
) as MetadataBlock
23+
2324
for (const metadataFieldKey of Object.keys(metadataBlock.metadataFields)) {
2425
this.metadataFieldValidator.validate({
2526
metadataFieldInfo: metadataBlock.metadataFields[metadataFieldKey],

src/datasets/domain/useCases/validators/SingleMetadataFieldValidator.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { MetadataFieldValidator } from './MetadataFieldValidator'
88
import { DatasetMetadataChildFieldValueDTO } from '../../dtos/DatasetDTO'
99
import { MultipleMetadataFieldValidator } from './MultipleMetadataFieldValidator'
1010
import {
11+
MetadataFieldInfo,
1112
MetadataFieldType,
1213
MetadataFieldWatermark
1314
} from '../../../../metadataBlocks/domain/models/MetadataBlock'
@@ -62,7 +63,7 @@ export class SingleMetadataFieldValidator extends BaseMetadataFieldValidator {
6263
datasetMetadataFieldAndValueInfo: DatasetMetadataFieldAndValueInfo
6364
) {
6465
if (
65-
!datasetMetadataFieldAndValueInfo.metadataFieldInfo.controlledVocabularyValues.includes(
66+
!datasetMetadataFieldAndValueInfo.metadataFieldInfo.controlledVocabularyValues?.includes(
6667
datasetMetadataFieldAndValueInfo.metadataFieldValue as string
6768
)
6869
) {
@@ -120,13 +121,21 @@ export class SingleMetadataFieldValidator extends BaseMetadataFieldValidator {
120121
datasetMetadataFieldAndValueInfo: DatasetMetadataFieldAndValueInfo
121122
) {
122123
const metadataFieldInfo = datasetMetadataFieldAndValueInfo.metadataFieldInfo
123-
const childMetadataFieldKeys = Object.keys(metadataFieldInfo.childMetadataFields)
124+
125+
const childMetadataFieldKeys = Object.keys(
126+
metadataFieldInfo.childMetadataFields as Record<string, MetadataFieldInfo>
127+
)
128+
124129
const metadataFieldValidator = new MetadataFieldValidator(
125130
this,
126131
new MultipleMetadataFieldValidator(this)
127132
)
133+
128134
for (const childMetadataFieldKey of childMetadataFieldKeys) {
129-
const childMetadataFieldInfo = metadataFieldInfo.childMetadataFields[childMetadataFieldKey]
135+
const childMetadataFieldInfo = (
136+
metadataFieldInfo.childMetadataFields as Record<string, MetadataFieldInfo>
137+
)[childMetadataFieldKey]
138+
130139
metadataFieldValidator.validate({
131140
metadataFieldInfo: childMetadataFieldInfo,
132141
metadataFieldKey: childMetadataFieldKey,

src/datasets/infra/repositories/transformers/datasetTransformers.ts

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ export const transformDatasetModelToUpdateDatasetRequestPayload = (
6868
datasetMetadataBlocksValues.forEach(function (
6969
newDatasetMetadataBlockValues: DatasetMetadataBlockValuesDTO
7070
) {
71-
const metadataBlock: MetadataBlock = metadataBlocks.find(
71+
const metadataBlock = metadataBlocks.find(
7272
(metadataBlock) => metadataBlock.name == newDatasetMetadataBlockValues.name
73-
)
73+
) as MetadataBlock
7474
const metadataBlockFieldsPayload: MetadataFieldRequestPayload[] = []
7575
const metadataBlockFields = metadataBlock.metadataFields
7676
const datasetMetadataFields = newDatasetMetadataBlockValues.fields
@@ -119,7 +119,7 @@ export const transformMetadataBlockModelsToRequestPayload = (
119119
) {
120120
const metadataBlock: MetadataBlock = metadataBlocks.find(
121121
(metadataBlock) => metadataBlock.name == newDatasetMetadataBlockValues.name
122-
)
122+
) as MetadataBlock
123123
metadataBlocksRequestPayload[newDatasetMetadataBlockValues.name] = {
124124
fields: transformMetadataFieldModelsToRequestPayload(
125125
newDatasetMetadataBlockValues.fields,
@@ -195,8 +195,9 @@ export const transformMetadataChildFieldValueToRequestPayload = (
195195
): Record<string, MetadataFieldRequestPayload> => {
196196
const metadataChildFieldRequestPayload: Record<string, MetadataFieldRequestPayload> = {}
197197
for (const metadataChildFieldKey of Object.keys(datasetMetadataChildFieldValue)) {
198-
const childMetadataFieldInfo: MetadataFieldInfo =
199-
metadataBlockFieldInfo.childMetadataFields[metadataChildFieldKey]
198+
const childMetadataFieldInfo: MetadataFieldInfo = (
199+
metadataBlockFieldInfo.childMetadataFields as Record<string, MetadataFieldInfo>
200+
)[metadataChildFieldKey]
200201
const value: string = datasetMetadataChildFieldValue[metadataChildFieldKey] as unknown as string
201202
metadataChildFieldRequestPayload[metadataChildFieldKey] = {
202203
value: value,
@@ -242,7 +243,9 @@ export const transformVersionPayloadToDataset = (
242243
})
243244
}
244245
if ('license' in versionPayload) {
245-
datasetModel.license = transformPayloadToDatasetLicense(versionPayload.license)
246+
datasetModel.license = transformPayloadToDatasetLicense(
247+
versionPayload.license as LicensePayload
248+
)
246249
}
247250
if ('alternativePersistentId' in versionPayload) {
248251
datasetModel.alternativePersistentId = versionPayload.alternativePersistentId

tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
"target": "es2015",
1313
"outDir": "./dist",
1414
"esModuleInterop": true,
15-
"resolveJsonModule": true
15+
"resolveJsonModule": true,
16+
"strictNullChecks": true
1617
},
1718
"include": ["src/**/*"],
1819
"exclude": [

0 commit comments

Comments
 (0)