refactor(project): use unified utcnow
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import UTC, datetime
|
||||
from datetime import UTC
|
||||
from typing import Literal
|
||||
|
||||
from app.database.beatmap import Beatmap, BeatmapResp
|
||||
@@ -17,6 +17,7 @@ from app.dependencies.user import get_client_user, get_current_user
|
||||
from app.models.room import RoomCategory, RoomStatus
|
||||
from app.service.room import create_playlist_room_from_api
|
||||
from app.signalr.hub import MultiplayerHubs
|
||||
from app.utils import utcnow
|
||||
|
||||
from .router import router
|
||||
|
||||
@@ -50,7 +51,7 @@ async def get_all_rooms(
|
||||
):
|
||||
resp_list: list[RoomResp] = []
|
||||
where_clauses: list[ColumnElement[bool]] = [col(Room.category) == category]
|
||||
now = datetime.now(UTC)
|
||||
now = utcnow()
|
||||
if status is not None:
|
||||
where_clauses.append(col(Room.status) == status)
|
||||
if mode == "open":
|
||||
@@ -112,12 +113,12 @@ async def _participate_room(room_id: int, user_id: int, db_room: Room, session:
|
||||
participated_user = RoomParticipatedUser(
|
||||
room_id=room_id,
|
||||
user_id=user_id,
|
||||
joined_at=datetime.now(UTC),
|
||||
joined_at=utcnow(),
|
||||
)
|
||||
session.add(participated_user)
|
||||
else:
|
||||
participated_user.left_at = None
|
||||
participated_user.joined_at = datetime.now(UTC)
|
||||
participated_user.joined_at = utcnow()
|
||||
db_room.participant_count += 1
|
||||
|
||||
await redis.publish("chat:room:joined", f"{db_room.channel_id}:{user_id}")
|
||||
@@ -185,7 +186,7 @@ async def delete_room(
|
||||
if db_room is None:
|
||||
raise HTTPException(404, "Room not found")
|
||||
else:
|
||||
db_room.ends_at = datetime.now(UTC)
|
||||
db_room.ends_at = utcnow()
|
||||
await db.commit()
|
||||
return None
|
||||
|
||||
@@ -238,7 +239,7 @@ async def remove_user_from_room(
|
||||
)
|
||||
).first()
|
||||
if participated_user is not None:
|
||||
participated_user.left_at = datetime.now(UTC)
|
||||
participated_user.left_at = utcnow()
|
||||
if db_room.participant_count > 0:
|
||||
db_room.participant_count -= 1
|
||||
await redis.publish("chat:room:left", f"{db_room.channel_id}:{user_id}")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import UTC, date, datetime
|
||||
from datetime import UTC, date
|
||||
import math
|
||||
import time
|
||||
|
||||
@@ -50,6 +50,7 @@ from app.models.score import (
|
||||
from app.service.user_cache_service import get_user_cache_service
|
||||
from app.storage.base import StorageService
|
||||
from app.storage.local import LocalStorageService
|
||||
from app.utils import utcnow
|
||||
|
||||
from .router import router
|
||||
|
||||
@@ -166,7 +167,7 @@ async def submit_score(
|
||||
total_users = (await db.exec(select(func.count()).select_from(User))).one()
|
||||
if resp.rank_global is not None and resp.rank_global <= min(math.ceil(float(total_users) * 0.01), 50):
|
||||
rank_event = Event(
|
||||
created_at=datetime.now(UTC),
|
||||
created_at=utcnow(),
|
||||
type=EventType.RANK,
|
||||
user_id=score.user_id,
|
||||
user=score.user,
|
||||
@@ -451,7 +452,7 @@ async def create_playlist_score(
|
||||
if not room:
|
||||
raise HTTPException(status_code=404, detail="Room not found")
|
||||
db_room_time = room.ends_at.replace(tzinfo=UTC) if room.ends_at else None
|
||||
if db_room_time and db_room_time < datetime.now(UTC).replace(tzinfo=UTC):
|
||||
if db_room_time and db_room_time < utcnow().replace(tzinfo=UTC):
|
||||
raise HTTPException(status_code=400, detail="Room has ended")
|
||||
item = (await session.exec(select(Playlist).where(Playlist.id == playlist_id, Playlist.room_id == room_id))).first()
|
||||
if not item:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import UTC, datetime, timedelta
|
||||
from datetime import timedelta
|
||||
from typing import Literal
|
||||
|
||||
from app.config import settings
|
||||
@@ -22,6 +22,7 @@ from app.log import logger
|
||||
from app.models.score import GameMode
|
||||
from app.models.user import BeatmapsetType
|
||||
from app.service.user_cache_service import get_user_cache_service
|
||||
from app.utils import utcnow
|
||||
|
||||
from .router import router
|
||||
|
||||
@@ -338,7 +339,7 @@ async def get_user_scores(
|
||||
where_clause &= exists().where(col(PPBestScore.score_id) == Score.id)
|
||||
order_by = col(Score.pp).desc()
|
||||
elif type == "recent":
|
||||
where_clause &= Score.ended_at > datetime.now(UTC) - timedelta(hours=24)
|
||||
where_clause &= Score.ended_at > utcnow() - timedelta(hours=24)
|
||||
order_by = col(Score.ended_at).desc()
|
||||
elif type == "firsts":
|
||||
# TODO
|
||||
|
||||
Reference in New Issue
Block a user