From 342cb179ad7f0ffb72a8c70f5808e771eac8665e Mon Sep 17 00:00:00 2001 From: Julien Kmec Date: Mon, 10 Feb 2025 15:58:15 -0800 Subject: [PATCH] Allow GuildData and UserData creation by _id --- bloxlink_lib/database.py | 3 ++- bloxlink_lib/models/guilds.py | 2 +- bloxlink_lib/models/users.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/bloxlink_lib/database.py b/bloxlink_lib/database.py index 18fd86b..194500f 100644 --- a/bloxlink_lib/database.py +++ b/bloxlink_lib/database.py @@ -4,7 +4,7 @@ import datetime import json from os.path import exists -from typing import Type, TYPE_CHECKING, Any +from typing import Type, Any from motor.motor_asyncio import AsyncIOMotorClient from redis.asyncio import Redis @@ -171,6 +171,7 @@ async def update_item(domain: str, item_id: str, **aspects) -> None: unset_aspects = {} set_aspects = {} + # arrange items into set and unset (delete) for key, val in aspects.items(): if val is None: unset_aspects[key] = "" diff --git a/bloxlink_lib/models/guilds.py b/bloxlink_lib/models/guilds.py index e0564c7..bff38e1 100644 --- a/bloxlink_lib/models/guilds.py +++ b/bloxlink_lib/models/guilds.py @@ -69,7 +69,7 @@ def __eq__(self, other): class GuildData(BaseModel): """Representation of the stored settings for a guild""" - id: int + id: Annotated[int, Field(alias="_id")] binds: Annotated[list[binds_module.GuildBind], Field(default_factory=list)] @field_validator("binds", mode="before") diff --git a/bloxlink_lib/models/users.py b/bloxlink_lib/models/users.py index 73c0cfa..05e4a79 100644 --- a/bloxlink_lib/models/users.py +++ b/bloxlink_lib/models/users.py @@ -37,7 +37,7 @@ class UserData(BaseModel): robloxAccounts (dict): All of the user's linked accounts, and any guild specific verifications. """ - id: int + id: Annotated[int, Field(alias="_id")] robloxID: str | None = None robloxAccounts: dict = Field( default_factory=lambda: {"accounts": [], "guilds": {}, "confirms": {}}