Skip to content

feat(BA-6628): expose allow-list rank on the v2 API surface#12517

Draft
jopemachine wants to merge 4 commits into
feat/BA-6628-allow-list-rankfrom
feat/BA-6628-allow-list-rank-api
Draft

feat(BA-6628): expose allow-list rank on the v2 API surface#12517
jopemachine wants to merge 4 commits into
feat/BA-6628-allow-list-rankfrom
feat/BA-6628-allow-list-rank-api

Conversation

@jopemachine

@jopemachine jopemachine commented Jul 3, 2026

Copy link
Copy Markdown
Member

Summary

Exposes the allow-list rank (introduced in #12516) on the v2 API surface. Pure API-layer change — no schema or behavior change beyond the new field:

  • DTO (common/dto/manager/v2/app_config_allow_list): optional rank on CreateAppConfigAllowListInput (defaults to the scope type's default rank when omitted), required rank on AppConfigAllowListNode, and a RANK order field.
  • Adapter: maps rank between the DTO and the creator spec / domain data, and handles the RANK ordering.
  • GraphQL: rank on the AppConfigAllowList node and CreateAppConfigAllowListInput (version-tagged with NEXT_RELEASE_VERSION), RANK in AppConfigAllowListOrderField; supergraph / v2 schema regenerated.
  • CLI: ./bai admin app-config-allow-list create --rank.
  • New update operation (rank only) — with rank on the allow list, re-ordering the merge needs a post-create adjustment (purge now cascades to fragments, so purge+recreate is not a substitute): AppConfigAllowListUpdaterSpec + service action/processor, PATCH /v2/app-config-allow-list/{id}, adminUpdateAppConfigAllowList GQL mutation, SDK admin_update, and ./bai admin app-config-allow-list update <id> --rank. The identity pair (config_name, scope_type) stays immutable.
  • The SDK create/get/search need no code change (they share the DTOs).

Verified against the live server: REST/GQL/CLI create with default (user=300) and explicit (--rank 250) ranks, rank ordering in both directions, and rank update via both the CLI (update --rank 275) and the GQL mutation.

📚 Stacked PRs

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

  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-6628): move fragment rank to the allow list with scope defaults #12516feat(BA-6628): move fragment rank to the allow list with scope defaults (replaces feat(BA-6628): conditional-bulk repository primitives #12429)
  7. 👉 feat(BA-6628): expose allow-list rank on the v2 API surface #12517feat(BA-6628): expose allow-list rank on the v2 API surface ← you are here
  8. feat(BA-6628): cascade fragment deletion from the allow list #12518feat(BA-6628): cascade fragment deletion from the allow list
  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): AppConfigFragment bulk CRUD service layer
  11. feat(BA-6555): add app_config service layer #12359feat(BA-6555): app_config service layer (merge engine)
  12. feat(BA-6556): AppConfig REST v2 API (raw fragments and merged read/update) #12377feat(BA-6556): AppConfig REST v2 API

🤖 Generated with Claude Code


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


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


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


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

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions github-actions Bot added size:M 30~100 LoC area:docs Documentations comp:manager Related to Manager component comp:client Related to Client component comp:common Related to Common component comp:cli Related to CLI component labels Jul 3, 2026
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jopemachine jopemachine force-pushed the feat/BA-6628-allow-list-rank-api branch from 0f29c09 to 82c26ae Compare July 3, 2026 07:37
@github-actions github-actions Bot added size:XL 500~ LoC and removed size:M 30~100 LoC labels Jul 3, 2026
Co-authored-by: octodog <mu001@lablup.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs Documentations comp:cli Related to CLI component comp:client Related to Client component 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