Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update linting #1150

Merged
merged 11 commits into from
Jan 9, 2025
19 changes: 14 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -15,11 +15,20 @@ This repository is split up into multiple subprojects using [pnpm](https://pnpm.
- library of helpwave (see [lib](/lib))

## Getting Started
To get started you will have to in install [pnpm](https://pnpm.io). After that you
can use the following commands to start one of our projects.

### Prerequisites
Before you can start you need to have these installed:
- [Node.js](https://nodejs.org/)
- [pnpm](https://pnpm.io/) (installation through npm `npm install -g pnpm`)

### Setup
```shell
pnpm install
cd <project> # e.g. tasks, landing-page
```

### Usage
```shell
cd tasks # or any other page like e.g. landing-page
pnpm run dev
```

@@ -42,7 +51,7 @@ pnpm run storybook
This project is tested with [BrowserStack](https://www.browserstack.com).

## Linter
Our projects use linting with `eslint` to create a uniform code style. The linter can used with:
Our projects use linting with `eslint` to create a uniform code style. The linter can be used with:

```shell
pnpm run --filter "@helpwave/*" lint
@@ -52,7 +61,7 @@ pnpm run --filter "@helpwave/*" lint
pnpm run --filter "@helpwave/*" lint --fix
```

It is configured in the [eslint-config](eslint-config/index.js).
It's configuration and further explanation can be found in the [eslint-config](eslint-config/README.md).

## Scripts
The list of all our scripts can be found [here](documentation/scripts.md).
5 changes: 0 additions & 5 deletions api-services/.eslintrc.cjs

This file was deleted.

2 changes: 1 addition & 1 deletion api-services/authentication/grpc_metadata.ts
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@ import type { Metadata } from 'grpc-web'
import { KeycloakService } from '../util/keycloak'

type AuthenticatedGrpcMetadata = {
Authorization: string
Authorization: string,
}

const defaultOrganization = `3b25c6f5-4705-4074-9fc6-a50c28eba406`
2 changes: 1 addition & 1 deletion api-services/authentication/oauth.ts
Original file line number Diff line number Diff line change
@@ -84,7 +84,7 @@ const buildAuthorizationUrl = (params: {
codeChallenge: string,
redirectUri: string,
scopes: string[],
state: string
state: string,
}): URL => {
const authorizationUrl = new URL(params.baseUrl)
authorizationUrl.searchParams.set('client_id', params.clientId)
6 changes: 3 additions & 3 deletions api-services/authentication/useAuth.tsx
Original file line number Diff line number Diff line change
@@ -75,11 +75,11 @@ type AuthContextValue = {
token?: string,
organization?: {
id: string,
name: string
name: string,
},
organizations: string[],
signOut: () => void,
redirectUserToOrganizationSelection: () => void
redirectUserToOrganizationSelection: () => void,
}

const defaultAuthContextValue: AuthContextValue = {
@@ -108,7 +108,7 @@ export const useAuth = (): AuthContextValue => {
}
authContext.setUser(user)
})
}, [])
}, []) // eslint-disable-line react-hooks/exhaustive-deps

return authContext
}
18 changes: 9 additions & 9 deletions api-services/config/config.ts
Original file line number Diff line number Diff line change
@@ -83,15 +83,15 @@ const getAPIServiceConfig = () => {
// Not using the index notation causes build errors
const maybeConfig = configSchema.safeParse({
NODE_ENV: process.env.NODE_ENV,
NEXT_PUBLIC_API_URL: process.env['NEXT_PUBLIC_API_URL'], // eslint-disable-line dot-notation
NEXT_PUBLIC_OFFLINE_API: process.env['NEXT_PUBLIC_OFFLINE_API'], // eslint-disable-line dot-notation
NEXT_PUBLIC_REQUEST_LOGGING: process.env['NEXT_PUBLIC_REQUEST_LOGGING'], // eslint-disable-line dot-notation
NEXT_PUBLIC_OAUTH_ISSUER_URL: process.env['NEXT_PUBLIC_OAUTH_ISSUER_URL'], // eslint-disable-line dot-notation
NEXT_PUBLIC_OAUTH_REDIRECT_URI: process.env['NEXT_PUBLIC_OAUTH_REDIRECT_URI'], // eslint-disable-line dot-notation
NEXT_PUBLIC_OAUTH_CLIENT_ID: process.env['NEXT_PUBLIC_OAUTH_CLIENT_ID'], // eslint-disable-line dot-notation
NEXT_PUBLIC_OAUTH_SCOPES: process.env['NEXT_PUBLIC_OAUTH_SCOPES'], // eslint-disable-line dot-notation
NEXT_PUBLIC_FAKE_TOKEN_ENABLE: process.env['NEXT_PUBLIC_FAKE_TOKEN_ENABLE'], // eslint-disable-line dot-notation
NEXT_PUBLIC_FAKE_TOKEN: process.env['NEXT_PUBLIC_FAKE_TOKEN'], // eslint-disable-line dot-notation
NEXT_PUBLIC_API_URL: process.env['NEXT_PUBLIC_API_URL'],
NEXT_PUBLIC_OFFLINE_API: process.env['NEXT_PUBLIC_OFFLINE_API'],
NEXT_PUBLIC_REQUEST_LOGGING: process.env['NEXT_PUBLIC_REQUEST_LOGGING'],
NEXT_PUBLIC_OAUTH_ISSUER_URL: process.env['NEXT_PUBLIC_OAUTH_ISSUER_URL'],
NEXT_PUBLIC_OAUTH_REDIRECT_URI: process.env['NEXT_PUBLIC_OAUTH_REDIRECT_URI'],
NEXT_PUBLIC_OAUTH_CLIENT_ID: process.env['NEXT_PUBLIC_OAUTH_CLIENT_ID'],
NEXT_PUBLIC_OAUTH_SCOPES: process.env['NEXT_PUBLIC_OAUTH_SCOPES'],
NEXT_PUBLIC_FAKE_TOKEN_ENABLE: process.env['NEXT_PUBLIC_FAKE_TOKEN_ENABLE'],
NEXT_PUBLIC_FAKE_TOKEN: process.env['NEXT_PUBLIC_FAKE_TOKEN'],
})

if (!maybeConfig.success) {
2 changes: 1 addition & 1 deletion api-services/environment.d.ts
Original file line number Diff line number Diff line change
@@ -9,6 +9,6 @@ declare namespace NodeJS {
NEXT_PUBLIC_OAUTH_CLIENT_ID?: string,
NEXT_PUBLIC_OAUTH_SCOPES?: string,
NEXT_PUBLIC_FAKE_TOKEN_ENABLE?: string,
NEXT_PUBLIC_FAKE_TOKEN?: string
NEXT_PUBLIC_FAKE_TOKEN?: string,
}
}
3 changes: 3 additions & 0 deletions api-services/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import config from '@helpwave/eslint-config'

export default config.recommended
8 changes: 4 additions & 4 deletions api-services/mutations/properties/property_mutations.ts
Original file line number Diff line number Diff line change
@@ -140,7 +140,7 @@ export const usePropertyCreateMutation = (callback: (property: Property) => void
return newValue
},
onSuccess: () => {
queryClient.invalidateQueries([QueryKeys.properties]).then()
queryClient.invalidateQueries([QueryKeys.properties]).catch(console.error)
}
})
}
@@ -187,7 +187,7 @@ export const usePropertyUpdateMutation = (callback: (property: Property) => void
return property
},
onSuccess: () => {
queryClient.invalidateQueries([QueryKeys.properties]).then()
queryClient.invalidateQueries([QueryKeys.properties]).catch(console.error)
}
})
}
@@ -196,7 +196,7 @@ type ChangeSelectOptions = {
propertyId: string,
add: SelectOption[],
update: SelectOption[],
remove: string[]
remove: string[],
}
export const usePropertyChangeSelectOptionMutation = (callback: () => void = noop) => {
const queryClient = useQueryClient()
@@ -235,7 +235,7 @@ export const usePropertyChangeSelectOptionMutation = (callback: () => void = noo
callback()
},
onSuccess: () => {
queryClient.invalidateQueries([QueryKeys.properties]).then()
queryClient.invalidateQueries([QueryKeys.properties]).catch(console.error)
}
})
}
10 changes: 5 additions & 5 deletions api-services/mutations/properties/property_value_mutations.ts
Original file line number Diff line number Diff line change
@@ -3,8 +3,8 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
import {
AttachPropertyValueRequest,
GetAttachedPropertyValuesRequest,
TaskPropertyMatcher,
PatientPropertyMatcher, GetAttachedPropertyValuesResponse
GetAttachedPropertyValuesResponse,
PatientPropertyMatcher, TaskPropertyMatcher
} from '@helpwave/proto-ts/services/property_svc/v1/property_value_svc_pb'
import {
Date as ProtoDate
@@ -13,7 +13,7 @@ import { ArrayUtil } from '@helpwave/common/util/array'
import { APIServices } from '../../services'
import { getAuthenticatedGrpcMetadata } from '../../authentication/grpc_metadata'
import { QueryKeys } from '../query_keys'
import type { SubjectType, FieldType } from '../../types/properties/property'
import type { FieldType, SubjectType } from '../../types/properties/property'
import type { AttachedProperty, DisplayableAttachedProperty } from '../../types/properties/attached_property'
import { GRPCConverter } from '../../util/util'
import type { Update } from '../../types/update'
@@ -85,7 +85,7 @@ export const usePropertyWithValueListQuery = (subjectId: string | undefined, sub
}

type AttachedPropertyMutationUpdate<T extends AttachedProperty> = Update<T> & {
fieldType: FieldType
fieldType: FieldType,
}

/**
@@ -160,7 +160,7 @@ export const useAttachPropertyMutation = <T extends AttachedProperty>(callback:
return newProperty
},
onSuccess: (data) => {
queryClient.invalidateQueries([QueryKeys.properties, QueryKeys.attachedProperties, data.subjectId]).then()
queryClient.invalidateQueries([QueryKeys.properties, QueryKeys.attachedProperties, data.subjectId]).catch(console.error)
},
})
}
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ type PropertyViewRuleFilterUpdate = {
appendToAlwaysInclude?: string[],
removeFromAlwaysInclude?: string[],
appendToDontAlwaysInclude?: string[],
removeFromDontAlwaysInclude?: string[]
removeFromDontAlwaysInclude?: string[],
}

export const useUpdatePropertyViewRuleRequest = (subjectType: SubjectType, wardId?: string) => {
@@ -50,7 +50,7 @@ export const useUpdatePropertyViewRuleRequest = (subjectType: SubjectType, wardI
await APIServices.propertyViewSource.updatePropertyViewRule(req, getAuthenticatedGrpcMetadata())
},
onSuccess: () => {
queryClient.invalidateQueries([QueryKeys.properties]).then()
queryClient.invalidateQueries([QueryKeys.properties]).catch(console.error)
}
})
}
16 changes: 8 additions & 8 deletions api-services/mutations/tasks/bed_mutations.ts
Original file line number Diff line number Diff line change
@@ -49,9 +49,9 @@ export const useBedCreateMutation = () => {
return { id: res.getId(), name: bed.name }
},
onSuccess: () => {
queryClient.refetchQueries([QueryKeys.beds]).then()
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).then()
queryClient.refetchQueries([QueryKeys.wards]).then()
queryClient.refetchQueries([QueryKeys.beds]).catch(console.error)
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).catch(console.error)
queryClient.refetchQueries([QueryKeys.wards]).catch(console.error)
},
})
}
@@ -76,8 +76,8 @@ export const useBedUpdateMutation = () => {
return obj
},
onSuccess: () => {
queryClient.refetchQueries([APIServices.bed]).then()
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).then()
queryClient.refetchQueries([APIServices.bed]).catch(console.error)
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).catch(console.error)
},
})
}
@@ -100,9 +100,9 @@ export const useBedDeleteMutation = () => {
return obj
},
onSuccess: () => {
queryClient.refetchQueries([APIServices.bed]).then()
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).then()
queryClient.refetchQueries([QueryKeys.wards]).then()
queryClient.refetchQueries([APIServices.bed]).catch(console.error)
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).catch(console.error)
queryClient.refetchQueries([QueryKeys.wards]).catch(console.error)
},
})
}
28 changes: 14 additions & 14 deletions api-services/mutations/tasks/patient_mutations.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
import {
AssignBedRequest,
CreatePatientRequest,
DischargePatientRequest,
UpdatePatientRequest,
AssignBedRequest,
UnassignBedRequest,
ReadmitPatientRequest,
GetRecentPatientsRequest,
GetPatientAssignmentByWardRequest,
GetPatientDetailsRequest,
GetPatientListRequest,
GetPatientsByWardRequest,
GetPatientAssignmentByWardRequest,
GetPatientListRequest
GetRecentPatientsRequest,
ReadmitPatientRequest,
UnassignBedRequest,
UpdatePatientRequest
} from '@helpwave/proto-ts/services/tasks_svc/v1/patient_svc_pb'
import { noop } from '@helpwave/common/util/noop'
import { APIServices } from '../../services'
import { getAuthenticatedGrpcMetadata } from '../../authentication/grpc_metadata'
import type {
PatientDetailsDTO, PatientDTO,
PatientDTO, PatientDetailsDTO,
PatientListDTO,
PatientMinimalDTO,
PatientWithBedIdDTO,
@@ -273,8 +273,8 @@ export const useAssignBedMutation = (callback: (bed: BedWithPatientId) => void =
return bed
},
onSuccess: () => {
queryClient.refetchQueries([QueryKeys.rooms]).then()
queryClient.refetchQueries([QueryKeys.patients]).then()
queryClient.refetchQueries([QueryKeys.rooms]).catch(console.error)
queryClient.refetchQueries([QueryKeys.patients]).catch(console.error)
}
})
}
@@ -296,8 +296,8 @@ export const useUnassignMutation = (callback: () => void = noop) => {
return res.toObject()
},
onSuccess: () => {
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).then()
queryClient.refetchQueries([QueryKeys.patients]).then()
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).catch(console.error)
queryClient.refetchQueries([QueryKeys.patients]).catch(console.error)
}
})
}
@@ -358,8 +358,8 @@ export const useReadmitPatientMutation = (callback: (patientId: string) => void
return res.toObject()
},
onSuccess: () => {
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).then()
queryClient.refetchQueries([QueryKeys.patients]).then()
queryClient.refetchQueries([QueryKeys.rooms, roomOverviewsQueryKey]).catch(console.error)
queryClient.refetchQueries([QueryKeys.patients]).catch(console.error)
}
})
}
10 changes: 5 additions & 5 deletions api-services/mutations/tasks/room_mutations.ts
Original file line number Diff line number Diff line change
@@ -90,7 +90,7 @@ export const useRoomUpdateMutation = (callback: (room: RoomMinimalDTO) => void)
return room
},
onSuccess: () => {
queryClient.invalidateQueries([QueryKeys.rooms]).then()
queryClient.invalidateQueries([QueryKeys.rooms]).catch(console.error)
},
})
}
@@ -113,8 +113,8 @@ export const useRoomCreateMutation = (callback: (room: RoomMinimalDTO) => void =
return room
},
onSuccess: () => {
queryClient.refetchQueries([QueryKeys.rooms]).then()
queryClient.refetchQueries([QueryKeys.wards]).then()
queryClient.refetchQueries([QueryKeys.rooms]).catch(console.error)
queryClient.refetchQueries([QueryKeys.wards]).catch(console.error)
}
})
}
@@ -135,8 +135,8 @@ export const useRoomDeleteMutation = (callback: () => void = noop) => {
return req.toObject()
},
onSuccess: () => {
queryClient.refetchQueries([QueryKeys.rooms]).then()
queryClient.refetchQueries([QueryKeys.wards]).then()
queryClient.refetchQueries([QueryKeys.rooms]).catch(console.error)
queryClient.refetchQueries([QueryKeys.wards]).catch(console.error)
}
})
}
Loading