Skip to content

Commit 9d95cd1

Browse files
committed
refactor: update dm and as clients anf fix UnitDetail breaking deprecation
1 parent af64de0 commit 9d95cd1

File tree

21 files changed

+71
-60
lines changed

21 files changed

+71
-60
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@
5252
"@rjsf/utils": "5.18.3",
5353
"@rjsf/validator-ajv8": "5.18.3",
5454
"@sentry/nextjs": "7.114.0",
55-
"@squonk/account-server-client": "2.2.0",
56-
"@squonk/data-manager-client": "2.0.11",
55+
"@squonk/account-server-client": "2.4.0-rc.10",
56+
"@squonk/data-manager-client": "2.1.3-rc.5",
5757
"@squonk/mui-theme": "3.0.2",
5858
"@squonk/sdf-parser": "1.3.0",
5959
"@tanstack/match-sorter-utils": "8.15.1",

pnpm-lock.yaml

Lines changed: 8 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/components/CreateDatasetStorageSubscription.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { type AsError, type UnitDetail } from "@squonk/account-server-client";
1+
import { type AsError, type UnitAllDetail } from "@squonk/account-server-client";
22
import {
33
getGetProductsQueryKey,
44
useCreateUnitProduct,
@@ -16,7 +16,7 @@ import { useGetStorageCost } from "../hooks/useGetStorageCost";
1616
import { formatCoins } from "../utils/app/coins";
1717

1818
export interface CreateDatasetStorageSubscriptionProps {
19-
unit: UnitDetail;
19+
unit: UnitAllDetail;
2020
}
2121

2222
const initialValues = {

src/components/finance/UnitCharges.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useState } from "react";
22

3-
import { type UnitDetail, type UnitProductChargeSummary } from "@squonk/account-server-client";
3+
import { type UnitAllDetail, type UnitProductChargeSummary } from "@squonk/account-server-client";
44
import { useGetUnit, useGetUnitCharges } from "@squonk/account-server-client/unit";
55

66
import {
@@ -21,7 +21,7 @@ import { ChargesLinkIconButton } from "../products/ChargesLinkIconButton";
2121
import { SelectBillingCycle } from "./SelectBillingCycle";
2222

2323
export interface UnitChargesProps {
24-
unitId: UnitDetail["id"];
24+
unitId: UnitAllDetail["id"];
2525
}
2626

2727
const productTypes: Record<UnitProductChargeSummary["product_type"], string> = {

src/components/products/DeleteProductButton.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { type ProductDetail, type UnitDetail } from "@squonk/account-server-client";
1+
import { type ProductDetail, type UnitAllDetail } from "@squonk/account-server-client";
22
import {
33
getGetProductQueryKey,
44
getGetProductsForUnitQueryKey,
@@ -18,7 +18,7 @@ export interface DeleteProductButtonProps {
1818
product: ProductDetail;
1919
disabled?: boolean;
2020
tooltip: string;
21-
unitId?: UnitDetail["id"];
21+
unitId?: UnitAllDetail["id"];
2222
}
2323

2424
export const DeleteProductButton = ({

src/components/projects/CreateProject/CreateProjectButton.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import { useState } from "react";
22

3-
import { type ProductDetail, type UnitDetail } from "@squonk/account-server-client";
3+
import { type ProductDetail, type UnitAllDetail } from "@squonk/account-server-client";
44

55
import { Button } from "@mui/material";
66

77
import { CreateProjectForm } from "./CreateProjectForm";
88

99
export interface CreateProjectButtonProps {
10-
unit: UnitDetail;
10+
unitId: UnitAllDetail["id"];
11+
unitDefaultProductPrivacy: UnitAllDetail["default_product_privacy"];
1112
product?: ProductDetail;
1213
buttonText?: string;
1314
}
@@ -16,7 +17,8 @@ export interface CreateProjectButtonProps {
1617
* Button which allows user to create a new project.
1718
*/
1819
export const CreateProjectButton = ({
19-
unit,
20+
unitId,
21+
unitDefaultProductPrivacy,
2022
product,
2123
buttonText = "Create",
2224
}: CreateProjectButtonProps) => {
@@ -29,7 +31,7 @@ export const CreateProjectButton = ({
2931
</Button>
3032

3133
<CreateProjectForm
32-
defaultPrivacy={unit.default_product_privacy}
34+
defaultPrivacy={unitDefaultProductPrivacy}
3335
modal={{
3436
id: "create-project",
3537
title: "Create Project",
@@ -38,7 +40,7 @@ export const CreateProjectButton = ({
3840
onClose: () => setOpen(false),
3941
}}
4042
product={product}
41-
unitId={unit.id}
43+
unitId={unitId}
4244
/>
4345
</>
4446
);

src/components/projects/CreateProject/CreateProjectForm.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import {
33
type ProductDetail,
44
ProductDetailFlavour,
55
ProductDetailType,
6-
type UnitDetail,
7-
UnitDetailDefaultProductPrivacy,
6+
type UnitAllDetail,
7+
UnitAllDetailDefaultProductPrivacy,
88
type UnitProductPostBodyBodyFlavour,
99
} from "@squonk/account-server-client";
1010
import {
@@ -46,8 +46,8 @@ export interface CreateProjectFormProps {
4646
modal?: Resolve<
4747
Pick<FormikModalWrapperProps, "id" | "onClose" | "open" | "submitText" | "title">
4848
>;
49-
unitId: UnitDetail["id"] | (() => Promise<UnitDetail["id"]>);
50-
defaultPrivacy: UnitDetailDefaultProductPrivacy;
49+
unitId: UnitAllDetail["id"] | (() => Promise<UnitAllDetail["id"]>);
50+
defaultPrivacy: UnitAllDetailDefaultProductPrivacy;
5151
product?: ProductDetail;
5252
autoFocus?: boolean;
5353
}
@@ -60,7 +60,7 @@ export interface Values {
6060

6161
type ProjectFormikProps = FormikConfig<Values>;
6262

63-
const isPrivateDefaultValues: Record<UnitDetailDefaultProductPrivacy, boolean> = {
63+
const isPrivateDefaultValues: Record<UnitAllDetailDefaultProductPrivacy, boolean> = {
6464
ALWAYS_PRIVATE: true,
6565
ALWAYS_PUBLIC: false,
6666
DEFAULT_PUBLIC: false,
@@ -74,10 +74,10 @@ export const CreateProjectForm = ({
7474
product,
7575
autoFocus = true,
7676
}: CreateProjectFormProps) => {
77-
const evaluationAllowed = defaultPrivacy !== UnitDetailDefaultProductPrivacy.ALWAYS_PRIVATE;
77+
const evaluationAllowed = defaultPrivacy !== UnitAllDetailDefaultProductPrivacy.ALWAYS_PRIVATE;
7878
const defaultFlavour = (
79-
defaultPrivacy === UnitDetailDefaultProductPrivacy.ALWAYS_PRIVATE ||
80-
defaultPrivacy === UnitDetailDefaultProductPrivacy.DEFAULT_PRIVATE
79+
defaultPrivacy === UnitAllDetailDefaultProductPrivacy.ALWAYS_PRIVATE ||
80+
defaultPrivacy === UnitAllDetailDefaultProductPrivacy.DEFAULT_PRIVATE
8181
? ProductDetailFlavour.BRONZE
8282
: ProductDetailFlavour.EVALUATION
8383
) satisfies ProductDetailFlavour;

src/components/projects/CreateProject/CreateProjectListItem.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { useState } from "react";
22

3-
import { type UnitDetail } from "@squonk/account-server-client";
3+
import { type UnitAllDetail } from "@squonk/account-server-client";
44

55
import { NoteAdd } from "@mui/icons-material";
66
import { ListItemButton, ListItemIcon, ListItemText } from "@mui/material";
77

88
import { CreateProjectForm } from "./CreateProjectForm";
99

1010
export interface CreateProjectListItemProps {
11-
unit: UnitDetail;
11+
unit: UnitAllDetail;
1212
}
1313

1414
/**

src/components/projects/CreateProject/PrivacyToggle.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {
22
ProductDetailFlavour,
3-
UnitDetailDefaultProductPrivacy,
3+
UnitAllDetailDefaultProductPrivacy,
44
} from "@squonk/account-server-client";
55

66
import { FormControlLabel } from "@mui/material";
@@ -15,16 +15,16 @@ export interface PrivacySwitchProps {
1515
/**
1616
* Default privacy of the product given by the unit
1717
*/
18-
defaultPrivacy: UnitDetailDefaultProductPrivacy;
18+
defaultPrivacy: UnitAllDetailDefaultProductPrivacy;
1919
}
2020

2121
export const PrivacyToggle = ({ flavour, defaultPrivacy }: PrivacySwitchProps) => {
2222
// Disable the switch if the product is an evaluation product or if the default privacy is set to
2323
// always private or always public
2424
const isDisabled =
2525
flavour === ProductDetailFlavour.EVALUATION ||
26-
defaultPrivacy === UnitDetailDefaultProductPrivacy.ALWAYS_PRIVATE ||
27-
defaultPrivacy === UnitDetailDefaultProductPrivacy.ALWAYS_PUBLIC;
26+
defaultPrivacy === UnitAllDetailDefaultProductPrivacy.ALWAYS_PRIVATE ||
27+
defaultPrivacy === UnitAllDetailDefaultProductPrivacy.ALWAYS_PUBLIC;
2828

2929
return (
3030
<FormControlLabel

src/components/units/EditDefaultPrivacy.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { type UnitDetail, UnitDetailDefaultProductPrivacy } from "@squonk/account-server-client";
1+
import {
2+
type UnitAllDetail,
3+
UnitAllDetailDefaultProductPrivacy,
4+
} from "@squonk/account-server-client";
25
import {
36
getGetUnitQueryKey,
47
getGetUnitsQueryKey,
@@ -14,7 +17,7 @@ import { useSelectedUnit } from "../../state/unitSelection";
1417
import { capitalise, shoutSnakeToLowerCase } from "../../utils/app/language";
1518

1619
export interface EditDefaultPrivacyProps {
17-
unit: UnitDetail;
20+
unit: UnitAllDetail;
1821
}
1922

2023
export const EditDefaultPrivacy = ({ unit }: EditDefaultPrivacyProps) => {
@@ -25,7 +28,7 @@ export const EditDefaultPrivacy = ({ unit }: EditDefaultPrivacyProps) => {
2528
const { enqueueError, enqueueSnackbar } = useEnqueueError();
2629
const queryClient = useQueryClient();
2730

28-
const handleSelection = async (newValue: UnitDetailDefaultProductPrivacy) => {
31+
const handleSelection = async (newValue: UnitAllDetailDefaultProductPrivacy) => {
2932
try {
3033
await patchUnit({
3134
unitId: unit.id,
@@ -37,7 +40,7 @@ export const EditDefaultPrivacy = ({ unit }: EditDefaultPrivacyProps) => {
3740
await queryClient.invalidateQueries({ queryKey: getGetUnitQueryKey(unit.id) });
3841
enqueueSnackbar("Unit default privacy updated", { variant: "success" });
3942

40-
const newUnit = { ...unit, default_product_privacy: newValue } satisfies UnitDetail;
43+
const newUnit = { ...unit, default_product_privacy: newValue } satisfies UnitAllDetail;
4144
setUnit(newUnit);
4245
} catch (error) {
4346
enqueueError(error);
@@ -64,10 +67,10 @@ export const EditDefaultPrivacy = ({ unit }: EditDefaultPrivacyProps) => {
6467
label="Default project privacy"
6568
value={unit.default_product_privacy}
6669
onChange={(event) =>
67-
void handleSelection(event.target.value as UnitDetailDefaultProductPrivacy)
70+
void handleSelection(event.target.value as UnitAllDetailDefaultProductPrivacy)
6871
}
6972
>
70-
{Object.values(UnitDetailDefaultProductPrivacy).map((rule) => (
73+
{Object.values(UnitAllDetailDefaultProductPrivacy).map((rule) => (
7174
<MenuItem key={rule} value={rule}>
7275
{capitalise(shoutSnakeToLowerCase(rule))}
7376
</MenuItem>

0 commit comments

Comments
 (0)