Skip to content

refactor(BA-5490): Rename integration_id to integration_name above model layer#10645

Open
hhoikoo wants to merge 10 commits intofeat/BA-5022/k8s-bridge-access-controlfrom
refactor/BA-5490/rename-integration-id-to-name
Open

refactor(BA-5490): Rename integration_id to integration_name above model layer#10645
hhoikoo wants to merge 10 commits intofeat/BA-5022/k8s-bridge-access-controlfrom
refactor/BA-5490/rename-integration-id-to-name

Conversation

@hhoikoo
Copy link
Copy Markdown
Member

@hhoikoo hhoikoo commented Mar 30, 2026

resolves #10644 (BA-5490)

Rename integration_id to integration_name at every layer above the DB model to
address reviewer feedback that the _id suffix implies a UUID in this codebase. The
underlying DB column (integration_id) is intentionally left unchanged, so no
migration is required. At each ORM-to-data-type boundary a mapping-seam comment
(# DB column is integration_id) explains the name difference.

Affected entities: users, domains, groups / projects, and resource groups.

Layers touched (54 files):

  • DTOs (v1 and v2 request/response models)
  • Adapters (domain, project, resource-group)
  • GQL types (legacy Graphene + Strawberry v2 mutations, nested types, input types)
  • Data types (DomainData, GroupData, UserData and their modifiers)
  • RBAC models (DomainModel, ProjectModel)
  • Creators & Updaters (domain, group)
  • Conditions (DomainConditions)
  • Client SDK (func/domain.py, func/group.py, output/fields.py)
  • REST handler & adapter (domain)
  • Auth DB source (user data mapping)
  • Tests (unit and component tests for all of the above)

Checklist: (if applicable)

  • Milestone metadata specifying the target backport version
  • Mention to the original issue
  • Installer updates including:
    • Fixtures for db schema changes
    • New mandatory config options
  • Update of end-to-end CLI integration tests in ai.backend.test
  • API server-client counterparts (e.g., manager API -> client SDK)
  • Test case(s) to:
    • Demonstrate the difference of before/after
    • Demonstrate the flow of abstract/conceptual models with a concrete implementation
  • Documentation
    • Contents in the docs directory
    • docstrings in public interfaces and type annotations

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


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

@hhoikoo hhoikoo self-assigned this Mar 30, 2026
@github-actions github-actions bot added size:L 100~500 LoC comp:manager Related to Manager component comp:client Related to Client component comp:common Related to Common component area:docs Documentations labels Mar 30, 2026
hhoikoo added a commit that referenced this pull request Mar 30, 2026
Add towncrier news fragment for PR #10645. Update GraphQL schema,
supergraph, and admin API docs to reflect the integration_id to
integration_name rename.
hhoikoo and others added 8 commits March 30, 2026 13:48
…del layer

The _id suffix on integration_id implied a UUID in this codebase, but it
is actually an arbitrary external identifier string. Rename the field to
integration_name at all layers above the DB model (DTOs, adapters, GQL
types, data types, creators, updaters, client SDK, conditions) for
users, domains, and groups. The DB column remains integration_id — no
migration needed. Mapping seam comments explain the name difference at
each ORM-to-data-type boundary.
Co-authored-by: octodog <mu001@lablup.com>
Add towncrier news fragment for PR #10645. Update GraphQL schema,
supergraph, and admin API docs to reflect the integration_id to
integration_name rename.
Keep integration_id as the field name in GQL types (both legacy and v2),
DTOs, REST endpoints, and client SDK to avoid breaking frontend clients.
The rename to integration_name is limited to internal layers: data
types, creators, updaters, conditions, and RBACModels. Adapters bridge
the name difference at the API boundary.
Co-authored-by: octodog <mu001@lablup.com>
Restore all external API files (DTOs, GQL types, client SDK, docs,
schema) exactly from base branch. Only bridge at adapter/handler
boundary where internal integration_name meets external integration_id.
Fix stray description string changes.
The DTO uses integration_id (external API surface), not
integration_name (internal data type).
Apply the same integration_id → integration_name internal rename to
the user data type, creator, updater, model row seam, and adapter
introduced by BA-5023. External API (DTOs, GQL) stays integration_id.
@hhoikoo hhoikoo force-pushed the refactor/BA-5490/rename-integration-id-to-name branch from 8a049ed to c65e100 Compare March 30, 2026 04:50
hhoikoo and others added 2 commits March 30, 2026 14:27
Since the follow-up BA-5025 modifies the supergraph anyway and all
code is on the same unreleased epic branch, rename integration_id to
integration_name across the full stack: DTOs, GQL types, client SDK,
REST endpoints, docs, and schema files. Adapters no longer need to
bridge between different field names.
Co-authored-by: octodog <mu001@lablup.com>
allowed_docker_registries: [String]
dotfiles: Bytes
integration_id: String
integration_name: String
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm worried that changing the existing fields might cause issues—will this work fine in the web UI?

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

Labels

area:docs Documentations comp:client Related to Client component comp:common Related to Common component comp:manager Related to Manager component size:L 100~500 LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants