Skip to content

Show verification and profile columns and request verification in IAM - #36

Merged
roncodes merged 2 commits into
release/v0.1.12from
feature/iam-user-verification-columns
Sep 22, 2026
Merged

roncodes merged 2 commits into
release/v0.1.12from
feature/iam-user-verification-columns

Conversation

@roncodes

@roncodes roncodes commented Sep 22, 2026 •

Copy link
Copy Markdown
Member

Why

In IAM an admin could only Verify user, which marks the email verified. They couldn't:

  • see whether a user's email or phone is verified;
  • ask the user to verify either one;
  • mark a phone verified.

Several useful fields the API already returns weren't shown either.

Changes

  • Columns
    • Email Verified and Phone Verified, visible. A new table/cell/verification-status cell shows a Verified badge (verified date in the tooltip), Unverified, or a dash when there's no email/phone. Each has a Verified/Unverified filter (email_verified, phone_verified).
    • Country, Timezone, Date of Birth and IP Address, hidden by default and available from the column picker. Country and timezone have filters.
  • Row actions (iam verify user, each shown only when that email/phone is set and unverified):
    • Send email verification and Send phone verification send the user a one-click link that works without signing in.
    • Mark email verified and Mark phone verified.
    • These replace the single "Verify user", which only covered email.
  • user-actions service: new sendVerification(user, channel) and markVerified(user, channel). verifyUser() still works and marks the email verified, so other engines calling it are unaffected.

Depends on

This touches the same users controller and translations as #35, so expect a small conflict on the queryParams line: #35 drops type, and this adds four params.

Testing

  • Unit tests cover which actions appear for set/unverified email and phone, the filter options, and which columns are hidden by default.
  • Lint runs in CI; it couldn't run locally in this clone.

…in IAM

- Users list columns:
  - Email Verified and Phone Verified, with a Verified/Unverified badge
    (verified date as tooltip) and a verified/unverified filter;
  - Country, Timezone, Date of Birth and IP Address, hidden by default in
    the column picker, with country and timezone filters.
- Row actions, each shown only when that email/phone is set and not
  verified (`iam verify user`): Send email verification, Send phone
  verification, Mark email verified, Mark phone verified. They replace
  the single "Verify user", which only covered email.
- user-actions: sendVerification() sends the user a one-click link
  (fleetbase/core-api#267). markVerified() marks a channel verified.
  verifyUser() keeps working as markVerified(user, 'email').
@roncodes
roncodes merged commit 5a43020 into release/v0.1.12 Sep 22, 2026
1 check passed
@roncodes
roncodes deleted the feature/iam-user-verification-columns branch September 22, 2026 07:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant