Skip to content

Commit 56596fb

Browse files
committed
Merge branch 'feature/support-center' of github.com:odeimaiz/osparc-simcore into feature/support-center
2 parents 39c3cc6 + 22ebf86 commit 56596fb

File tree

9 files changed

+22
-9
lines changed

9 files changed

+22
-9
lines changed

api/specs/web-server/_conversations.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ async def list_conversations(
6969
): ...
7070

7171

72-
@router.put(
72+
@router.patch(
7373
"/conversations/{conversation_id}",
7474
response_model=Envelope[ConversationRestGet],
7575
)

packages/models-library/src/models_library/api_schemas_webserver/conversations.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from datetime import datetime
2-
from typing import Annotated, Self
2+
from typing import Annotated, Any, Self
33

44
from pydantic import Field
55

@@ -47,6 +47,7 @@ def from_domain_model(cls, domain: ConversationGetDB) -> Self:
4747

4848
class ConversationPatch(InputSchema):
4949
name: str | None = None
50+
extra_context: dict[str, Any] | None = None
5051

5152

5253
### CONVERSATION MESSAGES ---------------------------------------------------------------

packages/models-library/src/models_library/conversations.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ class ConversationMessageGetDB(BaseModel):
7070

7171
class ConversationPatchDB(BaseModel):
7272
name: ConversationName | None = None
73+
extra_context: dict[str, Any] | None = None
7374

7475

7576
class ConversationMessagePatchDB(BaseModel):

services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -571,7 +571,7 @@ paths:
571571
schema:
572572
$ref: '#/components/schemas/Page_ConversationRestGet_'
573573
/v0/conversations/{conversation_id}:
574-
put:
574+
patch:
575575
tags:
576576
- conversations
577577
summary: Update Conversation
@@ -10310,6 +10310,12 @@ components:
1031010310
- type: string
1031110311
- type: 'null'
1031210312
title: Name
10313+
extraContext:
10314+
anyOf:
10315+
- additionalProperties: true
10316+
type: object
10317+
- type: 'null'
10318+
title: Extracontext
1031310319
type: object
1031410320
title: ConversationPatch
1031510321
ConversationRestGet:

services/web/server/src/simcore_service_webserver/conversations/_controller/_conversations_rest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ async def get_conversation(request: web.Request):
163163
return envelope_json_response(data)
164164

165165

166-
@routes.put(
166+
@routes.patch(
167167
f"/{VTAG}/conversations/{{conversation_id}}",
168168
name="update_conversation",
169169
)
@@ -190,7 +190,7 @@ async def update_conversation(request: web.Request):
190190
app=request.app,
191191
project_id=None, # Support conversations don't use project_id
192192
conversation_id=path_params.conversation_id,
193-
updates=ConversationPatchDB(name=body_params.name),
193+
updates=ConversationPatchDB(**body_params.model_dump(exclude_unset=True)),
194194
)
195195

196196
data = ConversationRestGet.from_domain_model(conversation)

services/web/server/src/simcore_service_webserver/products/_models.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ def _update_json_schema_extra(schema: JsonDict) -> None:
288288
"LOGIN_2FA_REQUIRED": False,
289289
},
290290
"group_id": 12345,
291+
"support_standard_group_id": 67890,
291292
"is_payment_enabled": False,
292293
},
293294
]

services/web/server/src/simcore_service_webserver/products/_repository.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
products.c.registration_email_template,
5454
products.c.max_open_studies_per_user,
5555
products.c.group_id,
56+
products.c.support_standard_group_id,
5657
]
5758

5859
assert {column.name for column in _PRODUCTS_COLUMNS}.issubset( # nosec

services/web/server/src/simcore_service_webserver/statics/_events.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,9 @@ async def create_and_cache_statics_json(app: web.Application) -> None:
141141
release_vtag = _get_release_notes_vtag(vtag)
142142
data["vcsReleaseUrl"] = template_url.format(vtag=release_vtag)
143143

144+
# Add support_standard_group_id
145+
data["supportStandardGroupId"] = product.support_standard_group_id
146+
144147
data_json = json_dumps(data)
145148
_logger.debug("Front-end statics.json: %s", data_json)
146149

services/web/server/tests/unit/with_dbs/04/conversations/test_conversations_rest.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ async def test_conversations_update_and_delete(
211211
conversation_id=first_conversation_id
212212
)
213213
updated_name = "Updated Support Request - Bug Report"
214-
resp = await client.put(
214+
resp = await client.patch(
215215
f"{update_url}?type=SUPPORT",
216216
json={"name": updated_name},
217217
)
@@ -351,7 +351,7 @@ async def test_conversations_access_control(
351351
update_url = client.app.router["update_conversation"].url_for(
352352
conversation_id=conversation_id
353353
)
354-
resp = await client.put(
354+
resp = await client.patch(
355355
f"{update_url}?type=SUPPORT",
356356
json={"name": "Unauthorized update attempt"},
357357
)
@@ -394,7 +394,7 @@ async def test_conversations_error_handling(
394394
update_url = client.app.router["update_conversation"].url_for(
395395
conversation_id=fake_conversation_id
396396
)
397-
resp = await client.put(
397+
resp = await client.patch(
398398
f"{update_url}?type=SUPPORT",
399399
json={"name": "Update non-existent"},
400400
)
@@ -434,7 +434,7 @@ async def test_conversations_without_type_query_param(
434434
update_url = client.app.router["update_conversation"].url_for(
435435
conversation_id=conversation_id
436436
)
437-
resp = await client.put(f"{update_url}", json={"name": "Updated"})
437+
resp = await client.patch(f"{update_url}", json={"name": "Updated"})
438438
await assert_status(resp, status.HTTP_422_UNPROCESSABLE_ENTITY)
439439

440440
delete_url = client.app.router["delete_conversation"].url_for(

0 commit comments

Comments
 (0)