From d8f0a6613f594a2093a6561f2684d77a51408b3a Mon Sep 17 00:00:00 2001 From: "Andres D. Molins" Date: Thu, 24 Apr 2025 14:05:24 +0200 Subject: [PATCH 1/3] Fix: Seems that with POST messages without item_type, the content is not well set. I have applied a fix to allow modifying and set it. --- src/aleph/schemas/pending_messages.py | 3 ++- src/aleph/web/controllers/accounts.py | 8 +++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/aleph/schemas/pending_messages.py b/src/aleph/schemas/pending_messages.py index 7df5bf45..8dd9b42d 100644 --- a/src/aleph/schemas/pending_messages.py +++ b/src/aleph/schemas/pending_messages.py @@ -112,7 +112,8 @@ class BasePendingMessage(AlephBaseMessage, Generic[MType, ContentType]): @model_validator(mode="before") def load_content(cls, values): - return base_pending_message_load_content(values) + values_copy = values.copy() + return base_pending_message_load_content(values_copy) @field_validator("time", mode="before") def check_time(cls, v, info): diff --git a/src/aleph/web/controllers/accounts.py b/src/aleph/web/controllers/accounts.py index 5f7c129f..191a20dc 100644 --- a/src/aleph/web/controllers/accounts.py +++ b/src/aleph/web/controllers/accounts.py @@ -4,7 +4,7 @@ from aiohttp import web from aleph_message.models import MessageType -from pydantic import ValidationError +from pydantic import ValidationError, TypeAdapter import aleph.toolkit.json as aleph_json from aleph.db.accessors.balances import ( @@ -151,13 +151,11 @@ async def get_account_files(request: web.Request) -> web.Response: if not file_pins: raise web.HTTPNotFound() + adapter = TypeAdapter(list[GetAccountFilesResponseItem]) response = GetAccountFilesResponse( address=address, total_size=total_size, - files=[ - GetAccountFilesResponseItem.model_validate(dict(file_pin)) - for file_pin in file_pins - ], + files=adapter.validate_python(file_pins), pagination_page=query_params.page, pagination_total=nb_files, pagination_per_page=query_params.pagination, From b1b5fdc75455b0c1e9e13f22221ff6fbd7e78261 Mon Sep 17 00:00:00 2001 From: "Andres D. Molins" Date: Thu, 24 Apr 2025 15:56:09 +0200 Subject: [PATCH 2/3] Fix: Solve user permissions on Ubuntu 24.04 image. --- deployment/docker-build/pyaleph.dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/docker-build/pyaleph.dockerfile b/deployment/docker-build/pyaleph.dockerfile index 5c8fb65a..50260fa9 100644 --- a/deployment/docker-build/pyaleph.dockerfile +++ b/deployment/docker-build/pyaleph.dockerfile @@ -58,7 +58,7 @@ RUN pip install -e . FROM base -RUN useradd -s /bin/bash aleph +RUN useradd -s /bin/bash -u 1000 -g 1000 -o aleph COPY --from=builder --chown=aleph /opt/venv /opt/venv COPY --from=builder --chown=aleph /opt/pyaleph /opt/pyaleph From bc94dc291b8a601c2328ef2285f899e99cf09442 Mon Sep 17 00:00:00 2001 From: "Andres D. Molins" Date: Thu, 24 Apr 2025 18:22:23 +0200 Subject: [PATCH 3/3] Fix: Solve Group creation with the same guid. --- deployment/docker-build/pyaleph.dockerfile | 1 + src/aleph/schemas/pending_messages.py | 3 +-- src/aleph/web/controllers/accounts.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deployment/docker-build/pyaleph.dockerfile b/deployment/docker-build/pyaleph.dockerfile index 50260fa9..07a14998 100644 --- a/deployment/docker-build/pyaleph.dockerfile +++ b/deployment/docker-build/pyaleph.dockerfile @@ -58,6 +58,7 @@ RUN pip install -e . FROM base +RUN groupadd -g 1000 -o aleph RUN useradd -s /bin/bash -u 1000 -g 1000 -o aleph COPY --from=builder --chown=aleph /opt/venv /opt/venv diff --git a/src/aleph/schemas/pending_messages.py b/src/aleph/schemas/pending_messages.py index 8dd9b42d..7df5bf45 100644 --- a/src/aleph/schemas/pending_messages.py +++ b/src/aleph/schemas/pending_messages.py @@ -112,8 +112,7 @@ class BasePendingMessage(AlephBaseMessage, Generic[MType, ContentType]): @model_validator(mode="before") def load_content(cls, values): - values_copy = values.copy() - return base_pending_message_load_content(values_copy) + return base_pending_message_load_content(values) @field_validator("time", mode="before") def check_time(cls, v, info): diff --git a/src/aleph/web/controllers/accounts.py b/src/aleph/web/controllers/accounts.py index 191a20dc..bbd16c2c 100644 --- a/src/aleph/web/controllers/accounts.py +++ b/src/aleph/web/controllers/accounts.py @@ -4,7 +4,7 @@ from aiohttp import web from aleph_message.models import MessageType -from pydantic import ValidationError, TypeAdapter +from pydantic import TypeAdapter, ValidationError import aleph.toolkit.json as aleph_json from aleph.db.accessors.balances import (