Skip to content

Conversation

@abailly-akamai
Copy link
Contributor

@abailly-akamai abailly-akamai commented Jan 28, 2026

Description 📝

In the new model, proxy users (user_type from the /profile response) become delegate users. When it comes to UI, it's pretty much a 1/1 relationship for Cloud Manager to provide the same experience.

This PR takes a progressive, which is matching the proxy logic to delegates users, without deprecating proxy users since we will still server them for some time. (the concept of proxy users will be fully deprecated in a subsequent PR, once that change is made in APIv4).

Changes 🔄

  • Align proxy logic with delegate users ('user_type" = 'proxy' OR 'user_type" = 'delegate')
  • Change naming conventions to reference userType rather than user or account in order to better align with APIv4 naming conventions and facilitate core reading logic comprehension

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • [] Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

How to test 🧪

Prerequisites

  • Have a legacy Parent/Child account
  • Have an IAM Parent/Child account

Verification steps

Legacy Parent/Child account

  • ✅ Confirm there is no regression in the experience as a parent or proxy user

IAM Parent/Child account

  • ✅ Confirm being able to switch account (back and forth between Parent & Delegate)
  • ✅ Confirm UI behaves properly as a delegate user
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support

  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@abailly-akamai abailly-akamai self-assigned this Jan 28, 2026
@abailly-akamai abailly-akamai changed the title [UIE-9597] upcoming: [UIE-9597] - IAM Parent/Child: Align proxy logic with delegate users Jan 29, 2026
@abailly-akamai abailly-akamai added IAM (Identity & Access Management) IAM Delegation Implementing the new Parent/Child delegation UI labels Jan 29, 2026
@abailly-akamai abailly-akamai marked this pull request as ready for review January 29, 2026 12:14
@abailly-akamai abailly-akamai requested review from a team as code owners January 29, 2026 12:14
@abailly-akamai abailly-akamai requested review from aaleksee-akamai, jdamore-linode and mpolotsk-akamai and removed request for a team January 29, 2026 12:14
const [searchQuery, setSearchQuery] = React.useState<string>('');
const { isIAMDelegationEnabled } = useIsIAMDelegationEnabled();
const isProxyUser = userType === 'proxy';
const isParentUserType = userType === 'parent';
Copy link
Contributor

Choose a reason for hiding this comment

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

why we don't import these types from useDelegationRole?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Just cause userType is passed as a prop and didn't want to touch all the files it is implemented on, but it could indeed be done that way.

const isProxyOrDelegateUser = Boolean(
user.user_type === 'proxy' || user.user_type === 'delegate'
);
const showChildAccountAccessCol = profile?.user_type === 'parent';
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: also can import from useDelegationRole

Copy link
Contributor

@mpolotsk-akamai mpolotsk-akamai left a comment

Choose a reason for hiding this comment

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

Looks good to me. Thanks!

@github-project-automation github-project-automation bot moved this from Review to Approved in Cloud Manager Feb 4, 2026
@linode-gh-bot
Copy link
Collaborator

Cloud Manager UI test results

🎉 866 passing tests on test run #10 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
0 Failing866 Passing11 Skipped42m 35s

@abailly-akamai abailly-akamai merged commit e01fac6 into linode:develop Feb 4, 2026
35 checks passed
@github-project-automation github-project-automation bot moved this from Approved to Merged in Cloud Manager Feb 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

IAM Delegation Implementing the new Parent/Child delegation UI IAM (Identity & Access Management)

Projects

Status: Merged

Development

Successfully merging this pull request may close these issues.

4 participants