From 2aef858328658ea9e0d87f9388b559c00d6f7515 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <p.gawron@atcomp.pl>
Date: Wed, 2 Oct 2024 09:28:08 +0200
Subject: [PATCH] organism and disease link can be null

---
 CHANGELOG                              |  2 ++
 src/models/disease.ts                  |  2 +-
 src/models/organism.ts                 |  2 +-
 src/redux/project/project.selectors.ts | 10 ++++------
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 04acb46f..423ce78a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,7 @@
 minerva-front (18.0.0~beta.4) stable; urgency=medium
   * Bugfix: source map for js was missing (#292)
+  * Bugfix: sometimes project don't have link to disease or organism, this
+    crashed listing of projects after log in (#290)
 
  -- Piotr Gawron <piotr.gawron@uni.lu>  Wed, 02 Oct 2024 13:00:00 +0200
 
diff --git a/src/models/disease.ts b/src/models/disease.ts
index 7152a107..b83325f7 100644
--- a/src/models/disease.ts
+++ b/src/models/disease.ts
@@ -2,7 +2,7 @@ import { z } from 'zod';
 
 export const disease = z.object({
   id: z.number().int().positive(),
-  link: z.string().optional(),
+  link: z.string().nullable(),
   type: z.string(),
   resource: z.string(),
   annotatorClassName: z.string(),
diff --git a/src/models/organism.ts b/src/models/organism.ts
index f5834562..899cbe46 100644
--- a/src/models/organism.ts
+++ b/src/models/organism.ts
@@ -2,7 +2,7 @@ import { z } from 'zod';
 
 export const organism = z.object({
   id: z.number().int().positive(),
-  link: z.string().optional(),
+  link: z.string().nullable(),
   type: z.string(),
   resource: z.string(),
   annotatorClassName: z.string(),
diff --git a/src/redux/project/project.selectors.ts b/src/redux/project/project.selectors.ts
index 7ab9a0c2..c75dc8ac 100644
--- a/src/redux/project/project.selectors.ts
+++ b/src/redux/project/project.selectors.ts
@@ -47,14 +47,12 @@ export const diseaseNameSelector = createSelector(
   projectData => projectData?.diseaseName,
 );
 
-export const diseaseLinkSelector = createSelector(
-  projectDataSelector,
-  projectData => projectData?.disease?.link,
+export const diseaseLinkSelector = createSelector(projectDataSelector, projectData =>
+  projectData?.disease?.link ? projectData?.disease?.link : undefined,
 );
 
-export const organismLinkSelector = createSelector(
-  projectDataSelector,
-  projectData => projectData?.organism?.link,
+export const organismLinkSelector = createSelector(projectDataSelector, projectData =>
+  projectData?.organism?.link ? projectData?.organism?.link : undefined,
 );
 
 export const organismNameSelector = createSelector(
-- 
GitLab