Skip to content

feat(BA-6922): AppConfig fragment search REST v2 API (admin + scoped)#12930

Closed
jopemachine wants to merge 0 commit into
feat/BA-6921-app-config-fragment-rest-v2from
feat/BA-6922-app-config-fragment-search-rest-v2
Closed

feat(BA-6922): AppConfig fragment search REST v2 API (admin + scoped)#12930
jopemachine wants to merge 0 commit into
feat/BA-6921-app-config-fragment-rest-v2from
feat/BA-6922-app-config-fragment-search-rest-v2

Conversation

@jopemachine

@jopemachine jopemachine commented Jul 16, 2026

Copy link
Copy Markdown
Member

📚 Stacked PRs

Part of the AppConfigFragment / AppConfig stack under BEP-1052 (epic BA-5781). Merge in order (bottom-up):

  1. feat(BA-6552): add app_config_fragments DB model and Alembic migration #12306feat(BA-6552): app_config_fragments DB model and Alembic migration
  2. feat(BA-6553): add app_config_fragments repository layer #12307feat(BA-6553): repository layer
  3. refactor(BA-6619): consolidate AppConfigScopeType into common.data (single definition) #12403refactor(BA-6619): consolidate AppConfigScopeType into common.data
  4. refactor(BA-6620): ExistsQuerier ops primitive + AppConfigAllowList.exists #12405refactor(BA-6620): ExistsQuerier + AppConfigAllowList.exists
  5. feat(BA-6554): add app_config_fragment service layer #12358feat(BA-6554): AppConfigFragment service layer
  6. feat(BA-6702): move fragment rank to the allow list with scope defaults #12516feat(BA-6702): move fragment rank to the allow list with scope defaults
  7. feat(BA-6701): expose allow-list rank on the v2 API surface #12517feat(BA-6701): expose allow-list rank on the v2 API surface
  8. feat(BA-6704): cascade app config subtree deletion from the definition #12518feat(BA-6704): cascade app config subtree deletion from the definition
  9. feat(BA-6626): app_config_fragment bulk repository layer #12426feat(BA-6626): app_config_fragment bulk repository layer
  10. feat(BA-6618): app_config_fragment bulk CRUD service layer #12401feat(BA-6618): app_config_fragment bulk CRUD service layer
  11. feat(BA-6810): AppConfigFragment visible-fragments query (repository layer) #12706feat(BA-6810): AppConfigFragment visible-fragments query (repository layer)
  12. feat(BA-6859): bind AppConfig fragments to their RBAC scope on write (repository layer) #12826feat(BA-6859): bind fragments to their RBAC scope on write (repository layer)
  13. feat(BA-6872): seed APP_CONFIG_FRAGMENT permissions into the RBAC role fixture #12837fix(BA-6872): seed APP_CONFIG_FRAGMENT permissions into the RBAC role fixture
  14. chore(BA-6873): drop the dead APP_CONFIG RBAC entity type #12839chore(BA-6873): drop the dead APP_CONFIG RBAC entity type
  15. feat(BA-6555): AppConfig merge engine + resolve service (service layer) #12359feat(BA-6555): AppConfig merge engine + resolve service (service layer)
  16. refactor(BA-6948): store app_config_fragments.scope_id as a nullable UUID #12984feat(BA-6948): store app_config_fragments.scope_id as a nullable UUID
  17. feat(BA-6921): AppConfig fragment write REST v2 API (CRUD) #12928feat(BA-6921): AppConfig fragment write REST v2 API (CRUD)
  18. 👉 feat(BA-6922): AppConfig fragment search REST v2 API (admin + scoped) #12930feat(BA-6922): AppConfig fragment search REST v2 API (admin + scoped) ← you are here
  19. feat(BA-6556): merged AppConfig REST v2 read API #12377feat(BA-6556): merged AppConfig REST v2 read API

Fork at #12928: the fragment search (#12930) and the merged-read (#12377) both stack on #12928 and can merge in either order once it lands.

Summary

