mirror of
https://github.com/flibusta-apps/users_settings_server.git
synced 2025-12-06 06:35:39 +01:00
Update user settings creating
This commit is contained in:
10
poetry.lock
generated
10
poetry.lock
generated
@@ -133,13 +133,13 @@ pydantic = ">=1.7.2"
|
||||
|
||||
[package.extras]
|
||||
gino = ["gino[starlette] (>=1.0.1)", "SQLAlchemy (>=1.3.20)"]
|
||||
all = ["gino[starlette] (>=1.0.1)", "SQLAlchemy (>=1.3.20)", "databases[sqlite,postgresql,mysql] (>=0.4.0)", "orm (>=0.1.5)", "tortoise-orm[aiosqlite,asyncpg,aiomysql] (>=0.16.18,<0.18.0)", "asyncpg (>=0.24.0)", "ormar (>=0.10.5)", "Django (<3.3.0)", "piccolo (>=0.29,<0.35)", "motor (>=2.5.1,<3.0.0)"]
|
||||
all = ["gino[starlette] (>=1.0.1)", "SQLAlchemy (>=1.3.20)", "databases[mysql,sqlite,postgresql] (>=0.4.0)", "orm (>=0.1.5)", "tortoise-orm[aiomysql,asyncpg,aiosqlite] (>=0.16.18,<0.18.0)", "asyncpg (>=0.24.0)", "ormar (>=0.10.5)", "Django (<3.3.0)", "piccolo (>=0.29,<0.35)", "motor (>=2.5.1,<3.0.0)"]
|
||||
sqlalchemy = ["SQLAlchemy (>=1.3.20)"]
|
||||
asyncpg = ["SQLAlchemy (>=1.3.20)", "asyncpg (>=0.24.0)"]
|
||||
databases = ["databases[sqlite,postgresql,mysql] (>=0.4.0)"]
|
||||
orm = ["databases[sqlite,postgresql,mysql] (>=0.4.0)", "orm (>=0.1.5)", "typesystem (>=0.2.0,<0.3.0)"]
|
||||
django = ["databases[sqlite,postgresql,mysql] (>=0.4.0)", "Django (<3.3.0)"]
|
||||
tortoise = ["tortoise-orm[aiosqlite,asyncpg,aiomysql] (>=0.16.18,<0.18.0)"]
|
||||
databases = ["databases[mysql,sqlite,postgresql] (>=0.4.0)"]
|
||||
orm = ["databases[mysql,sqlite,postgresql] (>=0.4.0)", "orm (>=0.1.5)", "typesystem (>=0.2.0,<0.3.0)"]
|
||||
django = ["databases[mysql,sqlite,postgresql] (>=0.4.0)", "Django (<3.3.0)"]
|
||||
tortoise = ["tortoise-orm[aiomysql,asyncpg,aiosqlite] (>=0.16.18,<0.18.0)"]
|
||||
ormar = ["ormar (>=0.10.5)"]
|
||||
piccolo = ["piccolo (>=0.29,<0.35)"]
|
||||
motor = ["motor (>=2.5.1,<3.0.0)"]
|
||||
|
||||
@@ -21,7 +21,7 @@ class UserBase(BaseModel):
|
||||
|
||||
|
||||
class UserCreateOrUpdate(UserBase):
|
||||
allowed_langs: list[str]
|
||||
allowed_langs: Optional[list[str]] = None
|
||||
|
||||
|
||||
class UserUpdate(BaseModel):
|
||||
|
||||
@@ -30,7 +30,7 @@ async def get_users():
|
||||
|
||||
@users_router.get("/{user_id}", response_model=UserDetail)
|
||||
async def get_user(user_id: int):
|
||||
user_data = await User.objects.select_related("allowd_langs").get_or_none(
|
||||
user_data = await User.objects.select_related("allowed_langs").get_or_none(
|
||||
user_id=user_id
|
||||
)
|
||||
|
||||
@@ -54,10 +54,13 @@ async def create_or_update_user(data: UserCreateOrUpdate):
|
||||
user_data = await User.objects.select_related("allowed_langs").create(
|
||||
**data_dict
|
||||
)
|
||||
if allowed_langs is None:
|
||||
allowed_langs = ["ru", "be", "uk"]
|
||||
else:
|
||||
data_dict.pop("user_id")
|
||||
user_data.update_from_dict(data_dict)
|
||||
|
||||
if allowed_langs:
|
||||
await update_user_allowed_langs(user_data, allowed_langs)
|
||||
|
||||
return user_data
|
||||
|
||||
Reference in New Issue
Block a user