Skip to content

Commit 49eef86

Browse files
authored
Hotfix: history response 수정 (#92)
- HistoryResponse를 수정했습니다. - Project introduction과 Review content의 길이가 짧은 것 같아 수정했습니다
1 parent e57fc0b commit 49eef86

File tree

6 files changed

+88
-14
lines changed

6 files changed

+88
-14
lines changed
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
from pydantic import BaseModel
22

3+
from wacruit.src.apps.common.schemas import OrmModel
4+
35

46
class UpdateHistoryRequest(BaseModel):
57
class Config:
68
extra = "allow"
79

810

9-
class HistoryResponse(BaseModel):
10-
__root__: dict[str, str]
11+
class HistoryResponse(OrmModel):
12+
id: int
13+
history_key: str
14+
history_value: str

wacruit/src/apps/history/views.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,16 @@ def update_history(
1717
history_service: Annotated[HistoryService, Depends()],
1818
update_request: UpdateHistoryRequest,
1919
):
20-
updated_history = history_service.update_history(update_request)
21-
response_dict = {}
22-
for h in updated_history:
23-
response_dict[h.history_key] = h.history_value
20+
updated_history_list = history_service.update_history(update_request)
2421

25-
return HistoryResponse(__root__=response_dict)
22+
return [
23+
HistoryResponse.from_orm(updated_history)
24+
for updated_history in updated_history_list
25+
]
2626

2727

2828
@v3_router.get("")
2929
def get_history(history_service: Annotated[HistoryService, Depends()]):
3030
history_list = history_service.get_history()
31-
response_dict = {}
32-
for h in history_list:
33-
response_dict[h.history_key] = h.history_value
3431

35-
return HistoryResponse(__root__=response_dict)
32+
return [HistoryResponse.from_orm(history) for history in history_list]

wacruit/src/apps/project/models.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313
from wacruit.src.database.base import intpk
1414
from wacruit.src.database.base import str30
1515
from wacruit.src.database.base import str50
16+
from wacruit.src.database.base import str100
1617
from wacruit.src.database.base import str255
18+
from wacruit.src.database.base import str1500
1719

1820
if TYPE_CHECKING:
1921
from wacruit.src.apps.member.models import Member
@@ -24,8 +26,8 @@ class Project(DeclarativeBase):
2426

2527
id: Mapped[intpk]
2628
name: Mapped[str30]
27-
summary: Mapped[str50 | None]
28-
introduction: Mapped[str255 | None]
29+
summary: Mapped[str100 | None]
30+
introduction: Mapped[str1500 | None]
2931
thumbnail_url: Mapped[str255 | None]
3032
project_type: Mapped[ProjectType]
3133
is_active: Mapped[bool] = mapped_column(default=True)

wacruit/src/apps/review/models.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from wacruit.src.database.base import intpk
1010
from wacruit.src.database.base import str30
1111
from wacruit.src.database.base import str255
12+
from wacruit.src.database.base import str1500
1213

1314
if TYPE_CHECKING:
1415
from wacruit.src.apps.member.models import Member
@@ -19,7 +20,7 @@ class Review(DeclarativeBase):
1920

2021
id: Mapped[intpk]
2122
title: Mapped[str30]
22-
content: Mapped[str255]
23+
content: Mapped[str1500]
2324
member_id: Mapped[int] = mapped_column(ForeignKey("member.id"))
2425

2526
member: Mapped["Member"] = relationship(back_populates="review")

wacruit/src/database/base.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,6 @@
1010
intpk = Annotated[int, mapped_column(primary_key=True, autoincrement=True)]
1111
str30 = Annotated[str, mapped_column(String(30))]
1212
str50 = Annotated[str, mapped_column(String(50))]
13+
str100 = Annotated[str, mapped_column(String(100))]
1314
str255 = Annotated[str, mapped_column(String(255))]
15+
str1500 = Annotated[str, mapped_column(String(1500))]
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
"""fix project introduction length
2+
3+
Revision ID: b306477282a1
4+
Revises: 599c54cee280
5+
Create Date: 2025-07-21 18:04:36.099890
6+
7+
"""
8+
from alembic import op
9+
import sqlalchemy as sa
10+
from sqlalchemy.dialects import mysql
11+
12+
# revision identifiers, used by Alembic.
13+
revision = "b306477282a1"
14+
down_revision = "599c54cee280"
15+
branch_labels = None
16+
depends_on = None
17+
18+
19+
def upgrade() -> None:
20+
# ### commands auto generated by Alembic - please adjust! ###
21+
op.alter_column(
22+
"project",
23+
"summary",
24+
existing_type=mysql.VARCHAR(length=50),
25+
type_=sa.String(length=100),
26+
existing_nullable=True,
27+
)
28+
op.alter_column(
29+
"project",
30+
"introduction",
31+
existing_type=mysql.VARCHAR(length=255),
32+
type_=sa.String(length=1500),
33+
existing_nullable=True,
34+
)
35+
op.alter_column(
36+
"review",
37+
"content",
38+
existing_type=mysql.VARCHAR(length=255),
39+
type_=sa.String(length=1500),
40+
existing_nullable=False,
41+
)
42+
# ### end Alembic commands ###
43+
44+
45+
def downgrade() -> None:
46+
# ### commands auto generated by Alembic - please adjust! ###
47+
op.alter_column(
48+
"review",
49+
"content",
50+
existing_type=sa.String(length=1500),
51+
type_=mysql.VARCHAR(length=255),
52+
existing_nullable=False,
53+
)
54+
op.alter_column(
55+
"project",
56+
"introduction",
57+
existing_type=sa.String(length=1500),
58+
type_=mysql.VARCHAR(length=255),
59+
existing_nullable=True,
60+
)
61+
op.alter_column(
62+
"project",
63+
"summary",
64+
existing_type=sa.String(length=100),
65+
type_=mysql.VARCHAR(length=50),
66+
existing_nullable=True,
67+
)
68+
# ### end Alembic commands ###

0 commit comments

Comments
 (0)