From 58819400c42a86554b2b51f4695ae5e051e66b6f Mon Sep 17 00:00:00 2001 From: voltini Date: Thu, 12 Dec 2024 22:06:01 +0100 Subject: [PATCH] [profiles] split promotion property --- .../user/profile_get_by_discord_id.edgeql | 3 ++- .../user/profile_get_by_discord_id.py | 6 ++++-- .../database/user/profile_merge_select.edgeql | 12 +++++++---- nanapi/database/user/profile_merge_select.py | 21 ++++++++++++------- .../profile_select_filter_discord_id.edgeql | 5 ++++- .../user/profile_select_filter_discord_id.py | 12 +++++++++-- .../database/user/profile_select_ilike.edgeql | 7 +++++-- nanapi/database/user/profile_select_ilike.py | 14 ++++++++++--- nanapi/models/user.py | 3 ++- 9 files changed, 60 insertions(+), 23 deletions(-) diff --git a/nanapi/database/user/profile_get_by_discord_id.edgeql b/nanapi/database/user/profile_get_by_discord_id.edgeql index 0a6c0d0..3d51151 100644 --- a/nanapi/database/user/profile_get_by_discord_id.edgeql +++ b/nanapi/database/user/profile_get_by_discord_id.edgeql @@ -7,9 +7,10 @@ with select profiles { birthday, full_name, + graduation_year, photo, - promotion, pronouns, + n7_major, telephone, user: { discord_id, diff --git a/nanapi/database/user/profile_get_by_discord_id.py b/nanapi/database/user/profile_get_by_discord_id.py index e88fde3..bdc8fc3 100644 --- a/nanapi/database/user/profile_get_by_discord_id.py +++ b/nanapi/database/user/profile_get_by_discord_id.py @@ -13,9 +13,10 @@ select profiles { birthday, full_name, + graduation_year, photo, - promotion, pronouns, + n7_major, telephone, user: { discord_id, @@ -33,9 +34,10 @@ class ProfileGetByDiscordIdResultUser(BaseModel): class ProfileGetByDiscordIdResult(BaseModel): birthday: datetime | None full_name: str | None + graduation_year: str | None photo: str | None - promotion: str | None pronouns: str | None + n7_major: str | None telephone: str | None user: ProfileGetByDiscordIdResultUser diff --git a/nanapi/database/user/profile_merge_select.edgeql b/nanapi/database/user/profile_merge_select.edgeql index 4eab572..00c2906 100644 --- a/nanapi/database/user/profile_merge_select.edgeql +++ b/nanapi/database/user/profile_merge_select.edgeql @@ -3,9 +3,10 @@ with discord_username := $discord_username, birthday := $birthday, full_name := $full_name, + graduation_year := $graduation_year, photo := $photo, - promotion := $promotion, pronouns := $pronouns, + n7_major := $n7_major, telephone := $telephone, user := ( insert user::User { @@ -23,9 +24,10 @@ with insert user::Profile { birthday := birthday, full_name := full_name, + graduation_year := graduation_year, photo := photo, - promotion := promotion, pronouns := pronouns, + n7_major := n7_major, telephone := telephone, user := user, } @@ -34,19 +36,21 @@ with update user::Profile set { birthday := birthday, full_name := full_name, + graduation_year := graduation_year, photo := photo, - promotion := promotion, pronouns := pronouns, + n7_major := n7_major, telephone := telephone, } ) ) select profile { birthday, + graduation_year, full_name, photo, - promotion, pronouns, + n7_major, telephone, user: { discord_id, diff --git a/nanapi/database/user/profile_merge_select.py b/nanapi/database/user/profile_merge_select.py index 8bd61e5..662d5f4 100644 --- a/nanapi/database/user/profile_merge_select.py +++ b/nanapi/database/user/profile_merge_select.py @@ -9,9 +9,10 @@ discord_username := $discord_username, birthday := $birthday, full_name := $full_name, + graduation_year := $graduation_year, photo := $photo, - promotion := $promotion, pronouns := $pronouns, + n7_major := $n7_major, telephone := $telephone, user := ( insert user::User { @@ -29,9 +30,10 @@ insert user::Profile { birthday := birthday, full_name := full_name, + graduation_year := graduation_year, photo := photo, - promotion := promotion, pronouns := pronouns, + n7_major := n7_major, telephone := telephone, user := user, } @@ -40,19 +42,21 @@ update user::Profile set { birthday := birthday, full_name := full_name, + graduation_year := graduation_year, photo := photo, - promotion := promotion, pronouns := pronouns, + n7_major := n7_major, telephone := telephone, } ) ) select profile { birthday, + graduation_year, full_name, photo, - promotion, pronouns, + n7_major, telephone, user: { discord_id, @@ -69,10 +73,11 @@ class ProfileMergeSelectResultUser(BaseModel): class ProfileMergeSelectResult(BaseModel): birthday: datetime | None + graduation_year: str | None full_name: str | None photo: str | None - promotion: str | None pronouns: str | None + n7_major: str | None telephone: str | None user: ProfileMergeSelectResultUser @@ -87,9 +92,10 @@ async def profile_merge_select( discord_username: str, birthday: datetime | None = None, full_name: str | None = None, + graduation_year: str | None = None, photo: str | None = None, - promotion: str | None = None, pronouns: str | None = None, + n7_major: str | None = None, telephone: str | None = None, ) -> ProfileMergeSelectResult: resp = await executor.query_single_json( @@ -98,9 +104,10 @@ async def profile_merge_select( discord_username=discord_username, birthday=birthday, full_name=full_name, + graduation_year=graduation_year, photo=photo, - promotion=promotion, pronouns=pronouns, + n7_major=n7_major, telephone=telephone, ) return adapter.validate_json(resp, strict=False) diff --git a/nanapi/database/user/profile_select_filter_discord_id.edgeql b/nanapi/database/user/profile_select_filter_discord_id.edgeql index e252c88..ae58754 100644 --- a/nanapi/database/user/profile_select_filter_discord_id.edgeql +++ b/nanapi/database/user/profile_select_filter_discord_id.edgeql @@ -2,9 +2,12 @@ with discord_ids := >$discord_ids, _discord_ids := array_unpack(discord_ids), select user::Profile { + birthday, full_name, + graduation_year, photo, - promotion, + pronouns, + n7_major, telephone, user: { discord_id, diff --git a/nanapi/database/user/profile_select_filter_discord_id.py b/nanapi/database/user/profile_select_filter_discord_id.py index 2735cfe..9f54b20 100644 --- a/nanapi/database/user/profile_select_filter_discord_id.py +++ b/nanapi/database/user/profile_select_filter_discord_id.py @@ -1,3 +1,5 @@ +from datetime import datetime + from edgedb import AsyncIOExecutor from pydantic import BaseModel, TypeAdapter @@ -6,9 +8,12 @@ discord_ids := >$discord_ids, _discord_ids := array_unpack(discord_ids), select user::Profile { + birthday, full_name, + graduation_year, photo, - promotion, + pronouns, + n7_major, telephone, user: { discord_id, @@ -26,9 +31,12 @@ class ProfileSelectFilterDiscordIdResultUser(BaseModel): class ProfileSelectFilterDiscordIdResult(BaseModel): + birthday: datetime | None full_name: str | None + graduation_year: str | None photo: str | None - promotion: str | None + pronouns: str | None + n7_major: str | None telephone: str | None user: ProfileSelectFilterDiscordIdResultUser diff --git a/nanapi/database/user/profile_select_ilike.edgeql b/nanapi/database/user/profile_select_ilike.edgeql index 58c0d41..e0f8075 100644 --- a/nanapi/database/user/profile_select_ilike.edgeql +++ b/nanapi/database/user/profile_select_ilike.edgeql @@ -1,13 +1,16 @@ with pattern := $pattern select user::Profile { + birthday, full_name, + graduation_year, photo, - promotion, + pronouns, + n7_major, telephone, user: { discord_id, discord_id_str, }, } -filter .full_name ilike pattern or .promotion ilike pattern or .telephone ilike pattern +filter .full_name ilike pattern or .telephone ilike pattern diff --git a/nanapi/database/user/profile_select_ilike.py b/nanapi/database/user/profile_select_ilike.py index 475e032..41fceb1 100644 --- a/nanapi/database/user/profile_select_ilike.py +++ b/nanapi/database/user/profile_select_ilike.py @@ -1,3 +1,5 @@ +from datetime import datetime + from edgedb import AsyncIOExecutor from pydantic import BaseModel, TypeAdapter @@ -5,16 +7,19 @@ with pattern := $pattern select user::Profile { + birthday, full_name, + graduation_year, photo, - promotion, + pronouns, + n7_major, telephone, user: { discord_id, discord_id_str, }, } -filter .full_name ilike pattern or .promotion ilike pattern or .telephone ilike pattern +filter .full_name ilike pattern or .telephone ilike pattern """ @@ -24,9 +29,12 @@ class ProfileSelectIlikeResultUser(BaseModel): class ProfileSelectIlikeResult(BaseModel): + birthday: datetime | None full_name: str | None + graduation_year: str | None photo: str | None - promotion: str | None + pronouns: str | None + n7_major: str | None telephone: str | None user: ProfileSelectIlikeResultUser diff --git a/nanapi/models/user.py b/nanapi/models/user.py index bbd9255..df045f2 100644 --- a/nanapi/models/user.py +++ b/nanapi/models/user.py @@ -18,7 +18,8 @@ class UpsertProfileBody(BaseModel): birthday: datetime | None = None discord_username: str full_name: str | None = None + graduation_year: str | None = None + n7_specialty: str | None = None photo: str | None = None - promotion: str | None = None pronouns: str | None = None telephone: str | None = None