Skip to content

Commit 7914db3

Browse files
authored
Merge pull request #225 from VariantEffect/jstone-uw/ucsc-genome-browser-links
Data model for external links
2 parents 6efbe92 + 7b70dbd commit 7914db3

File tree

4 files changed

+32
-1
lines changed

4 files changed

+32
-1
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
"""External links
2+
3+
Revision ID: ec5d2787bec9
4+
Revises: 7a345f1bf9c3
5+
Create Date: 2024-05-29 06:39:17.930675
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
from sqlalchemy.dialects import postgresql
11+
12+
# revision identifiers, used by Alembic.
13+
revision = 'ec5d2787bec9'
14+
down_revision = '7a345f1bf9c3'
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade():
20+
op.add_column("scoresets", sa.Column("external_links", postgresql.JSONB(astext_type=sa.Text()), nullable=False, server_default='{}'))
21+
22+
23+
def downgrade():
24+
op.drop_column("scoresets", "external_links")

src/mavedb/models/score_set.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class ScoreSet(Base):
7272
short_description = Column(String, nullable=False)
7373
extra_metadata = Column(JSONB, nullable=False)
7474
dataset_columns = Column(JSONB, nullable=False, default={})
75+
external_links = Column(JSONB, nullable=False, default={})
7576

7677
normalised = Column(Boolean, nullable=False, default=False)
7778
private = Column(Boolean, nullable=False, default=True)

src/mavedb/view_models/score_set.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@
3434
from mavedb.view_models.variant import VariantInDbBase
3535

3636

37+
class ExternalLink(BaseModel):
38+
url: Optional[str]
39+
40+
3741
class ScoreSetGetter(PublicationIdentifiersGetter):
3842
def get(self, key: Any, default: Any = ...) -> Any:
3943
if key == "meta_analyzes_score_set_urns":
@@ -229,6 +233,7 @@ class SavedScoreSet(ScoreSetBase):
229233
modified_by: Optional[SavedUser]
230234
target_genes: Sequence[SavedTargetGene]
231235
dataset_columns: Dict
236+
external_links: Dict[str, ExternalLink]
232237
keywords: list[str]
233238

234239
class Config:
@@ -290,4 +295,4 @@ class ScoreSetPublicDump(SavedScoreSet):
290295
target_genes: Sequence[TargetGene]
291296
private: bool
292297
processing_state: Optional[ProcessingState]
293-
processing_errors: Optional[dict]
298+
processing_errors: Optional[Dict]

tests/helpers/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@
210210
"primaryPublicationIdentifiers": [],
211211
"secondaryPublicationIdentifiers": [],
212212
"datasetColumns": {},
213+
"externalLinks": {},
213214
"private": True,
214215
"experiment": TEST_MINIMAL_EXPERIMENT_RESPONSE,
215216
# keys to be set after receiving response

0 commit comments

Comments
 (0)