Skip to content

Commit

Permalink
fix(instrument-page): do not send list favorite if user not logged in
Browse files Browse the repository at this point in the history
  • Loading branch information
bas-kirill committed Aug 29, 2024
1 parent 645be6e commit 83b4d23
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions client/src/pages/instrument/api/loader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { InstrumentDetail } from "generated/model";
import { GetInstrumentByIdApi } from "generated/api/get-instrument-by-id-api";
import { ListFavoriteApi } from "generated/api/list-favorite-api";
import { apiConfig } from "shared/config/api";
import Jwt from "domain/model/jwt";

export interface InstrumentLoader {
instrument: InstrumentDetail;
Expand All @@ -19,17 +20,31 @@ export const loader: LoaderFunction = async ({
parseInt(params.instrumentId as string),
);

const listFavoriteRequest = await listFavorite.listFavorite({
withCredentials: true,
});

if (instrumentRequest.status !== 200) {
throw new Error(
`Failed to extract instrument ID: '${params.instrumentId}'`,
);
}

const instrument = instrumentRequest.data;

const jwt = Jwt.extractFromCookie()
if (jwt === null || jwt.expired()) {
return {
instrument: instrument,
favorite: false, // there is no favorite button
};
}

const listFavoriteRequest = await listFavorite.listFavorite({
headers: {
Authorization: `Bearer ${jwt.toStringValue()}`,
},
});

if (listFavoriteRequest.status !== 200) {
throw new Error(`Failed to extract favorite list}`)
}

const favoriteIds = listFavoriteRequest.data.content.map(
(instrument_detail) => instrument_detail.instrument_id.instrument_id,
);
Expand Down

0 comments on commit 83b4d23

Please sign in to comment.