Skip to content
This repository was archived by the owner on Feb 10, 2025. It is now read-only.

Commit a4f10b2

Browse files
vincit-matujoonatank
authored andcommitted
fix: typing
1 parent 7e1c9f4 commit a4f10b2

43 files changed

Lines changed: 486 additions & 549 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/admin-ui/gql/gql-types.ts

Lines changed: 69 additions & 89 deletions
Large diffs are not rendered by default.

apps/admin-ui/src/component/QueryParamFilters/CheckboxFilter.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import styled from "styled-components";
2-
import {Checkbox} from "hds-react";
3-
import {useSearchParams} from "react-router-dom";
4-
import {useTranslation} from "react-i18next";
2+
import { Checkbox } from "hds-react";
3+
import { useSearchParams } from "react-router-dom";
4+
import { useTranslation } from "react-i18next";
55
import React from "react";
66

77
// "&& > *" needed to position the checkbox and label correctly in the grid block

apps/admin-ui/src/component/my-units/MyUnitRecurringReservation/hooks.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,33 @@ import { useMemo } from "react";
22
import { useTranslation } from "react-i18next";
33
import get from "lodash/get";
44
import type {
5-
RecurringReservationCreateMutationInput,
6-
ReservationStaffCreateMutationInput,
75
Maybe,
6+
RecurringReservationCreateMutationInput,
87
ReservationMetadataFieldNode,
98
ReservationsInIntervalFragment,
9+
ReservationStaffCreateMutationInput,
1010
} from "@gql/gql-types";
1111
import {
12-
ReservationTypeChoice,
1312
ReservationStartInterval,
14-
useCreateStaffReservationMutation,
13+
ReservationTypeChoice,
1514
useCreateRecurringReservationMutation,
15+
useCreateStaffReservationMutation,
1616
useRecurringReservationUnitQuery,
1717
useReservationTimesInReservationUnitQuery,
1818
} from "@gql/gql-types";
1919
import type { UseFormReturn } from "react-hook-form";
2020
import type { RecurringReservationForm } from "app/schemas";
2121
import {
22+
fromUIDateUnsafe,
2223
toApiDate,
2324
toApiDateUnsafe,
24-
fromUIDateUnsafe,
2525
} from "common/src/common/util";
2626
import { addDays } from "date-fns";
2727
import {
2828
CollisionInterval,
29+
dateTime,
2930
doesIntervalCollide,
3031
reservationToInterval,
31-
dateTime,
3232
} from "@/helpers";
3333
import { generateReservations } from "./generateReservations";
3434
import { useNotification } from "@/context/NotificationContext";

