Skip to content

Commit 7033ecd

Browse files
committed
ref(Emoji): rename char to str_
1 parent ee71ba9 commit 7033ecd

File tree

7 files changed

+66
-17
lines changed

7 files changed

+66
-17
lines changed

src/ttt/entities/text/emoji.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33

44
@dataclass(frozen=True)
55
class Emoji:
6-
char: str
6+
str_: str

src/ttt/infrastructure/alembic/versions/022844f6b4d2_deffer_players_current_game_id_fkey.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@
2121
def upgrade() -> None:
2222
# ### commands auto generated by Alembic - please adjust! ###
2323
op.drop_constraint(
24-
op.f("players_current_game_id_fkey"), "players", type_="foreignkey",
24+
op.f("players_current_game_id_fkey"),
25+
"players",
26+
type_="foreignkey",
2527
)
2628
op.create_foreign_key(
2729
None,
@@ -38,7 +40,9 @@ def upgrade() -> None:
3840
def downgrade() -> None:
3941
# ### commands auto generated by Alembic - please adjust! ###
4042
op.drop_constraint(
41-
"players_current_game_id_fkey", "players", type_="foreignkey",
43+
"players_current_game_id_fkey",
44+
"players",
45+
type_="foreignkey",
4246
)
4347
op.create_foreign_key(
4448
op.f("players_current_game_id_fkey"),
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
"""
2+
rename game emoji columns.
3+
4+
Revision ID: 62217b947df9
5+
Revises: 1106a6a301dc
6+
Create Date: 2025-06-22 15:11:35.209641
7+
8+
"""
9+
10+
from collections.abc import Sequence
11+
12+
import sqlalchemy as sa
13+
from alembic import op
14+
15+
16+
revision: str = "62217b947df9"
17+
down_revision: str | None = "1106a6a301dc"
18+
branch_labels: str | Sequence[str] | None = None
19+
depends_on: str | Sequence[str] | None = None
20+
21+
22+
def upgrade() -> None:
23+
op.alter_column(
24+
"games",
25+
"player1_emoji_char",
26+
new_column_name="player1_emoji_str",
27+
)
28+
op.alter_column(
29+
"games",
30+
"player2_emoji_char",
31+
new_column_name="player2_emoji_str",
32+
)
33+
34+
35+
def downgrade() -> None:
36+
op.alter_column(
37+
"games",
38+
"player1_emoji_str",
39+
new_column_name="player1_emoji_char",
40+
)
41+
op.alter_column(
42+
"games",
43+
"player2_emoji_str",
44+
new_column_name="player2_emoji_char",
45+
)

src/ttt/infrastructure/sqlalchemy/tables.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,12 @@ class TableGame(Base):
182182
lazy="joined",
183183
foreign_keys=[player1_id],
184184
)
185-
player1_emoji_char: Mapped[str] = mapped_column(server_default="❌")
185+
player1_emoji_str: Mapped[str] = mapped_column(server_default="❌")
186186
player2: Mapped["TablePlayer"] = relationship(
187187
lazy="joined",
188188
foreign_keys=[player2_id],
189189
)
190-
player2_emoji_char: Mapped[str] = mapped_column(server_default="⭕️")
190+
player2_emoji_str: Mapped[str] = mapped_column(server_default="⭕️")
191191
cells: Mapped[list["TableCell"]] = relationship(lazy="selectin")
192192

193193
def entity(self) -> Game:
@@ -198,9 +198,9 @@ def entity(self) -> Game:
198198
return Game(
199199
self.id,
200200
player1,
201-
Emoji(self.player1_emoji_char),
201+
Emoji(self.player1_emoji_str),
202202
player2,
203-
Emoji(self.player2_emoji_char),
203+
Emoji(self.player2_emoji_str),
204204
board,
205205
number_of_unfilled_cells(board),
206206
None if self.result is None else self.result.entity(),
@@ -212,9 +212,9 @@ def of(cls, it: Game) -> "TableGame":
212212
return TableGame(
213213
id=it.id,
214214
player1_id=it.player1.id,
215-
player1_emoji_char=it.player1_emoji.char,
215+
player1_emoji_char=it.player1_emoji.str_,
216216
player2_id=it.player2.id,
217-
player2_emoji_char=it.player2_emoji.char,
217+
player2_emoji_char=it.player2_emoji.str_,
218218
state=TableGameState.of(it.state),
219219
)
220220

src/ttt/presentation/aiogram/game/keyboards.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ def _game_keyboard_button(
2222
) -> KeyboardButton:
2323
match cell.filler_id:
2424
case game.player1.id:
25-
return KeyboardButton(text=game.player1_emoji.char)
25+
return KeyboardButton(text=game.player1_emoji.str_)
2626
case game.player2.id:
27-
return KeyboardButton(text=game.player2_emoji.char)
27+
return KeyboardButton(text=game.player2_emoji.str_)
2828
case None:
2929
return KeyboardButton(text=(
3030
f"{cell.board_position[0] + 1} {cell.board_position[1] + 1}"

src/ttt/presentation/aiogram/game/messages.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ async def started_game_message(
1717
) -> None:
1818
if player_id == game.player1.id:
1919
about_players = (
20-
f"Вы — {game.player1_emoji.char}, враг — {game.player2_emoji.char}"
20+
f"Вы — {game.player1_emoji.str_}, враг — {game.player2_emoji.str_}"
2121
)
2222
about_move = "Ходите"
2323
else:
2424
about_players = (
25-
f"Враг — {game.player1_emoji.char}, вы — {game.player2_emoji.char}"
25+
f"Враг — {game.player1_emoji.str_}, вы — {game.player2_emoji.str_}"
2626
)
2727
about_move = "Ждите хода врага"
2828

src/ttt/presentation/aiogram/game/texts.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ def game_cell(
1010
) -> str:
1111
match cell.filler_id:
1212
case game.player1.id:
13-
return game.player1_emoji.char
13+
return game.player1_emoji.str_
1414
case game.player2.id:
15-
return game.player2_emoji.char
15+
return game.player2_emoji.str_
1616
case None:
1717
return default
1818
case _:
@@ -24,9 +24,9 @@ def winner_emoji(game: Game) -> str:
2424

2525
match result.winner_id:
2626
case game.player1.id:
27-
return game.player1_emoji.char
27+
return game.player1_emoji.str_
2828
case game.player2.id:
29-
return game.player2_emoji.char
29+
return game.player2_emoji.str_
3030
case None:
3131
return "�"
3232
case _:

0 commit comments

Comments
 (0)