Skip to content

Commit 4a7ecab

Browse files
[DOP-27352] Rename Dataset model relationship field from tags to tag_values (#292)
1 parent 90e0944 commit 4a7ecab

File tree

8 files changed

+25
-28
lines changed

8 files changed

+25
-28
lines changed

data_rentgen/db/models/dataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ class Dataset(Base):
4141
doc="Dataset name, e.g. table name or filesystem path",
4242
)
4343

44-
tags: Mapped[set[TagValue]] = relationship(secondary=lambda: dataset_tags_table)
44+
tag_values: Mapped[set[TagValue]] = relationship(secondary=lambda: dataset_tags_table)
4545

4646
search_vector: Mapped[str] = mapped_column(
4747
TSVECTOR,

data_rentgen/db/repositories/dataset.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ async def paginate(
5454
tv_ids = list(tag_value_ids)
5555
dataset_ids_subq = (
5656
select(Dataset.id)
57-
.join(Dataset.tags)
57+
.join(Dataset.tag_values)
5858
.where(TagValue.id.in_(tv_ids))
5959
.group_by(Dataset.id)
6060
# If multiple tag values are passed, dataset should have both of them (AND, not OR)
@@ -99,7 +99,7 @@ async def paginate(
9999

100100
options = [
101101
selectinload(Dataset.location).selectinload(Location.addresses),
102-
selectinload(Dataset.tags).selectinload(TagValue.tag),
102+
selectinload(Dataset.tag_values).selectinload(TagValue.tag),
103103
]
104104
return await self._paginate_by_query(
105105
query=query,
@@ -116,7 +116,7 @@ async def list_by_ids(self, dataset_ids: Collection[int]) -> list[Dataset]:
116116
select(Dataset)
117117
.where(Dataset.id == any_(list(dataset_ids))) # type: ignore[arg-type]
118118
.options(selectinload(Dataset.location).selectinload(Location.addresses))
119-
.options(selectinload(Dataset.tags).selectinload(TagValue.tag))
119+
.options(selectinload(Dataset.tag_values).selectinload(TagValue.tag))
120120
)
121121
result = await self._session.scalars(query)
122122
return list(result.all())

data_rentgen/server/services/dataset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ async def paginate(
7373
],
7474
)
7575
for tag, group in groupby(
76-
sorted(dataset.tags, key=lambda tv: tv.tag.name),
76+
sorted(dataset.tag_values, key=lambda tv: tv.tag.name),
7777
key=lambda tv: tv.tag,
7878
)
7979
],

tests/test_server/fixtures/factories/dataset.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ async def create_dataset(
3535
async_session: AsyncSession,
3636
location_id: int,
3737
dataset_kwargs: dict | None = None,
38-
tags: set[TagValue] | None = None,
38+
tag_values: set[TagValue] | None = None,
3939
) -> Dataset:
4040
if dataset_kwargs:
4141
dataset_kwargs.update({"location_id": location_id})
4242
else:
4343
dataset_kwargs = {"location_id": location_id}
4444
dataset = dataset_factory(**dataset_kwargs)
4545
del dataset.id
46-
if tags:
47-
dataset.tags |= tags
46+
if tag_values:
47+
dataset.tag_values |= tag_values
4848
async_session.add(dataset)
4949
await async_session.commit()
5050
await async_session.refresh(dataset)
@@ -69,7 +69,7 @@ async def create_dataset_with_tags(
6969
async_session,
7070
location_id=location.id,
7171
dataset_kwargs=dataset_kwargs,
72-
tags=tag_values,
72+
tag_values=tag_values,
7373
)
7474

7575

@@ -336,7 +336,7 @@ async def _create(tag_values: list[TagValue] | None = None, dataset_kwargs: dict
336336
async_session,
337337
location_id=location.id,
338338
dataset_kwargs=dataset_kwargs,
339-
tags=set(tag_values or []),
339+
tag_values=set(tag_values or []),
340340
)
341341
async_session.expunge_all()
342342
return dataset

tests/test_server/test_datasets/test_get_datasets.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ async def test_get_datasets_no_filters(
4040
{
4141
"id": str(dataset.id),
4242
"data": dataset_to_json(dataset),
43-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
43+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
4444
}
4545
for dataset in sorted(datasets, key=lambda x: x.name)
4646
],

tests/test_server/test_datasets/test_get_datasets_by_id.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ async def test_get_datasets_by_one_id(
4747
async_session: AsyncSession,
4848
mocked_user: MockedUser,
4949
):
50-
datasets = await enrich_datasets([dataset], async_session)
51-
dataset = datasets[0]
50+
[dataset] = await enrich_datasets([dataset], async_session)
5251

5352
response = await test_client.get(
5453
"v1/datasets",
@@ -72,7 +71,7 @@ async def test_get_datasets_by_one_id(
7271
{
7372
"id": str(dataset.id),
7473
"data": dataset_to_json(dataset),
75-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
74+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
7675
},
7776
],
7877
}
@@ -109,7 +108,7 @@ async def test_get_datasets_by_multiple_ids(
109108
{
110109
"id": str(dataset.id),
111110
"data": dataset_to_json(dataset),
112-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
111+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
113112
}
114113
for dataset in sorted(selected_datasets, key=lambda x: x.name)
115114
],
@@ -122,8 +121,7 @@ async def test_get_datasets_by_one_id_with_tags(
122121
async_session: AsyncSession,
123122
mocked_user: MockedUser,
124123
):
125-
datasets = await enrich_datasets([dataset_with_tags], async_session)
126-
dataset = datasets[0]
124+
[dataset] = await enrich_datasets([dataset_with_tags], async_session)
127125

128126
response = await test_client.get(
129127
"v1/datasets",
@@ -147,7 +145,7 @@ async def test_get_datasets_by_one_id_with_tags(
147145
{
148146
"id": str(dataset.id),
149147
"data": dataset_to_json(dataset),
150-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
148+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
151149
},
152150
],
153151
}
@@ -160,9 +158,8 @@ async def test_get_datasets_by_tag_value_id(
160158
async_session: AsyncSession,
161159
mocked_user: MockedUser,
162160
):
163-
datasets_with_tags = await enrich_datasets([dataset_with_tags], async_session)
164-
dataset = datasets_with_tags[0]
165-
tag_value_id = next(iter(dataset.tags)).id
161+
[dataset] = await enrich_datasets([dataset_with_tags], async_session)
162+
tag_value_id = next(iter(dataset.tag_values)).id
166163

167164
response = await test_client.get(
168165
"v1/datasets",
@@ -186,7 +183,7 @@ async def test_get_datasets_by_tag_value_id(
186183
{
187184
"id": str(dataset.id),
188185
"data": dataset_to_json(dataset),
189-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
186+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
190187
},
191188
],
192189
}
@@ -228,7 +225,7 @@ async def test_get_datasets_by_multiple_tag_value_ids(
228225
{
229226
"id": str(wanted_dataset.id),
230227
"data": dataset_to_json(wanted_dataset),
231-
"tags": tag_values_to_json(wanted_dataset.tags),
228+
"tags": tag_values_to_json(wanted_dataset.tag_values),
232229
},
233230
],
234231
}

tests/test_server/test_datasets/test_search_datasets.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ async def test_search_datasets_by_address_url(
4545
{
4646
"id": str(dataset.id),
4747
"data": dataset_to_json(dataset),
48-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
48+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
4949
}
5050
for dataset in datasets
5151
],
@@ -95,7 +95,7 @@ async def test_search_datasets_by_location_name(
9595
{
9696
"id": str(dataset.id),
9797
"data": dataset_to_json(dataset),
98-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
98+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
9999
}
100100
for dataset in datasets
101101
],
@@ -134,7 +134,7 @@ async def test_search_datasets_by_dataset_name(
134134
{
135135
"id": str(dataset.id),
136136
"data": dataset_to_json(dataset),
137-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
137+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
138138
}
139139
for dataset in datasets
140140
],
@@ -180,7 +180,7 @@ async def test_search_datasets_by_location_name_and_address_url(
180180
{
181181
"id": str(dataset.id),
182182
"data": dataset_to_json(dataset),
183-
"tags": tag_values_to_json(dataset.tags) if dataset.tags else [],
183+
"tags": tag_values_to_json(dataset.tag_values) if dataset.tag_values else [],
184184
}
185185
for dataset in datasets
186186
],

tests/test_server/utils/enrich.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ async def enrich_datasets(datasets: list[Dataset], async_session: AsyncSession)
2121
select(Dataset)
2222
.where(Dataset.id.in_(dataset_ids))
2323
.options(selectinload(Dataset.location).selectinload(Location.addresses))
24-
.options(selectinload(Dataset.tags).selectinload(TagValue.tag))
24+
.options(selectinload(Dataset.tag_values).selectinload(TagValue.tag))
2525
)
2626
result = await async_session.scalars(query)
2727
datasets_by_id = {dataset.id: dataset for dataset in result.all()}

0 commit comments

Comments
 (0)