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]
|
[package.extras]
|
||||||
gino = ["gino[starlette] (>=1.0.1)", "SQLAlchemy (>=1.3.20)"]
|
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)"]
|
sqlalchemy = ["SQLAlchemy (>=1.3.20)"]
|
||||||
asyncpg = ["SQLAlchemy (>=1.3.20)", "asyncpg (>=0.24.0)"]
|
asyncpg = ["SQLAlchemy (>=1.3.20)", "asyncpg (>=0.24.0)"]
|
||||||
databases = ["databases[sqlite,postgresql,mysql] (>=0.4.0)"]
|
databases = ["databases[mysql,sqlite,postgresql] (>=0.4.0)"]
|
||||||
orm = ["databases[sqlite,postgresql,mysql] (>=0.4.0)", "orm (>=0.1.5)", "typesystem (>=0.2.0,<0.3.0)"]
|
orm = ["databases[mysql,sqlite,postgresql] (>=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)"]
|
django = ["databases[mysql,sqlite,postgresql] (>=0.4.0)", "Django (<3.3.0)"]
|
||||||
tortoise = ["tortoise-orm[aiosqlite,asyncpg,aiomysql] (>=0.16.18,<0.18.0)"]
|
tortoise = ["tortoise-orm[aiomysql,asyncpg,aiosqlite] (>=0.16.18,<0.18.0)"]
|
||||||
ormar = ["ormar (>=0.10.5)"]
|
ormar = ["ormar (>=0.10.5)"]
|
||||||
piccolo = ["piccolo (>=0.29,<0.35)"]
|
piccolo = ["piccolo (>=0.29,<0.35)"]
|
||||||
motor = ["motor (>=2.5.1,<3.0.0)"]
|
motor = ["motor (>=2.5.1,<3.0.0)"]
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class UserBase(BaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class UserCreateOrUpdate(UserBase):
|
class UserCreateOrUpdate(UserBase):
|
||||||
allowed_langs: list[str]
|
allowed_langs: Optional[list[str]] = None
|
||||||
|
|
||||||
|
|
||||||
class UserUpdate(BaseModel):
|
class UserUpdate(BaseModel):
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ async def get_users():
|
|||||||
|
|
||||||
@users_router.get("/{user_id}", response_model=UserDetail)
|
@users_router.get("/{user_id}", response_model=UserDetail)
|
||||||
async def get_user(user_id: int):
|
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
|
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(
|
user_data = await User.objects.select_related("allowed_langs").create(
|
||||||
**data_dict
|
**data_dict
|
||||||
)
|
)
|
||||||
|
if allowed_langs is None:
|
||||||
|
allowed_langs = ["ru", "be", "uk"]
|
||||||
else:
|
else:
|
||||||
data_dict.pop("user_id")
|
data_dict.pop("user_id")
|
||||||
user_data.update_from_dict(data_dict)
|
user_data.update_from_dict(data_dict)
|
||||||
|
|
||||||
|
if allowed_langs:
|
||||||
await update_user_allowed_langs(user_data, allowed_langs)
|
await update_user_allowed_langs(user_data, allowed_langs)
|
||||||
|
|
||||||
return user_data
|
return user_data
|
||||||
|
|||||||
Reference in New Issue
Block a user