@mounaji_npm/organization-team
v0.4.2
Published
Combined organization-team and RBAC module with users, roles, permissions, and admin helpers
Maintainers
Readme
@mounaji_npm/organization-team
Organization team and RBAC module with permission-aware rendering, users/roles administration, and server/Next.js helpers.
Install
npm install @mounaji_npm/organization-team @mounaji_npm/module-gates @mounaji_npm/module-registry-coreQuick Start
import { OrganizationTeamPanel } from '@mounaji_npm/organization-team';
import { CapabilitiesProvider } from '@mounaji_npm/module-registry-core';
const members = [
{ id: '1', name: 'Amina Rahal', email: '[email protected]', role: 'admin', status: 'active' },
{ id: '2', name: 'Sam Idrissi', email: '[email protected]', role: 'editor', status: 'pending' },
];
const adapter = {
async getCapabilitiesSnapshot() {
return {
permissions: ['members.view'],
features: [],
plan: 'pro',
modules: {},
};
},
};
export default function TeamPage() {
return (
<CapabilitiesProvider adapter={adapter} params={{ organizationId: 'org_1', userId: 'usr_1' }}>
<OrganizationTeamPanel members={members} />
</CapabilitiesProvider>
);
}Exports
OrganizationTeamPanel— panel wrapper with built-inPermissionGate(members.view).TeamMembersTable— sortable table rendering members by role.UsersPanel,RolesPanel,PermissionsMatrix— RBAC management UI.ADMIN_USERS_MODULE,ADMIN_ROLES_MODULE,ADMIN_MODULES— module manifests.PERMISSIONS,getPermissionGroups,hasPermission,hasAllPermissions— permission helpers.DEFAULT_ROLES— default role presets.createCapabilitiesAdapter— capabilities adapter for module registry.
Server + Next.js subpaths
import { createMemoryStore, createSupabaseStore, createRolesHandlers } from '@mounaji_npm/organization-team/server';
import { withPermission, createRbacRoutes } from '@mounaji_npm/organization-team/nextjs';Migration from roles-management
Replace:
@mounaji_npm/roles-management@mounaji_npm/roles-management/server@mounaji_npm/roles-management/nextjs
With:
@mounaji_npm/organization-team@mounaji_npm/organization-team/server@mounaji_npm/organization-team/nextjs
Member shape
{
id: string,
name: string,
email: string,
role: string,
status?: string
}