Skip to content

Commit

Permalink
Merge pull request #31 from wafflestudio/pagnation
Browse files Browse the repository at this point in the history
페이지네이션 10개로, content 200자 제한 제거
  • Loading branch information
morecleverer authored Jan 17, 2025
2 parents 9eb7c0b + c7b05c6 commit 0af995a
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
6 changes: 3 additions & 3 deletions snuvote/app/vote/dto/requests.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ def validate_title(value: str) -> str:


def validate_content(value: str) -> str:
if len(value) < 1 or len(value) > 200:
if len(value) < 1:
raise InvalidFieldFormatError()
return value

Expand Down Expand Up @@ -62,9 +62,9 @@ def wrapper(value: T | None) -> T | None:
class CreateVoteRequest(BaseModel):
'''
제목 : 1~100자
내용 : 1~200자
내용 : 1~
비번 : 6자
기간 : 1~14
기간 : 현재부터~
'''
title: Annotated[str, AfterValidator(validate_title)]
content: Annotated[str, AfterValidator(validate_content)]
Expand Down
10 changes: 5 additions & 5 deletions snuvote/app/vote/store.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,25 +58,25 @@ def add_vote(self,
# 진행 중인 투표 리스트 조회
def get_ongoing_list(self, start_cursor: datetime|None) -> tuple[List[Vote], bool, datetime|None]:

#커서가 none이면 가장 최신 것부터 40개
#커서가 none이면 가장 최신 것부터 10개
if start_cursor is None:
start_cursor = datetime.now(timezone.utc)

#생성 시간이 커서보다 최신인 것부터 오름차순(최신순)으로 40개 리턴
#생성 시간이 커서보다 최신인 것부터 오름차순(최신순)으로 10개 리턴
query = (
select(Vote)
.where(Vote.create_datetime < start_cursor)
.where(Vote.end_datetime > datetime.now(timezone.utc))
.order_by(Vote.create_datetime.desc())
.limit(40)
.limit(10)
)

results = self.session.execute(query).scalars().all()

#만약 40개를 꽉 채웠다면 추가 내용이 있을 가능성 있음
has_next = len(results) == 40
has_next = len(results) == 10

#다음 커서는 40개 중 가장 과거에 생성된 것
#다음 커서는 10개 중 가장 과거에 생성된 것
next_cursor = results[-1].create_datetime if has_next else None

return results, has_next, next_cursor
Expand Down

0 comments on commit 0af995a

Please sign in to comment.