-
Notifications
You must be signed in to change notification settings - Fork 0
feat: Cognitive Search infrastructure with env-based switching, mock LiQE/Lunr engine, Storybook fixes, and CI hardening #237
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
arif-u-ahmed
wants to merge
140
commits into
main
Choose a base branch
from
feature/mock-cognitive-search-service
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+10,792
−1,148
Open
Changes from all commits
Commits
Show all changes
140 commits
Select commit
Hold shift + click to select a range
aaf0983
WIP: Mock cognitive search implementation - core functionality working
arif-u-ahmed 448a0ce
feat: implement ServiceCognitiveSearch infrastructure with mock and A…
arif-u-ahmed b2edced
feat: implement Azure Cognitive Search integration with automatic fal…
arif-u-ahmed b2cb801
feat: implement database-driven mock data for cognitive search
arif-u-ahmed e5d436c
chore: add remaining GraphQL schema and example files
arif-u-ahmed 5616bc5
chore: update .gitignore to exclude build artifacts and test files
arif-u-ahmed e303f4e
feat: enhance mock search with Lunr.js integration
arif-u-ahmed 8082510
feat: integrate LiQE for advanced OData-like filtering in mock cognit…
arif-u-ahmed 7a295bb
docs: add comprehensive LiQE filtering documentation and examples
arif-u-ahmed 01eb5a5
test: add comprehensive test suites for cognitive search services
arif-u-ahmed dd1dd04
fix: update .gitignore to catch node_modules at any depth
arif-u-ahmed da08193
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed e76a978
Fix formatting in package.json files (tabs vs spaces)
arif-u-ahmed 3f02a68
mock-cognitive-search: fix CodeQL REDoS by removing regex exec loop; …
arif-u-ahmed c90e612
Revert "Fix formatting in package.json files (tabs vs spaces)"
arif-u-ahmed 1692adc
chore: fix CI frozen lockfile by using workspace:* for internal @cell…
arif-u-ahmed e166ecd
ci: install Playwright browsers via pnpm dlx to avoid missing bin on …
arif-u-ahmed e6c47c6
chore: resolve merge by regenerating pnpm-lock.yaml with pnpm@10.18.2
arif-u-ahmed 5fda95c
graphql: remove duplicate ItemListingSearchResult schema under types/…
arif-u-ahmed bb985a6
fix(mock-cognitive-search): TS4111 by using bracket access for parsed…
arif-u-ahmed 5cbd654
fix(domain): add @cellix/mock-cognitive-search as workspace dependenc…
arif-u-ahmed 8f61aff
chore: refresh pnpm-lock.yaml after adding @cellix/mock-cognitive-sea…
arif-u-ahmed 95f3ce1
fix(context-spec): add @sthrift/service-cognitive-search dependency a…
arif-u-ahmed a017827
fix(application-services): declare @cellix/mock-cognitive-search as w…
arif-u-ahmed 430fc3e
fix(graphql): remove any types in item-listing-search resolvers using…
arif-u-ahmed e222c67
fix(graphql): correct imports, use context services, bracket access f…
arif-u-ahmed abf01b8
fix(graphql): resolve TS4111 bracket access, import path issues, and …
arif-u-ahmed 16b64e7
fix(graphql): use .ts extensions for imports to match codebase pattern
arif-u-ahmed 2d09c51
fix: use .js extensions for imports in item-listing-search.resolvers.ts
arif-u-ahmed 03361bd
fix: use .ts extensions for imports in item-listing-search.resolvers.ts
arif-u-ahmed 9304ce0
fix: correct import paths in item-listing-search.resolvers.ts
arif-u-ahmed 228e45b
fix: remove duplicate item-listing-search.resolvers.ts file
arif-u-ahmed e6b9cde
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 84ebf87
Fix TypeScript errors in item-listing-search.resolvers.ts
arif-u-ahmed 5ac7ade
ci: do not fail PR builds on SonarCloud quality gate (breaker only on…
arif-u-ahmed 3c768d1
chore: remove analysis markdown files to reduce diff size
arif-u-ahmed dcfaa68
chore: stop tracking TypeScript build info files and ignore them\n\n-…
arif-u-ahmed df5ff13
chore: remove generated artifacts to reduce PR size\n\n- Untrack dist…
arif-u-ahmed 5e2d8ed
chore(pr-size): shrink PR by reverting pnpm-lock.yaml and removing no…
arif-u-ahmed eefa75a
chore(pr-size): remove non-essential engines and seed script for sepa…
arif-u-ahmed 9686d85
fix: implement Copilot suggestions for code quality improvements
arif-u-ahmed 8deb30a
refactor: address Sourcery AI code review comments
arif-u-ahmed 078f5f4
fix: add type assertion for facet value in mapFacets
arif-u-ahmed 6ce2ea2
feat: restore Lunr/LiQE engines and refactor InMemoryCognitiveSearch
arif-u-ahmed 54ad829
merge: merge main into feature/mock-cognitive-search-service
arif-u-ahmed 47f2df0
Merge branch 'main' into feature/mock-cognitive-search-service and re…
arif-u-ahmed f4ffb62
Update pnpm-lock.yaml to include dependencies for mock-cognitive-sear…
arif-u-ahmed a4ac5de
Fix TypeScript exactOptionalPropertyTypes errors in service-cognitive…
arif-u-ahmed 658c266
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 907ecf9
Fix build errors after merging main
arif-u-ahmed 18eb5da
Fix test mocks and update feature specs for queryPagedWithSearchFallback
arif-u-ahmed af94d7e
Implement bot review feedback: standardize env vars and add logging
arif-u-ahmed ccdbade
test: add comprehensive test coverage for service-cognitive-search
arif-u-ahmed a122ad2
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 470b86a
Format messaging-conversation.domain-adapter.ts
arif-u-ahmed 69bad97
fix: remove duplicate minimatch entries from pnpm-lock.yaml
arif-u-ahmed 8194a89
Enhance error logging for search index consistency issues
arif-u-ahmed aceb001
fix: merge and improve .gitignore patterns
arif-u-ahmed 512ea73
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 240bbd8
fix: remove obsolete role references from PersonalUser mock
arif-u-ahmed c4d6685
Merge remote-tracking branch 'origin/main' into feature/mock-cognitiv…
arif-u-ahmed 6394b3f
feat: add bulk indexing mutation for existing listings
arif-u-ahmed 1756ec6
chore: update pnpm-lock.yaml for new event-handler dependency
arif-u-ahmed b239bb0
chore: merge main into feature/mock-cognitive-search-service
arif-u-ahmed f09d161
fix: correct return types for cancelItemListing and deleteItemListing…
arif-u-ahmed 1069623
Merge remote-tracking branch 'origin/main' into feature/mock-cognitiv…
arif-u-ahmed 7abcd32
refactor: restructure search service into facade pattern with generic…
arif-u-ahmed 8867b7c
fix: address PR review feedback
arif-u-ahmed 9e791d7
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed c9daf94
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed cb98239
Revert pipeline changes per Jason's instructions
arif-u-ahmed 7084877
fix: correct startUp method name and add exact match filtering with r…
arif-u-ahmed 4b3bebf
test: add unit tests for search-service-mock to improve coverage
arif-u-ahmed c2869c1
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 1c19daf
ci: trigger SonarCloud analysis
arif-u-ahmed 12a817d
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 2f04cac
fix(security): eliminate ReDoS vulnerabilities in liqe-filter-engine
arif-u-ahmed fb11af4
test: add comprehensive tests for cognitive search infrastructure
arif-u-ahmed 7e9d009
Merge branch 'main' into feature/mock-cognitive-search-service
arif-u-ahmed c0a451f
Potential fix for pull request finding 'Useless assignment to local v…
arif-u-ahmed 53b0c2c
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed fd39a0b
fix(security): add bounded quantifiers to regex patterns to prevent R…
arif-u-ahmed e1181a9
fix: use slice instead of split for date extraction to avoid undefine…
arif-u-ahmed df8868e
fix: add searchService mock to application-services tests
arif-u-ahmed c150359
chore: exclude examples folders from vitest coverage
arif-u-ahmed bf26c15
feat: add test:coverage scripts to search service packages for SonarC…
arif-u-ahmed 469c2d8
fix: upgrade vitest to v3.2.4 and add @vitest/coverage-v8 to search s…
arif-u-ahmed 4131c9b
test: add comprehensive tests for search-service-index and exclude lo…
arif-u-ahmed 12d5e90
Merge branch 'main' into feature/mock-cognitive-search-service
arif-u-ahmed 15bf20e
test: add comprehensive tests for domain infrastructure item-listing-…
arif-u-ahmed efefd35
test: add comprehensive tests for ItemListingSearchApplicationService…
arif-u-ahmed 3903471
Merge branch 'main' into feature/mock-cognitive-search-service
arif-u-ahmed ebd6160
chore: remove custom logger.ts - will use project-wide logging
arif-u-ahmed d8ef5ce
fix: update jsonwebtoken to resolve high severity jws vulnerability (…
arif-u-ahmed 6ef6d8c
refactor: use SearchService interface instead of concrete ServiceSear…
arif-u-ahmed 61a09ef
test: update GraphQL resolver tests to reflect removed state mapping …
arif-u-ahmed b7cc768
refactor: remove type conversion functions from GraphQL resolvers, mo…
arif-u-ahmed 5cceb46
Merge branch 'main' into feature/mock-cognitive-search-service
arif-u-ahmed 202c9c0
refactor: reduce GraphQL verbosity and add test feature file
arif-u-ahmed 354051e
test: add feature files for remaining search-service-mock tests
arif-u-ahmed 3ea2dec
refactor: simplify feature files to match codebase patterns
arif-u-ahmed 2bf2dba
refactor: simplify listing search resolver following AHP pattern
arif-u-ahmed 534eef8
refactor: Apply Cellix pattern to event handlers - extract business l…
arif-u-ahmed d294ab6
fix: Correct Domain.Services type reference in ServiceBlobStorage
arif-u-ahmed 4e3a82d
Merge branch 'main' into feature/mock-cognitive-search-service
arif-u-ahmed 684bf58
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 50d9850
fix: update tsconfig extends paths after typescript-config package re…
arif-u-ahmed 32cfb59
fix: resolve knip unused dependencies and exports
arif-u-ahmed e934b5d
refactor: move search-service-mock from @cellix to @sthrift namespace
arif-u-ahmed 0321898
refactor: use isDevelopment ternary pattern for search service regist…
arif-u-ahmed 0f45e7a
refactor: rename item-listing-search files to listing-search for gene…
arif-u-ahmed ca68eb0
chore: remove unused @sthrift/search-service-index dependency from ap…
arif-u-ahmed 9bf9eb7
chore: update pnpm-lock.yaml after removing search-service-index depe…
arif-u-ahmed cbf4046
fix: remove redundant ternary operators to pass SonarCloud quality gate
arif-u-ahmed 365ad69
refactor: use ServiceSearchIndex facade in infrastructure setup
arif-u-ahmed 0d9e6c3
fix: remove unused @sthrift/search-service-mock dependency from apps/api
arif-u-ahmed 7fcfa27
feat: integrate GraphQL search with frontend listing page
arif-u-ahmed 78fd1e1
fix: prevent search execution on every keystroke in listings page
arif-u-ahmed 91f51d7
fix: enable Enter key for search execution
arif-u-ahmed 8090380
feat: implement debounced search-as-you-type functionality
arif-u-ahmed 94bbf4a
refactor: extract debounce logic into reusable custom hook
arif-u-ahmed 82035ce
fix: resolve debounce typing lockout and Enter key search issues
arif-u-ahmed e60cbe3
refactor: remove debounced search, use manual trigger only
arif-u-ahmed fcb5461
Merge main into feature/mock-cognitive-search-service
arif-u-ahmed 30e6e52
fix: resolve Azure Pipeline build errors
arif-u-ahmed 728f06a
fix: change publishedAt to createdAt in item-listing test to match fe…
arif-u-ahmed 19e9871
refactor: rename ItemListingSearch to generic ListingSearch
arif-u-ahmed 3650754
fix: complete ItemListingSearch → ListingSearch refactoring
arif-u-ahmed 47e00fd
fix: update bulk-index test expectations for ListingSearch refactoring
arif-u-ahmed ff016be
fix: update application-services tests for ListingSearch refactoring
arif-u-ahmed 95b04d4
test: add comprehensive tests for listing-search-index
arif-u-ahmed 21d5db9
fix: use domain converter function for bulk indexing listings
arif-u-ahmed c4e4d34
fix: Handle incomplete domain entities in listing search index converter
arif-u-ahmed 872240e
feat: automatic search indexing and architectural separation
arif-u-ahmed b0a943c
fix: update test import to use domain package
arif-u-ahmed ee3f65a
test: add comprehensive test coverage for ListingSearchApplicationSer…
arif-u-ahmed 50b3a32
docs: add feature files for new tests following codebase patterns
arif-u-ahmed 141bd20
test(domain): add test implementations for onSave() integration event…
arif-u-ahmed 327bfb3
Merge branch 'main' into feature/mock-cognitive-search-service
arif-u-ahmed 1708f96
fix(ui): add missing GraphQL mocks for search query in ListingsPage s…
arif-u-ahmed File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,20 +1,52 @@ | ||
| /node_modules | ||
| # Dependencies | ||
| node_modules/ | ||
| **/node_modules/ | ||
|
|
||
| # Build outputs | ||
| dist/ | ||
| **/dist/ | ||
| build/ | ||
| **/build/ | ||
|
|
||
| # TypeScript build info | ||
| *.tsbuildinfo | ||
| **/*.tsbuildinfo | ||
| **/tsconfig.tsbuildinfo | ||
|
|
||
| # OS files | ||
| .DS_Store | ||
|
|
||
| # Test coverage | ||
| **/coverage | ||
| # .gitignore template - https://github.com/github/gitignore/blob/main/Node.gitignore | ||
| lcov-report | ||
| **/coverage/**/*.json | ||
|
|
||
| # Test results | ||
| **/test-results/**/*.json | ||
| vitest-results.json | ||
| junit.json | ||
| test-report.json | ||
|
|
||
| # Temporary test files | ||
| test-*.js | ||
|
|
||
| # Misc generated files | ||
| __* | ||
|
|
||
| # Turborepo | ||
| .turbo | ||
|
|
||
| # SonarScanner | ||
| .scannerwork | ||
|
|
||
| # Generated GraphQL files | ||
| **/generated.ts | ||
| **/generated.tsx | ||
| **/graphql.schema.json | ||
| apps/ui-sharethrift/tsconfig.tsbuildinfo | ||
| **/node_modules | ||
| **/dist | ||
|
|
||
| # SonarScanner | ||
| .scannerwork | ||
|
|
||
| # Source maps and compiled JS in TypeScript packages | ||
| **/*.map | ||
| packages/**/src/*.js |
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
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
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
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
34 changes: 34 additions & 0 deletions
34
apps/ui-sharethrift/src/components/layouts/home/components/listings-page-search.graphql
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| query ListingsPageSearchListings($input: ListingSearchInput!) { | ||
| searchListings(input: $input) { | ||
| items { | ||
| id | ||
| title | ||
| description | ||
| category | ||
| location | ||
| state | ||
| sharerName | ||
| sharerId | ||
| sharingPeriodStart | ||
| sharingPeriodEnd | ||
| createdAt | ||
| updatedAt | ||
| images | ||
| } | ||
| count | ||
| facets { | ||
| category { | ||
| value | ||
| count | ||
| } | ||
| state { | ||
| value | ||
| count | ||
| } | ||
| sharerId { | ||
| value | ||
| count | ||
| } | ||
| } | ||
| } | ||
| } |
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.