Generalized collections UI#1077
Draft
fhennig wants to merge 34 commits intogeneralized-collections-frontend-apifrom
Draft
Generalized collections UI#1077fhennig wants to merge 34 commits intogeneralized-collections-frontend-apifrom
fhennig wants to merge 34 commits intogeneralized-collections-frontend-apifrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
9bf63dc to
760f283
Compare
760f283 to
db49022
Compare
6ff08e9 to
8ca09af
Compare
db49022 to
ce8db16
Compare
9e5ed16 to
db7b941
Compare
ce8db16 to
74a1a44
Compare
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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>
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>
db7b941 to
9870dc4
Compare
* 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>
- 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>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add Collections mega menu dropdown listing all organisms - Use details[name] exclusive accordion to close sibling menus on open Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
GitHub returns profile.id as a number, but the backend stores ownedBy as a string. Strict equality between the two always returned false. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Use contents <a> for clickable rows with proper cursor - Row hover uses bg-base-300 (distinct from zebra bg-base-200) - Left-align ID and variant count column headers - Show organism label in page headline - Replace text-base-content opacity modifiers with explicit gray colors - Show #<id> prefix in detail view headline - Replace Details card with inline organism/owner sentence Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… controls Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… to client:only Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…textarea Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
63fa289 to
902ea5e
Compare
…thenticated users Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3e567d5 to
e951f78
Compare
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.
resolves #
Summary
src/lapis/ and src/covspectrum/; shared backend proxy logic extracted so collections and
subscriptions routes share a single implementation
the same pattern as subscriptions
deleteCollection
both query-type (LAPIS filter expressions) and mutation-list-type variants
Screenshot
PR Checklist