alessandro trinca tornidor
feat: add backend endpoint /thesaurus-wordsapi with related add functions (mongodb persistence)
8a3e357
import json | |
from my_ghost_writer import pymongo_utils | |
from my_ghost_writer.constants import app_logger | |
def get_document_by_word(query: str) -> dict: | |
collection = pymongo_utils.get_thesaurus_collection() | |
output: dict = collection.find_one({"word": query}) | |
assert output, f"not found document with query '{query}'..." | |
del output["_id"] | |
return output | |
def insert_document(document: dict) -> None: | |
collection = pymongo_utils.get_thesaurus_collection() | |
result = collection.insert_one(document) | |
app_logger.info(f"result:{result}.") | |
try: | |
assert result.inserted_id | |
except AssertionError: | |
dumped = json.dumps(document, default=str) | |
msg = f"failed insert of document '{dumped}'" | |
raise IOError(msg) | |