Skip to content

Conversation

@wvangeit
Copy link
Contributor

What do these changes do?

This is the second stage of changes in the function api for the function browser.
Now one can search by function name and uuid/description/name.
And sort on any field.

For now this is exposed up to the webserver rpc layer. I will later extend it to the public API server, but for now this is enough for @giancarloromeo to expose this to the webserver REST.

Related issue/s

ITISFoundation/osparc-issues#1905

How to test

Add some functions and search / sort in the list_functions call.

Dev-ops

No changes

@wvangeit wvangeit added this to the Voyager milestone Aug 14, 2025
@wvangeit wvangeit self-assigned this Aug 14, 2025
@wvangeit wvangeit added a:webserver webserver's codebase. Assigning the area is particularly useful for bugs 🤖-automerge marks PR as ready to be merged for Mergify labels Aug 14, 2025
@codecov
Copy link

codecov bot commented Aug 14, 2025

Codecov Report

❌ Patch coverage is 96.29630% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 87.98%. Comparing base (cebad23) to head (f3c90ef).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #8218      +/-   ##
==========================================
+ Coverage   86.79%   87.98%   +1.19%     
==========================================
  Files        1910     1486     -424     
  Lines       73396    60988   -12408     
  Branches     1301      651     -650     
==========================================
- Hits        63704    53661   -10043     
+ Misses       9305     7098    -2207     
+ Partials      387      229     -158     
Flag Coverage Δ
integrationtests 64.19% <34.61%> (-0.04%) ⬇️
unittests 86.36% <96.29%> (-0.58%) ⬇️
Components Coverage Δ
pkg_aws_library ∅ <ø> (∅)
pkg_celery_library ∅ <ø> (∅)
pkg_dask_task_models_library ∅ <ø> (∅)
pkg_models_library ∅ <ø> (∅)
pkg_notifications_library ∅ <ø> (∅)
pkg_postgres_database ∅ <ø> (∅)
pkg_service_integration ∅ <ø> (∅)
pkg_service_library 71.71% <0.00%> (-0.02%) ⬇️
pkg_settings_library ∅ <ø> (∅)
pkg_simcore_sdk 85.05% <ø> (+0.05%) ⬆️
agent 93.81% <ø> (ø)
api_server 93.20% <ø> (ø)
autoscaling 95.89% <ø> (ø)
catalog 92.34% <ø> (ø)
clusters_keeper 99.13% <ø> (ø)
dask_sidecar 92.15% <ø> (+0.33%) ⬆️
datcore_adapter 97.94% <ø> (ø)
director 76.14% <ø> (ø)
director_v2 90.87% <ø> (+12.86%) ⬆️
dynamic_scheduler 96.27% <ø> (ø)
dynamic_sidecar 90.12% <ø> (ø)
efs_guardian 89.60% <ø> (ø)
invitations 91.44% <ø> (ø)
payments 92.60% <ø> (ø)
resource_usage_tracker 92.13% <ø> (ø)
storage 86.71% <ø> (+0.16%) ⬆️
webclient ∅ <ø> (∅)
webserver 88.25% <100.00%> (+0.02%) ⬆️

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cebad23...f3c90ef. Read the comment docs.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mergify
Copy link
Contributor

mergify bot commented Aug 14, 2025

🧪 CI Insights

Here's what we observed from your CI run for f3c90ef.

✅ Passed Jobs With Interesting Signals

Pipeline Job Signal Health on base branch Retries 🔍 CI Insights 📄 Logs
CI unit-tests Base branch is broken, but the job passed. Looks like this might be a real fix 💪 Broken 0 View View

@wvangeit
Copy link
Contributor Author

@mergify queue

@mergify
Copy link
Contributor

mergify bot commented Aug 15, 2025

queue

🟠 Waiting for conditions to match

  • -closed [📌 queue requirement]
  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue default]
      • branch-protection-review-decision = APPROVED [🛡 GitHub branch protection]
      • #approved-reviews-by >= 2 [🛡 GitHub branch protection]
      • #approved-reviews-by>=2
      • #changes-requested-reviews-by = 0 [🛡 GitHub branch protection]
      • #changes-requested-reviews-by=0
      • #review-threads-unresolved = 0 [🛡 GitHub branch protection]
      • #review-threads-unresolved=0
      • -conflict
      • -draft
      • base=master
      • label!=🤖-do-not-merge
      • label=🤖-automerge
      • any of: [🛡 GitHub branch protection]
        • check-skipped = deploy to dockerhub
        • check-neutral = deploy to dockerhub
        • check-success = deploy to dockerhub
      • any of: [🛡 GitHub branch protection]
        • check-success = system-tests
        • check-neutral = system-tests
        • check-skipped = system-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = unit-tests
        • check-neutral = unit-tests
        • check-skipped = unit-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = check OAS' are up to date
        • check-neutral = check OAS' are up to date
        • check-skipped = check OAS' are up to date
      • any of: [🛡 GitHub branch protection]
        • check-success = integration-tests
        • check-neutral = integration-tests
        • check-skipped = integration-tests
      • any of: [🛡 GitHub branch protection]
        • check-success = build-test-images (frontend) / build-test-images
        • check-neutral = build-test-images (frontend) / build-test-images
        • check-skipped = build-test-images (frontend) / build-test-images
      • any of: [🛡 GitHub branch protection]
        • check-success = SonarCloud Code Analysis
        • check-neutral = SonarCloud Code Analysis
        • check-skipped = SonarCloud Code Analysis
  • -conflict [📌 queue requirement]
  • -draft [📌 queue requirement]
  • any of: [📌 queue -> configuration change requirements]
    • -mergify-configuration-changed
    • check-success = Configuration changed

@wvangeit wvangeit requested a review from Copilot August 15, 2025 07:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds search and sort functionality to the list_functions API, enhancing the function browser capabilities. It enables searching by function name, UUID, and description, as well as sorting by any field.

Key changes:

  • Added search parameters for title-specific and multi-column searches
  • Implemented ordering by field with ascending/descending direction
  • Added filtering by function class (PROJECT or SOLVER)

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
test_functions_controller_rpc.py Added comprehensive tests for pagination, ordering, searching, and filtering functionality
_functions_service.py Updated service layer to accept and process new search/sort parameters
_functions_repository.py Implemented database queries with filtering, searching, and ordering logic
_functions_rpc.py Added new parameters to RPC controller interface
functions_rpc_interface.py Extended RPC interface to support new search and sort parameters

You can also share your feedback on Copilot code review for a chance to win a $100 gift card. Take the survey.

@sonarqubecloud
Copy link

@sanderegg sanderegg merged commit 15204d5 into ITISFoundation:master Aug 15, 2025
94 of 95 checks passed
@wvangeit wvangeit deleted the function_list_search_and_order branch August 18, 2025 07:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🤖-automerge marks PR as ready to be merged for Mergify a:webserver webserver's codebase. Assigning the area is particularly useful for bugs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants