Skip to content

Commit 7ca685b

Browse files
authored
Cognition UI Facelift (#310)
* Fields & routes * Route & default * Submodule commit
1 parent 9257915 commit 7ca685b

File tree

5 files changed

+59
-14
lines changed

5 files changed

+59
-14
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
"""Ui flip & project icon
2+
3+
Revision ID: ad13850a7245
4+
Revises: 96fbb404381e
5+
Create Date: 2025-06-23 11:35:12.693674
6+
7+
"""
8+
9+
from alembic import op
10+
import sqlalchemy as sa
11+
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "ad13850a7245"
15+
down_revision = "96fbb404381e"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade():
21+
connection = op.get_bind()
22+
# ### commands auto generated by Alembic - please adjust! ###
23+
op.add_column(
24+
"user", sa.Column("use_new_cognition_ui", sa.Boolean(), nullable=True)
25+
)
26+
op.add_column(
27+
"project", sa.Column("icon", sa.String(), nullable=True), schema="cognition"
28+
)
29+
# ### end Alembic commands ###
30+
31+
update_dataset_sql = """
32+
UPDATE cognition.project
33+
SET icon = 'IconBolt';"""
34+
connection.execute(update_dataset_sql)
35+
36+
update_dataset_sql = """
37+
UPDATE public.user
38+
SET use_new_cognition_ui = FALSE; """
39+
connection.execute(update_dataset_sql)
40+
41+
42+
def downgrade():
43+
# ### commands auto generated by Alembic - please adjust! ###
44+
op.drop_column("project", "icon", schema="cognition")
45+
op.drop_column("user", "use_new_cognition_ui")
46+
# ### end Alembic commands ###

controller/user/manager.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
from typing import Dict, Optional
1+
from typing import Dict, Optional, Any
22
from submodules.model import User, daemon, enums
33
from submodules.model.business_objects import user, general
44
from controller.auth import kratos
55
from submodules.model.exceptions import EntityNotFoundException
66
from controller.organization import manager as organization_manager
77
from datetime import datetime, timedelta
88
from util.decorator import param_throttle
9+
from submodules.model.util import is_string_true_value
910

1011

1112
def get_user(user_id: str) -> User:
@@ -70,11 +71,13 @@ def update_user_role(user_id: str, role: str) -> User:
7071
return user_item
7172

7273

73-
def update_user_language_display(user_id: str, language_display: str) -> User:
74+
def update_user_field(user_id: str, field: str, value: Any) -> User:
7475
user_item = user.get(user_id)
7576
if not user_item:
7677
raise ValueError("User not found")
77-
user_item.language_display = language_display
78+
if field == "use_new_cognition_ui":
79+
value = is_string_true_value(value)
80+
setattr(user_item, field, value)
7881
general.commit()
7982
return user_item
8083

fast_api/models.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -383,11 +383,6 @@ class TokenizedRecordBody(BaseModel):
383383
record_id: StrictStr
384384

385385

386-
class UserLanguageDisplay(BaseModel):
387-
user_id: str
388-
language_display: str
389-
390-
391386
class MappedSortedPaginatedUsers(BaseModel):
392387
sort_key: str
393388
sort_direction: int

fast_api/routes/organization.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
MappedSortedPaginatedUsers,
1414
MissingUsersBody,
1515
RemoveUserToOrganizationBody,
16-
UserLanguageDisplay,
1716
)
1817
from controller.auth import manager as auth_manager
1918
from controller.auth.kratos import (
@@ -47,6 +46,7 @@
4746
"role",
4847
"language_display",
4948
"email",
49+
"use_new_cognition_ui",
5050
}
5151
USER_INFO_RENAME_MAP = {"email": "mail"}
5252
ALL_ORGANIZATIONS_WHITELIST = {
@@ -247,10 +247,11 @@ def archive_admin_message(
247247
return get_silent_success()
248248

249249

250-
# in use cognition-ui (08.01.25)
251-
@router.post("/set-language-display")
252-
def set_language_display(request: Request, body: UserLanguageDisplay = Body(...)):
253-
user_manager.update_user_language_display(body.user_id, body.language_display)
250+
# in use cognition-ui (23.06.25)
251+
@router.put("/update-user-field/{field}/{value}")
252+
def set_language_display(request: Request, field: str, value: str):
253+
user_id = auth_manager.get_user_id_by_info(request.state.info)
254+
user_manager.update_user_field(user_id, field, value)
254255
return get_silent_success()
255256

256257

submodules/model

0 commit comments

Comments
 (0)