Skip to content

Commit 2647c43

Browse files
authored
Merge pull request #793 from Path-of-Modifiers/792-start-tracking-game-item-id-again
#792 Now tracking game item id
2 parents 87260a5 + 20ff1ce commit 2647c43

File tree

4 files changed

+38
-3
lines changed

4 files changed

+38
-3
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
"""Added gameItemId to identified items
2+
3+
Revision ID: cc39d4eb113b
4+
Revises: e38727349f3f
5+
Create Date: 2025-10-25 22:26:59.343322
6+
7+
"""
8+
9+
from typing import Sequence, Union
10+
11+
from alembic import op
12+
import sqlalchemy as sa
13+
14+
15+
# revision identifiers, used by Alembic.
16+
revision: str = "cc39d4eb113b"
17+
down_revision: Union[str, None] = "e38727349f3f"
18+
branch_labels: Union[str, Sequence[str], None] = None
19+
depends_on: Union[str, Sequence[str], None] = None
20+
21+
22+
def upgrade() -> None:
23+
# ### commands auto generated by Alembic - please adjust! ###
24+
op.add_column("item", sa.Column("gameItemId", sa.Text(), nullable=True))
25+
# ### end Alembic commands ###
26+
27+
28+
def downgrade() -> None:
29+
# ### commands auto generated by Alembic - please adjust! ###
30+
op.drop_column("item", "gameItemId")
31+
# ### end Alembic commands ###

src/backend_api/app/core/models/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ class Item(_ItemBase, Base):
8484
# Hypertable
8585
# For hypertable specs, see alembic revision `cc29b89156db'
8686
__tablename__ = "item"
87-
87+
# TODO do something about None and make it not nullable
88+
gameItemId: Mapped[str | None] = mapped_column(Text)
8889
prefixes: Mapped[int | None] = mapped_column(SmallInteger)
8990
suffixes: Mapped[int | None] = mapped_column(SmallInteger)
9091
foilVariation: Mapped[int | None] = mapped_column(SmallInteger)

src/backend_api/app/core/schemas/item.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class _BaseItem(_pydantic.BaseModel):
1919
itemBaseTypeId: int
2020
ilvl: int
2121
rarity: str
22+
gameItemId: str | None = None
2223
identified: bool = True
2324
currencyAmount: float | None = None
2425
currencyId: int | None = None

src/backend_data_retrieval/data_retrieval_app/external_data_retrieval/transforming_data/transform_poe_api_data.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ def _create_item_table(
3232
"""
3333
self.item_columns = [
3434
"itemId",
35+
"id",
3536
"name",
3637
"league",
3738
"baseType",
@@ -144,8 +145,8 @@ def transform_influences(row: pd.DataFrame, influence_columns: list[str]):
144145
if "extended.suffixes" in item_df.columns:
145146
rename_extended_map["extended.suffixes"] = "suffixes"
146147

147-
if rename_extended_map:
148-
item_df = item_df.rename(columns=rename_extended_map)
148+
rename_map = {**rename_extended_map, "id": "gameItemId"}
149+
item_df = item_df.rename(columns=rename_map)
149150

150151
stash_series = item_df["stash"].str.split(" ")
151152
currency_series = item_df["note"].str.split(" ")
@@ -192,6 +193,7 @@ def item_table_columns_to_not_drop(self) -> set[str]:
192193
dont_drop_columns = self._item_table_columns_to_not_drop
193194
except AttributeError:
194195
dont_drop_columns = {
196+
"gameItemId",
195197
"name",
196198
"league",
197199
"itemBaseTypeId",

0 commit comments

Comments
 (0)