Fragment search REST v2 surface, split out of the write PR (BA-6921, #12928) to keep each PR review-sized. Two variants:

What's included

  • DTOs: AppConfigFragmentFilter, AppConfigFragmentOrder, SearchAppConfigFragmentInput, AppConfigFragmentScope, ScopedSearchAppConfigFragmentInput, plus types.py (order field + scope-type filter) and SearchAppConfigFragmentPayload.
  • Adapter: admin_search / scoped_search + the filter / order / scope-type query converters.
  • REST: the two search routes on the existing app-config-fragments sub-app.

Reuses AppConfigFragmentNode from #12928. No processor change — the admin_search / scoped_search service processors already exist; this PR only adds the API surface.


📚 Documentation preview 📚: https://sorna--12930.org.readthedocs.build/en/12930/


📚 Documentation preview 📚: https://sorna-ko--12930.org.readthedocs.build/ko/12930/


📚 Documentation preview 📚: https://sorna--12930.org.readthedocs.build/en/12930/


📚 Documentation preview 📚: https://sorna-ko--12930.org.readthedocs.build/ko/12930/


📚 Documentation preview 📚: https://sorna--12930.org.readthedocs.build/en/12930/


📚 Documentation preview 📚: https://sorna-ko--12930.org.readthedocs.build/ko/12930/


📚 Documentation preview 📚: https://sorna--12930.org.readthedocs.build/en/12930/


📚 Documentation preview 📚: https://sorna-ko--12930.org.readthedocs.build/ko/12930/

@github-actions github-actions Bot added size:XL 500~ LoC area:docs Documentations comp:manager Related to Manager component comp:common Related to Common component labels Jul 16, 2026
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 5a81ecb to 9b6092b Compare July 16, 2026 09:35
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 53b60df to 436d45c Compare July 16, 2026 09:51
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch 2 times, most recently from eb446e5 to 92f18d7 Compare July 16, 2026 10:51
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 436d45c to b180d8b Compare July 16, 2026 10:59
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 92f18d7 to 220e507 Compare July 16, 2026 11:00
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from b180d8b to cc8fa8a Compare July 16, 2026 11:06
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 220e507 to ce464d9 Compare July 16, 2026 11:06
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from cc8fa8a to 5fa07ce Compare July 16, 2026 11:10
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from ce464d9 to a5fea99 Compare July 16, 2026 11:10
)


class AppConfigFragmentScope(BaseRequestModel):

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This type doesn't represent public scope

@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 5fa07ce to 2133188 Compare July 16, 2026 11:30
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from a5fea99 to 2981b82 Compare July 16, 2026 11:30
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 2133188 to 79dfa66 Compare July 16, 2026 11:31
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 2981b82 to 5d5c9a9 Compare July 16, 2026 11:31
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch 2 times, most recently from 4d78a39 to 20f41dd Compare July 21, 2026 05:09
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch 4 times, most recently from 02c6786 to 0aa5954 Compare July 21, 2026 05:52
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch 3 times, most recently from 8ea687e to f0c7832 Compare July 21, 2026 07:55
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 5d5c9a9 to 2027779 Compare July 21, 2026 08:09
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch 2 times, most recently from 1df2041 to 0b84b9a Compare July 21, 2026 09:22
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 2027779 to 2a7a314 Compare July 21, 2026 09:27
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 0b84b9a to 0fef542 Compare July 21, 2026 10:04
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 2a7a314 to ed06a96 Compare July 21, 2026 10:05
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 0fef542 to 3b5c071 Compare July 21, 2026 10:15
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from ed06a96 to 5d8759b Compare July 21, 2026 10:16
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 3b5c071 to 80e715c Compare July 21, 2026 10:27
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 5d8759b to 8df1e87 Compare July 21, 2026 10:27
@jopemachine
jopemachine force-pushed the feat/BA-6921-app-config-fragment-rest-v2 branch from 80e715c to f7c7571 Compare July 22, 2026 05:21
@jopemachine
jopemachine force-pushed the feat/BA-6922-app-config-fragment-search-rest-v2 branch from 8df1e87 to f7c7571 Compare July 22, 2026 05:22
@jopemachine

Copy link
Copy Markdown
Member Author

This PR was auto-closed by GitHub after a rebase mistake briefly made the head branch equal its base (head == base, zero diff). GitHub refuses to reopen a PR in that state. No code was lost. Recreated as #13020 with the same branch and commit — please continue review there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs Documentations comp:common Related to Common component comp:manager Related to Manager component size:XL 500~ LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant