-
Notifications
You must be signed in to change notification settings - Fork 32
β¨ First iteration backend for support center (ποΈ) #8212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
β¨ First iteration backend for support center (ποΈ) #8212
Conversation
Codecov Reportβ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #8212 +/- ##
==========================================
+ Coverage 88.09% 89.80% +1.71%
==========================================
Files 1911 1625 -286
Lines 73543 64243 -9300
Branches 1299 640 -659
==========================================
- Hits 64787 57695 -7092
+ Misses 8366 6379 -1987
+ Partials 390 169 -221
Continue to review full report in Codecov by Sentry.
π New features to boost your workflow:
|
π§ͺ CI InsightsHere's what we observed from your CI run for 8a31d1a. β Passed Jobs With Interesting Signals
|
Allows support conversations and messages to be created, updated, and deleted without requiring a project ID. Prevents unnecessary notifications for support conversations by skipping events when no project ID is present. Improves access control checks and context handling for support-type conversations. Enhances code clarity and robustness for support workflows.
Moves REST endpoints for conversation messages into a separate controller for improved modularity and maintainability. Refactors logic to better support support-type conversations, removing unnecessary project_id handling and redundant code. Enhances separation between conversation and message operations.
Replaces ad-hoc exception handling with a centralized decorator, introducing custom exceptions for unsupported conversation types. Improves code clarity, reduces duplication, and ensures more consistent HTTP error responses across conversation APIs.
Enables richer data storage for conversations by introducing a JSONB field for extra context. Links products to support groups, improving flexibility in product support management via a new nullable foreign key. Facilitates future enhancements in conversation and product handling.
Introduces new RESTful routes and OpenAPI specs to manage conversations and their messages, supporting create, list, update, delete, and retrieve operations. Refactors common path parameter logic for improved code reuse. Extends conversation types and schema definitions to enable more flexible conversational features.
Updates parameter names from 'type' to 'type_' in conversation-related functions to avoid shadowing built-in names and improve code readability.
Updates comments to more accurately describe API entrypoints, improving readability and maintainability by aligning section headers with their actual functionality.
Replaces ambiguous parameter name with a more explicit one to prevent confusion with the Python built-in type and improve code clarity.
Replaces use of 'in' operator with SQLAlchemy's 'in_' method to ensure correct filtering of conversation types in queries. Prevents potential logical errors and improves query reliability.
Clarifies validation error when a non-support conversation type is provided, making the exception message more descriptive for better debugging and user feedback.
Introduces the SUPPORT value to conversation types and updates REST API error handling for unsupported types. Renames REST controller modules for consistency and registers their routes in the plugin. Adds comprehensive unit tests for conversation endpoints, covering access control, validation, pagination, and error handling. Facilitates future extension of conversation types and improves API reliability. Relates to ITISFoundation/private-issues#51
GitHK
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks
services/web/server/src/simcore_service_webserver/conversations/_controller/__init__.py
Show resolved
Hide resolved
services/web/server/tests/unit/with_dbs/04/conversations/__init__.py
Outdated
Show resolved
Hide resolved
bisgaard-itis
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the effort. Just a few suggestions from my side
services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml
Outdated
Show resolved
Hide resolved
odeimaiz
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
packages/models-library/src/models_library/api_schemas_webserver/conversations.py
Show resolved
Hide resolved
Switches to using a query parameter utility for improved validation and simplifies endpoint signatures. Updates OpenAPI spec to clarify request body requirements and relaxes query param constraints to offer greater flexibility in API usage.
|
@mergify queue |
π Waiting for conditions to match
|
|
133458b
into
ITISFoundation:master



What do these changes do?
/conversationsand/conversations/<id>/messagesendpoints with focus onSUPPORTtypeNext steps:
Related issue/s
How to test
services/web/server/tests/unit/with_dbs/04/conversations/test_conversations_rest.pyservices/web/server/tests/unit/with_dbs/04/conversations/test_conversations_messages_rest.pyDev-ops