apps/admin-ui/src/component/my-units/create-reservation/CreateReservationModal.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,17 +284,20 @@ const DialogContent = ({
284284

285285
const flatMetaValues = flattenMetadata(values, fields);
286286

287+
if (values.type == null) {
288+
throw new Error("Invalid reservation type");
289+
}
287290
const bufferBefore =
288-
values.type !== "BLOCKED" && values.bufferTimeBefore
291+
values.type !== ReservationTypeChoice.Blocked && values.bufferTimeBefore
289292
? reservationUnit.bufferTimeBefore ?? 0
290293
: 0;
291294
const bufferAfter =
292-
values.type !== "BLOCKED" && values.bufferTimeAfter
295+
values.type !== ReservationTypeChoice.Blocked && values.bufferTimeAfter
293296
? reservationUnit.bufferTimeAfter ?? 0
294297
: 0;
295298
const input: ReservationStaffCreateMutationInput = {
296299
reservationUnitPks: [reservationUnit.pk],
297-
type: values.type ?? "",
300+
type: values.type,
298301
begin: dateTime(values.date, values.startTime),
299302
end: dateTime(values.date, values.endTime),
300303
bufferTimeBefore: bufferBefore.toString(),

apps/admin-ui/src/component/my-units/eventStyleGetter.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { type CalendarEvent } from "common/src/calendar/Calendar";
22
import {
3-
State,
3+
ReservationStateChoice,
44
ReservationTypeChoice,
55
type ReservationUnitReservationsFragment,
66
} from "@gql/gql-types";
@@ -77,8 +77,9 @@ const eventStyleGetter =
7777
(ru) => ru?.pk === currentReservationUnitPk
7878
);
7979

80-
const isConfirmed = event?.state === State.Confirmed;
81-
const isWaitingForPayment = event?.state === State.WaitingForPayment;
80+
const isConfirmed = event?.state === ReservationStateChoice.Confirmed;
81+
const isWaitingForPayment =
82+
event?.state === ReservationStateChoice.WaitingForPayment;
8283

8384
const isClosed = event?.type === ReservationTypeChoice.Blocked;
8485
const isStaff = event?.type === ReservationTypeChoice.Staff;

apps/admin-ui/src/component/reservation-units/ReservationUnitsDataLoader.tsx

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import React, { useState } from "react";
22
import { type ApolloError } from "@apollo/client";
33
import {
44
ReservationUnitOrderingChoices,
5+
ReservationUnitState,
56
useSearchReservationUnitsQuery,
67
} from "@gql/gql-types";
78
import { filterNonNullable, toNumber } from "common/src/helpers";
@@ -94,6 +95,29 @@ export function ReservationUnitsDataReader(): JSX.Element {
9495
searchParams.get("surfaceAreaGte")
9596
)?.toString();
9697

98+
function convertToReservationUnitState(
99+
state: string
100+
): ReservationUnitState | null {
101+
switch (state) {
102+
case ReservationUnitState.Archived:
103+
return ReservationUnitState.Archived;
104+
case ReservationUnitState.Draft:
105+
return ReservationUnitState.Draft;
106+
case ReservationUnitState.Hidden:
107+
return ReservationUnitState.Hidden;
108+
case ReservationUnitState.Published:
109+
return ReservationUnitState.Published;
110+
case ReservationUnitState.ScheduledHiding:
111+
return ReservationUnitState.ScheduledHiding;
112+
case ReservationUnitState.ScheduledPeriod:
113+
return ReservationUnitState.ScheduledPeriod;
114+
case ReservationUnitState.ScheduledPublishing:
115+
return ReservationUnitState.ScheduledPublishing;
116+
default:
117+
return null;
118+
}
119+
}
120+
97121
const query = useSearchReservationUnitsQuery({
98122
variables: {
99123
orderBy,
@@ -104,7 +128,9 @@ export function ReservationUnitsDataReader(): JSX.Element {
104128
surfaceAreaGte,
105129
nameFi: searchFilter,
106130
unit,
107-
state: reservationUnitStates,
131+
state: reservationUnitStates.map((state) =>
132+
convertToReservationUnitState(state)
133+
),
108134
reservationUnitType: reservationUnitTypes,
109135
},
110136
onError: (err: ApolloError) => {

apps/admin-ui/src/component/reservation-units/queries.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export const SEARCH_RESERVATION_UNITS_QUERY = gql`
1212
$unit: [Int]
1313
$reservationUnitType: [Int]
1414
$orderBy: [ReservationUnitOrderingChoices]
15-
$state: [String]
15+
$state: [ReservationUnitState]
1616
) {
1717
reservationUnits(
1818
first: $first

apps/admin-ui/src/component/reservations/EditPage.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ function EditReservation({
160160
reservationUnitPks: [reservationUnit.pk],
161161
seriesName: values.seriesName !== "" ? values.seriesName : undefined,
162162
workingMemo: values.comments,
163-
type: values.type ?? "",
163+
type: values.type,
164164
...flattenedMetadataSetValues,
165165
};
166166

apps/admin-ui/src/component/reservations/Filters.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import { SearchTags } from "../SearchTags";
2020
import {
2121
OrderStatusWithFree,
2222
ReservationTypeChoice,
23-
State,
23+
ReservationStateChoice,
2424
} from "@gql/gql-types";
2525
import { fromUIDate, isValidDate } from "common/src/common/util";
2626

@@ -47,8 +47,8 @@ export function Filters({
4747

4848
const { options: reservationUnitTypeOptions } = useReservationUnitTypes();
4949

50-
const stateOptions = Object.values(State)
51-
.filter((s) => s !== State.Created)
50+
const stateOptions = Object.values(ReservationStateChoice)
51+
.filter((s) => s !== ReservationStateChoice.Created)
5252
.map((s) => ({
5353
value: s,
5454
label: t(`RequestedReservation.state.${s}`),

apps/admin-ui/src/component/reservations/RequestedReservations.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@ import BreadcrumbWrapper from "../BreadcrumbWrapper";
77
import { HR } from "@/component/Table";
88
import { Container } from "@/styles/layout";
99
import { useSearchParams } from "react-router-dom";
10-
import { State } from "@gql/gql-types";
10+
import { ReservationStateChoice } from "@gql/gql-types";
1111
import { toUIDate } from "common/src/common/util";
1212

13-
const defaultStates = [State.Denied, State.Confirmed, State.RequiresHandling];
13+
const defaultStates = [
14+
ReservationStateChoice.Denied,
15+
ReservationStateChoice.Confirmed,
16+
ReservationStateChoice.RequiresHandling,
17+
];
1418

1519
function Reservations(): JSX.Element {
1620
const { t } = useTranslation();

0 commit comments

Comments
 (0)