Skip to content

Extension point for the Users table — add columns / independent fetches without patching iam-engine source #38

Closed

Description

@MarioLisbona

Summary

Requesting an extension point in the Users list/table so a downstream extension can add a
custom column and start an independent data fetch alongside the users query — without patching
iam-engine's own source.

Context

We (Fliit, a Fleetbase extension — fleetbase/fliit-api / FliitAU/fliit-extension) ship a
"Fleetbase Access tier" column in the IAM Users table, showing a user's access tier alongside
core Roles. Since iam-engine is a mounted engine, its components resolve in the engine's own
container — a host-app or extension-side override is never looked up — so today the only way to
add this column is a pnpm patch on iam-engine itself, touching:

  • addon/controllers/users/index.js
  • addon/routes/users/index.js
  • two new table/cell/fleetbase-access component files

This is fragile by construction: any iam-engine release that touches those files can break the
patch (context no longer matches) with no signal until pnpm install either silently skips it
or fails outright. It happened on the v0.1.11 → v0.1.12 bump — addon/controllers/users/index.js
was rewritten by 458 lines in that release, so we had to stay pinned at v0.1.11 rather than take
the bump.

This is the same underlying work as fleetbase/core-api#251 (merged 2026-09-09, thank you for
that one) — reducing IAM Users list latency — just the frontend half of the same effort.

Ask

A registry/extension-point mechanism for the Users table — similar in spirit to what the
console header already does for extension nav items — that would let a downstream extension:

  1. Add a column to the Users table without overriding addon/controllers/users/index.js or
    addon/routes/users/index.js directly
  2. Start its own data fetch keyed by user, independent of and not blocking the main users query

Happy to scope this further or put up a draft PR against iam-engine if that's useful — wanted
to raise the shape of the problem first, since we're not sure what extension surface (if any)
you'd want to expose here versus other approaches on our end.

Activity

  1. roncodes commented on Sep 25, 2026

    @roncodes
    Member

    Will work on this, additionally you're able to modify JSON resource responses to add additional properties in the response, I will document how it's done, this way there shouldn't be a need to side-load additional data. The only caveat is the frontend model and serialization, so I suggest merging into meta to make additional properties readily available.

  2. roncodes commented on Oct 3, 2026

    @roncodes
    Member

    Update: it's now implemented to release in v0.1.13 of this module #40

    Docs will be updated as well, along with how to modify the user resource response from the backend via an extension.

  3. roncodes commented on Oct 5, 2026

    @roncodes
    Member

    @MarioLisbona the feature is released in the latest version https://github.com/fleetbase/fleetbase/releases/tag/v0.7.67

    You can reference the documentation on these new resource registry extension points https://fleetbase.io/docs/extension-development/resource-views/tables/columns

    I think in conjunction with modifying the user resource JSON via a resource transformer https://fleetbase.io/docs/extension-development/backend/resource-transformers (specifically via the meta property) you should be able to fully achieve your goal.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions