mirror of https://github.com/stijndcl/didier
24 lines
877 B
Python
24 lines
877 B
Python
from typing import Optional
|
|
|
|
from database.mongo_types import MongoCollection
|
|
from database.schemas.mongo import WordleGame
|
|
|
|
__all__ = ["get_active_wordle_game", "make_wordle_guess", "start_new_wordle_game"]
|
|
|
|
|
|
async def get_active_wordle_game(collection: MongoCollection, user_id: int) -> Optional[WordleGame]:
|
|
"""Find a player's active game"""
|
|
return await collection.find_one({"user_id": user_id})
|
|
|
|
|
|
async def start_new_wordle_game(collection: MongoCollection, user_id: int, word: str) -> WordleGame:
|
|
"""Start a new game"""
|
|
game = WordleGame(user_id=user_id, word=word)
|
|
await collection.insert_one(game.dict(by_alias=True))
|
|
return game
|
|
|
|
|
|
async def make_wordle_guess(collection: MongoCollection, user_id: int, guess: str):
|
|
"""Make a guess in your current game"""
|
|
await collection.update_one({"user_id": user_id}, {"$push": {"guesses": guess}})
|