@ezy wrote:
In my app I have the following user hierarchy
organisation (org) > reseller > customer
. From a business perspective all three user types in the hierarchy are a customer with a :customer_id. From an app perspective they are seperate concerns, with the ability to impersonate users down the hierarchy.So their base URL would all be the equivalent of:
localhost/org/:customer_id
.But An organisation could route into a reseller as:
localhost/org/:customer_id/reseller/:customer_id
.And both organisation and resellers could route into customers as:
localhost/org/:customer_id/reseller/:customer_id/customer/:customer_id
orlocalhost/reseller/:customer_id/customer/:customer_id
Problems with this structure
The main issue is that every customer has it's own site and service route. And I want to avoid repeating routes under the top level :customer_id. Essentially ending up with the following.
Router.map(function() { this.route('org', { path: 'org/:customer_id' }, function() { this.route('site'); this.route('service'); this.route('reseller', { path: 'reseller/:customer_id' }, function() { this.route('site'); this.route('service'); this.route('customer', { path: 'customer/:customer_id' }, function() { this.route('site'); this.route('service'); }); }); }); });
But I'm unsure how to split the routes so that they inherit the correct URL structure but aren't nested. And in a way where each customer can access/impersonate at the correct level.
As an aside
If I can't figure out how to execute this I'm planning on using a
user-service
to set acurrentUser
variable for impersonation, and then stripping the URL tolocalhost/org/:org_id/
for every customer. But this won't reflect the level of impersonation in the URL.
Posts: 2
Participants: 2