Skip to content

#39 - Support role management API - #22

Merged
reckart merged 8 commits into
inception-project:mainfrom
kingspp:feature_roles_api
Jul 8, 2026
Merged

reckart merged 8 commits into
inception-project:mainfrom
kingspp:feature_roles_api

Conversation

@kingspp

@kingspp kingspp commented Jan 29, 2025

Copy link
Copy Markdown

What's in the PR

  • ...

How to test manually

  • ...

Automatic testing

  • PR includes unit tests

Documentation

  • PR updates documentation

@reckart reckart added the ⭐️ Enhancement New feature or request label Feb 25, 2025
@reckart reckart added this to the 0.3.0 milestone Feb 25, 2025
* main:
  No issue: Replace flake with ruff and format code

% Conflicts:
%	pycaprio/core/clients/retryable_client.py
%	pycaprio/core/mappings.py
* main:
  No issue: Update lock file
@codecov-commenter

codecov-commenter commented Feb 25, 2025 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.23077% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.90%. Comparing base (e9b504a) to head (e8392ab).
⚠️ Report is 9 commits behind head on main.

Files with missing lines Patch % Lines
pycaprio/core/adapters/local_adapter.py 57.14% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
- Coverage   96.12%   95.90%   -0.23%     
==========================================
  Files          20       20              
  Lines         594      635      +41     
  Branches       35       38       +3     
==========================================
+ Hits          571      609      +38     
- Misses         15       18       +3     
  Partials        8        8              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@reckart reckart modified the milestones: 0.3.0, 0.4.0 Jun 10, 2025
reckart added 2 commits July 7, 2026 21:55
* main: (30 commits)
  inception-project#38 - Allow connecting to INCEpTION servers that use self-signed or internal SSL certificates
  inception-project#36 - Uploading a curation for a document fails or leaves it in the wrong state
  inception-project#34 - Clean up typechecker issues
  inception-project#32 - Switch to uv
  retryable_client.py - added SSLAdapter class + SSL parameters; http_adapter.py - certificate parameters; pycaprio.py - certificate parameters
  No issue: Set version to 0.4.0-dev
  No issue: no testpy
  No issue: Added release section to README
  No issue: Set version to 0.3.1
  inception-project#24 - Support local projects
  No issue: Update release workflow
  inception-project#24 - Support Local Projects - Adds unit tests for retrieving list of annotations from a document - Adds unit tests for retrieving annotation by a specific user from a document
  inception-project#24 Support Local Projects - Implements method for retrieving a list of annotations from a document - Implements method for retrieving the annotation of a specific user from a document
  inception-project#24 - Support Local Documents - Adds unit test for retrieving a document from a give project in LocalInceptionAdapter
  inception-project#24 - Support Local Documents - Adds unit tests for retrieving list of documents from a project in LocalInceptionAdapter
  inception-project#24 - Support Local Documents - Implements method for retrieving a list of documents in a project - Implements method for retrieving a single document in a project - Minor formatting changes
  inception-project#26 - Run integration tests locally as well using testcontainers
  inception-project#24 - Support Local Projects - Adds first unit tests for LocalInceptionAdapter
  inception-project#24 - Support Local Projects - Adds placeholders for missing abstract methods
  inception-project#24 - Support Local Projects - Implements method for retrieving all projects in local directory - Implements method for retrieving a single project from local directory
  ...

% Conflicts:
%	pycaprio/core/adapters/http_adapter.py
- Add roles/permissions API (list_roles, assign_roles, delete_roles) to manage user permissions in projects
- Add support for query string parameters (params) to HTTP client POST and DELETE methods
- URL-encode user-controlled path segments (usernames/user IDs) to prevent path corruption
- Add _extract_role_names() helper to safely parse permission responses, handling empty/no-content bodies
- Implement roles endpoints in both HttpInceptionAdapter and LocalInceptionAdapter
- Update abstract adapter and client interfaces with new role method signatures
- Add RoleType constants (ANNOTATOR, CURATOR, MANAGER) to mappings for role names
- Add unit tests for role methods including empty-response-body handling
- Add integration tests for list_roles, assign_roles, delete_roles workflows
@reckart reckart changed the title Feature roles api #39 - Support role management API Jul 8, 2026
@reckart
reckart merged commit 7fde59a into inception-project:main Jul 8, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⭐️ Enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants