Skip to content

Conversation

@bencap
Copy link
Collaborator

@bencap bencap commented Jan 27, 2026

[todo]

bencap and others added 30 commits November 17, 2025 10:28
…roject-ingestion-using-incorrect-class-levels

fix: update point label mappings for pillar project assessment levels
…for-calibration-variant-effect-figures

feat: add script to count unique variant effect measurements within ACMG-classified ranges
…ufficient permissions when user data is missing
…nd testability

- Refactored the `permissions.py` file into a permissions module
- Entities now have their own has_permission function, and the core `has_permission` function acts as a dispatcher. This structure significantly improves readability and testability of the permissions boundary. It also greatly improves its extensibility for future permissions updates.
- Added comprehensive tests for all implemented permissions. Tests are modular and can be easily added to and changed.
…ation permissions

When fetching score sets via this method, score calibration relationships were being unset in an unsafe manner. Because of this, functions in this router were refactored to access score sets directly and load the score set contributors directly when loading calibrations.
…stency and duplication

- Added unified deny action handler for reduced duplication
- Removed now unused deny action tests from score calibration, score set, and user permission tests.
- Updated error messages in various tests to consistently reference the entity type (e.g., "ScoreCalibration", "ScoreSet", "User") in the detail messages.
- Adjusted test assertions to ensure they check for the correct error messages when permissions are insufficient or entities are not found.
- Renamed tests to clarify expected outcomes, particularly for contributor permissions.
This allows the mapper to be reloaded dynamically.
See #613 for a possible solution to the
pain renaming many distributed user facing model names.
…omponents

Adds a new `components/` directory to the view models directory which is intended to house shared components. Refactors the official collection component into the `collections` view model folder, which is more appropriate given the content.
bencap and others added 30 commits December 30, 2025 10:10
…alidation-path-fix

fix: target gene validation error custom_loc path fix
…dicated-linkout

feat: Add external links property to experiments
…ical-calibrations

Categorical Score Calibrations
Do release-2025.5.1 in release-2025.6.0
…ints by indicating required fields as property
…ocs-for-score-set-metadata

docs: enhance score set create/patch endpoints with detailed OpenAPI schema for file uploads
…ngen-namespace-to-csv-export

feat: add ClinGen namespace to CSV export functionality
…ss the codebase

This change makes circular imports stemming from the import of this dataclass more unlikely.
… the reqesting user did not have permissions on
- Only generate synthetic fields for experiments (e.g., publication identifiers, score set URNs) when ORM attributes are present, avoiding dict-based synthesis.
- Validators now check for ORM attribute presence before transformation, ensuring correct behavior for both ORM and API/dict contexts.
- Updated tests to expect Pydantic validation errors when required synthetic fields are missing.
- Refactored SavedTargetGene and TargetGeneWithScoreSetUrn to synthesize synthetic fields (e.g., external_identifiers, score_set_urn) only from ORM objects, not dicts.
- Updated model validators to require either target_sequence or target_accession for all construction contexts.
- Added tests to ensure SavedTargetGene and TargetGeneWithScoreSetUrn can be created from both ORM (attributed object) and non-ORM (dict) contexts.
- Refactored SavedCollection and CollectionWithUrn to ensure robust handling of synthetic and required fields for both ORM and dict contexts.
- Added parameterized tests to verify all key attributes are correctly handled in both construction modes.
- Added tests for creation from both dict and ORM contexts, mirroring the approach used for other models.
- Refactored MappedVariant view models to ensure robust handling of synthetic and required fields for both ORM and dict contexts.
- Added tests to verify all key attributes and synthetic properties are correctly handled in both construction modes.
- Ensured creation from both dict and ORM contexts, mirroring the approach used for other models.
- Refactored Variant view models to ensure robust handling of synthetic and required fields for both ORM and dict contexts.
- Added tests to verify all key attributes and synthetic properties are correctly handled in both construction modes.
- Ensured creation from both dict and ORM contexts, mirroring the approach used for other models.
- Refactored ScoreCalibration view models to ensure robust handling of synthetic and required fields for both ORM and dict contexts.
- Made the source fields non-optional to enforce required data integrity.
- Added tests to verify all key attributes and synthetic properties are correctly handled in both construction modes.
- Ensured creation from both dict and ORM contexts, mirroring the approach used for other models.
- Refactored ScoreSet view models to ensure robust handling of synthetic and required fields for both ORM and dict contexts.
- Added tests to verify all key attributes and synthetic properties are correctly handled in both construction modes.
- Ensured creation from both dict and ORM contexts, mirroring the approach used for other models.
…ilters-were-agnostic-to-score-set-permissions

fix: Search filters returned all possible options, not just values for which user had permissions
…el-creation-fails-from-non-db-contexts

fixed: View model creation fails from non-ORM contexts for models with synthetic properties
…vice-tweaks

fix: Tweaks to ClinGen Service Behavior
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants