Open
Conversation
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v6...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…1076) * Add tables * add a 'create collection' endpoint * Add 'GET' for collections; add tests * Add setup to spin up local postgres instance for testing * Add 'GET' for collections by ID * foo * change mutation list defintion * Add delete implementation * put pt1 * dedicated Variant.kt api file * Change collection & variant IDs from UUID to Long Collections are unreleased, so we can change in-place with no migration or backwards-compatibility concerns. Switches DB schema to bigserial, ORM tables to LongIdTable, and all API/model/test types from String/UUID to Long. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * review * Consolidate DB setup: use root docker-compose for local dev Remove backend/docker-compose.dev.yaml and update README to use the root compose file's database service. Also align POSTGRES_DB name to dashboards-backend-db across docker-compose.yml. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Move validateIsValidOrganism into DashboardsConfig class No need for an extension function when it can be a regular member. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Fix variant deletion in putCollection and clean up imports Use VariantTable.deleteWhere with explicit column references to avoid ambiguity between the 'id' function parameter and the table's id column. Add exposed-jdbc dependency and required imports. Remove stale validateIsValidOrganism extension function imports. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Extract duplicated lineage filter validation into a single method Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * optimize collection loading * better MutationListDefinition * Update backend/src/test/kotlin/org/genspectrum/dashboardsbackend/controller/CollectionsControllerTest.kt Co-authored-by: Fabian Engelniederhammer <92720311+fengelniederhammer@users.noreply.github.com> * some progress, but failing tests * simplify Mutationlist * Use import for MutationListDefinition in VariantTable Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add doc comment to validateLineageFilters Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Reduce duplication by routing createCollection through createVariantEntity Add VariantUpdate.toVariantRequest() for the id-null case, and change createVariantEntity to accept VariantRequest, removing the need for a runtime id check. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Use when expression to capture variantId in putCollection Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Split CollectionsControllerTest by HTTP verb Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Rename test to follow GIVEN/WHEN/THEN convention Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Use imports instead of fully-qualified names in CollectionsPostTest Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add test asserting type field is present on variants in GET response Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add type field to VariantRequest subclasses for consistency with Variant Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Revert "Add type field to VariantRequest subclasses for consistency with Variant" This reverts commit 513ad8c. * format * docs: make the correct type of `type` appear in OpenAPI (#1088) * docs: make the correct type of `type` appear in OpenAPI * fix import * Add test * Remove unused function * remove explicit spring JDBC import * remove unused exception handler --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Fabian Engelniederhammer <92720311+fengelniederhammer@users.noreply.github.com>
* Rename MutationListDefinition to FilterObject
- MutationListDefinition → FilterObject
- MutationListVariantType → FilterObjectVariantType
- MUTATION_LIST → FILTER_OBJECT (enum values and VariantType)
- JSON discriminator "mutationList" → "filterObject"
- Field mutationList → filterObject throughout
- DB column "mutation_list" → "filter_object", stored value updated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Spell out abbreviated field names in FilterObject
aa -> aminoAcid, nuc -> nucleotide:
- aaMutations -> aminoAcidMutations
- nucMutations -> nucleotideMutations
- aaInsertions -> aminoAcidInsertions
- nucInsertions -> nucleotideInsertions
Also fix missed .mutationList. -> .filterObject. accesses in tests.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Convert FilterObject to regular class with JsonAnySetter for filters
- Remove data class; no-arg constructor, var properties
- Arbitrary extra JSON properties captured via @JsonAnySetter into a
private map, exposed via @JsonAnyGetter (no longer a "filters" sub-object)
- Spell out field names: aa -> aminoAcid, nuc -> nucleotide
- Update all call sites to use .apply { } instead of constructor params
- Restructure FilterObjectTest: explicit JSON string comparisons,
full and partial serialization/deserialization, and a type-error test
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Update V1.1 migration: mutation_list -> filter_object, mutationList -> filterObject
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix remaining mutationList -> filterObject in test JSON strings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add equals/hashCode to FilterObject
Lost when converting from data class.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Rename FilterObjectTest methods to WHEN/THEN convention
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Use GIVEN/WHEN/THEN naming convention in FilterObjectTest
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs
* Rename MutationList* variant classes to FilterObject*
- MutationListVariant -> FilterObjectVariant
- MutationListVariantRequest -> FilterObjectVariantRequest
- MutationListVariantUpdate -> FilterObjectVariantUpdate
- Related local variables and test helpers updated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add another test
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…es (#1102) Bumps the minorandpatch group in /backend with 3 updates: [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java), [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) and [gradle-wrapper](https://github.com/gradle/gradle). Updates `org.testcontainers:testcontainers` from 2.0.3 to 2.0.4 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](testcontainers/testcontainers-java@2.0.3...2.0.4) Updates `org.testcontainers:testcontainers-postgresql` from 2.0.3 to 2.0.4 - [Release notes](https://github.com/testcontainers/testcontainers-java/releases) - [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md) - [Commits](testcontainers/testcontainers-java@2.0.3...2.0.4) Updates `gradle-wrapper` from 9.4.0 to 9.4.1 - [Release notes](https://github.com/gradle/gradle/releases) - [Commits](gradle/gradle@v9.4.0...v9.4.1) --- updated-dependencies: - dependency-name: org.testcontainers:testcontainers dependency-version: 2.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minorandpatch - dependency-name: org.testcontainers:testcontainers-postgresql dependency-version: 2.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minorandpatch - dependency-name: gradle-wrapper dependency-version: 9.4.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: minorandpatch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [gradle/actions](https://github.com/gradle/actions) from 5 to 6. - [Release notes](https://github.com/gradle/actions/releases) - [Commits](gradle/actions@v5...v6) --- updated-dependencies: - dependency-name: gradle/actions dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Move backendApi to src/ top level alongside lapis and covspectrum Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add collection types and backend service methods Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Change collection and variant IDs from String to number Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * format * Extract shared backend proxy, add collections proxy route Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Drop redundant userId args from collection service methods userId is injected by the backend proxy from the session, so there is no need to pass it from the client. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Drop userId from subscription call sites The userId is added by the backend proxy, so callers don't need to supply it. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * add a bit of docs * Update MutationListDefinition schema to match simplified backend type Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Adapt Collection types to renamed FilterObject backend API - MutationListDefinition -> FilterObject - mutationList discriminator -> filterObject - mutationList field -> filterObject on variant objects - aaMutations/nucMutations/aaInsertions/nucInsertions -> spelled-out names - filters sub-object removed; arbitrary filter props now top-level via catchall Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Move backendProxy.ts from pages/api/ to backendApi/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Split collections catch-all route into explicit per-endpoint files Replaces [...path].ts with index.ts (GET+POST) and [id].ts (GET+PUT+DELETE), making auth requirements per endpoint explicit. Also adds proxyToBackendOptionalAuth to backendProxy.ts to support endpoints where auth is optional. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add backendService tests for getCollections Tests cover fetching all collections and filtering by organism query param. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Replace proxyToBackendOptionalAuth with proxyToBackendNoAuth for collection GETs Forwarding userId on read requests caused the backend to filter collections by owner. Collection reads are always public, so no auth context is needed. Removes proxyToBackendOptionalAuth entirely. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add Collections entry to organism mega menus Each organism's Pathogens menu now includes a Collections link, placed after dashboards and before external Browse data links, with a visual separator above it. Separator is threaded through desktop mega menu, mobile hamburger menu, and landing page organism tiles. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Add collections overview page per organism Adds /collections (organism selector) and /collections/:organism (overview table) as browsable-without-login pages. The overview fetches collections from the backend and displays them in a table. The isLoggedIn prop is wired through from SSR session but unused until create/edit is added in a follow-up PR. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Style collections organism selector with landing page card design Use organism background colors, border decorations, and hover states matching the landing page tiles. Grid is 2→3→4 columns across breakpoints. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * format * remove 'as const' * always show page header * stronger typing * Add a test --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the
prodbranch with the latest changes from themainbranch.Make sure to merge this creating a merge commit.
Do not squash-merge this PR. Do not rebase and merge.