@mostajs/rbac 2.3.2 → 2.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/api/categories-id.js +1 -1
  2. package/dist/api/categories.js +1 -1
  3. package/dist/api/matrix.js +1 -1
  4. package/dist/api/permissions-id.js +1 -1
  5. package/dist/api/permissions.js +1 -1
  6. package/dist/api/roles-id.js +1 -1
  7. package/dist/api/roles.js +1 -1
  8. package/dist/api/seed.js +1 -1
  9. package/dist/api/users-id.js +1 -1
  10. package/dist/api/users.js +1 -1
  11. package/dist/components/CategoriesManager.js +1 -1
  12. package/dist/components/PermissionMatrix.js +1 -1
  13. package/dist/components/PermissionsManager.js +1 -1
  14. package/dist/components/RolesManager.js +1 -1
  15. package/dist/components/UsersManager.js +1 -1
  16. package/dist/components/ui/alert-dialog.js +1 -1
  17. package/dist/components/ui/badge.js +1 -1
  18. package/dist/components/ui/button.js +1 -1
  19. package/dist/components/ui/card.js +1 -1
  20. package/dist/components/ui/checkbox.js +1 -1
  21. package/dist/components/ui/dialog.js +1 -1
  22. package/dist/components/ui/input.js +1 -1
  23. package/dist/components/ui/label.js +1 -1
  24. package/dist/components/ui/select.js +1 -1
  25. package/dist/components/ui/table.js +1 -1
  26. package/dist/components/ui/tabs.js +1 -1
  27. package/dist/lib/i18n.js +2 -2
  28. package/dist/repositories/account.repository.js +1 -1
  29. package/dist/repositories/permission-category.repository.js +1 -1
  30. package/dist/repositories/permission.repository.js +1 -1
  31. package/dist/repositories/role.repository.js +1 -1
  32. package/dist/repositories/user.repository.js +1 -1
  33. package/dist/server.d.ts +0 -20
  34. package/dist/server.d.ts.map +1 -1
  35. package/dist/server.js +5 -11
  36. package/dist/server.js.map +1 -1
  37. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: PUT/DELETE /admin/categories/[id]
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  import { z } from 'zod';
6
6
  const updateCategorySchema = z.object({
7
7
  label: z.string().min(1).optional(),
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: GET/POST /admin/categories
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  import { z } from 'zod';
6
6
  const createCategorySchema = z.object({
7
7
  name: z.string().min(1).regex(/^[a-z][a-z0-9_]*$/, 'Format requis : minuscules, chiffres et underscores'),
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: GET/POST /admin/permissions/matrix
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  import { z } from 'zod';
6
6
  export function createMatrixHandler(config) {
7
7
  const { checkPermission, adminPermission, categoryDefinitions = [] } = config;
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: PUT/DELETE /admin/permissions/[id]
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  import { z } from 'zod';
6
6
  const updatePermissionSchema = z.object({
7
7
  description: z.string().optional(),
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: GET/POST /admin/permissions
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  import { z } from 'zod';
6
6
  const createPermissionSchema = z.object({
7
7
  name: z.string().min(1).regex(/^[a-z_]+:[a-z_]+$/, 'Format requis : categorie:action'),
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: GET/PUT/DELETE /admin/roles/[id]
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  import { z } from 'zod';
6
6
  const updateRoleSchema = z.object({
7
7
  name: z.string().min(1).regex(/^[a-z][a-z0-9_]*$/).optional(),
package/dist/api/roles.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: GET/POST /admin/roles
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  import { z } from 'zod';
6
6
  const createRoleSchema = z.object({
7
7
  name: z.string().min(1).regex(/^[a-z][a-z0-9_]*$/, 'Le nom doit être en minuscules (lettres, chiffres, underscores)'),
package/dist/api/seed.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // Author: Dr Hamid MADANI drmdh@msn.com
2
2
  // RBAC API handler: POST /admin/permissions/seed
3
3
  import { NextResponse } from 'next/server';
4
- import { getRbacRepos } from '../lib/repos-factory';
4
+ import { getRbacRepos } from '../lib/repos-factory.js';
5
5
  export function createSeedHandler(config) {
6
6
  const { checkPermission, adminPermission, permissionDefinitions, defaultRoles, categoryDefinitions, } = config;
7
7
  async function POST() {
@@ -13,7 +13,7 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  // RBAC API handler: GET/PUT/DELETE /users/[id]
14
14
  import { NextResponse } from 'next/server';
15
15
  import { hashPassword } from '@mostajs/auth/lib/password';
16
- import { getRbacRepos } from '../lib/repos-factory';
16
+ import { getRbacRepos } from '../lib/repos-factory.js';
17
17
  import { z } from 'zod';
18
18
  const updateUserSchema = z.object({
19
19
  email: z.string().email().optional(),
package/dist/api/users.js CHANGED
@@ -13,7 +13,7 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  // RBAC API handler: GET/POST /users
14
14
  import { NextResponse } from 'next/server';
15
15
  import { hashPassword } from '@mostajs/auth/lib/password';
16
- import { getRbacRepos } from '../lib/repos-factory';
16
+ import { getRbacRepos } from '../lib/repos-factory.js';
17
17
  import { z } from 'zod';
18
18
  const createUserSchema = z.object({
19
19
  email: z.string().email(),
@@ -13,7 +13,7 @@ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent,
13
13
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from './ui/table.js';
14
14
  import { Plus, Pencil, Trash2, Loader2 } from 'lucide-react';
15
15
  import { toast } from 'sonner';
16
- import { createCategoriesApi, createPermissionsApi } from '../lib/rbac-api';
16
+ import { createCategoriesApi, createPermissionsApi } from '../lib/rbac-api.js';
17
17
  const defaultT = (key) => key;
18
18
  export function CategoriesManager({ apiBasePath = '/api', t = defaultT, }) {
19
19
  const catApi = createCategoriesApi(apiBasePath);
@@ -10,7 +10,7 @@ import { Checkbox } from './ui/checkbox.js';
10
10
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from './ui/table.js';
11
11
  import { Loader2, Save, Database } from 'lucide-react';
12
12
  import { toast } from 'sonner';
13
- import { createMatrixApi } from '../lib/rbac-api';
13
+ import { createMatrixApi } from '../lib/rbac-api.js';
14
14
  const defaultT = (key) => key;
15
15
  export function PermissionMatrix({ apiBasePath = '/api', t = defaultT, }) {
16
16
  const api = createMatrixApi(apiBasePath);
@@ -14,7 +14,7 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '
14
14
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from './ui/select.js';
15
15
  import { Plus, Pencil, Trash2, Loader2 } from 'lucide-react';
16
16
  import { toast } from 'sonner';
17
- import { createPermissionsApi, createCategoriesApi } from '../lib/rbac-api';
17
+ import { createPermissionsApi, createCategoriesApi } from '../lib/rbac-api.js';
18
18
  const defaultT = (key) => key;
19
19
  export function PermissionsManager({ apiBasePath = '/api', t = defaultT, }) {
20
20
  const permApi = createPermissionsApi(apiBasePath);
@@ -13,7 +13,7 @@ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent,
13
13
  import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from './ui/table.js';
14
14
  import { Plus, Pencil, Trash2, Loader2 } from 'lucide-react';
15
15
  import { toast } from 'sonner';
16
- import { createRolesApi } from '../lib/rbac-api';
16
+ import { createRolesApi } from '../lib/rbac-api.js';
17
17
  const defaultT = (key) => key;
18
18
  export function RolesManager({ apiBasePath = '/api', t = defaultT, systemRoles = [], }) {
19
19
  const api = createRolesApi(apiBasePath);
@@ -14,7 +14,7 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '
14
14
  import { Plus, Pencil, Trash2, Loader2 } from 'lucide-react';
15
15
  import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from './ui/alert-dialog.js';
16
16
  import { toast } from 'sonner';
17
- import { createUsersApi } from '../lib/rbac-api';
17
+ import { createUsersApi } from '../lib/rbac-api.js';
18
18
  const defaultT = (key) => key;
19
19
  export function UsersManager({ apiBasePath = '/api', t = defaultT, roleColors = {}, statusColors = {}, fallbackRoles, }) {
20
20
  const api = createUsersApi(apiBasePath);
@@ -13,7 +13,7 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  };
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
16
- import { cn } from "../../lib/utils";
16
+ import { cn } from "../../lib/utils.js";
17
17
  import { Button } from "./button.js";
18
18
  function AlertDialog(_a) {
19
19
  var props = __rest(_a, []);
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { cva } from "class-variance-authority";
14
14
  import { Slot } from "radix-ui";
15
- import { cn } from "../../lib/utils";
15
+ import { cn } from "../../lib/utils.js";
16
16
  const badgeVariants = cva("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
17
17
  variants: {
18
18
  variant: {
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { cva } from "class-variance-authority";
14
14
  import { Slot } from "radix-ui";
15
- import { cn } from "../../lib/utils";
15
+ import { cn } from "../../lib/utils.js";
16
16
  const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
17
17
  variants: {
18
18
  variant: {
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- import { cn } from "../../lib/utils";
13
+ import { cn } from "../../lib/utils.js";
14
14
  function Card(_a) {
15
15
  var { className } = _a, props = __rest(_a, ["className"]);
16
16
  return (_jsx("div", Object.assign({ "data-slot": "card", className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className) }, props)));
@@ -14,7 +14,7 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { CheckIcon } from "lucide-react";
16
16
  import { Checkbox as CheckboxPrimitive } from "radix-ui";
17
- import { cn } from "../../lib/utils";
17
+ import { cn } from "../../lib/utils.js";
18
18
  function Checkbox(_a) {
19
19
  var { className } = _a, props = __rest(_a, ["className"]);
20
20
  return (_jsx(CheckboxPrimitive.Root, Object.assign({ "data-slot": "checkbox", className: cn("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", className) }, props, { children: _jsx(CheckboxPrimitive.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center text-current transition-none", children: _jsx(CheckIcon, { className: "size-3.5" }) }) })));
@@ -14,7 +14,7 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  import { XIcon } from "lucide-react";
16
16
  import { Dialog as DialogPrimitive } from "radix-ui";
17
- import { cn } from "../../lib/utils";
17
+ import { cn } from "../../lib/utils.js";
18
18
  import { Button } from "./button.js";
19
19
  function Dialog(_a) {
20
20
  var props = __rest(_a, []);
@@ -10,7 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
- import { cn } from "../../lib/utils";
13
+ import { cn } from "../../lib/utils.js";
14
14
  function Input(_a) {
15
15
  var { className, type } = _a, props = __rest(_a, ["className", "type"]);
16
16
  return (_jsx("input", Object.assign({ type: type, "data-slot": "input", className: cn("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className) }, props)));
@@ -13,7 +13,7 @@ var __rest = (this && this.__rest) || function (s, e) {
13
13
  };
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { Label as LabelPrimitive } from "radix-ui";
16
- import { cn } from "../../lib/utils";
16
+ import { cn } from "../../lib/utils.js";
17
17
  function Label(_a) {
18
18
  var { className } = _a, props = __rest(_a, ["className"]);
19
19
  return (_jsx(LabelPrimitive.Root, Object.assign({ "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className) }, props)));
@@ -14,7 +14,7 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
16
16
  import { Select as SelectPrimitive } from "radix-ui";
17
- import { cn } from "../../lib/utils";
17
+ import { cn } from "../../lib/utils.js";
18
18
  function Select(_a) {
19
19
  var props = __rest(_a, []);
20
20
  return _jsx(SelectPrimitive.Root, Object.assign({ "data-slot": "select" }, props));
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  return t;
13
13
  };
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
- import { cn } from "../../lib/utils";
15
+ import { cn } from "../../lib/utils.js";
16
16
  function Table(_a) {
17
17
  var { className } = _a, props = __rest(_a, ["className"]);
18
18
  return (_jsx("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: _jsx("table", Object.assign({ "data-slot": "table", className: cn("w-full caption-bottom text-sm", className) }, props)) }));
@@ -14,7 +14,7 @@ var __rest = (this && this.__rest) || function (s, e) {
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
15
  import { cva } from "class-variance-authority";
16
16
  import { Tabs as TabsPrimitive } from "radix-ui";
17
- import { cn } from "../../lib/utils";
17
+ import { cn } from "../../lib/utils.js";
18
18
  function Tabs(_a) {
19
19
  var { className, orientation = "horizontal" } = _a, props = __rest(_a, ["className", "orientation"]);
20
20
  return (_jsx(TabsPrimitive.Root, Object.assign({ "data-slot": "tabs", "data-orientation": orientation, orientation: orientation, className: cn("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col", className) }, props)));
package/dist/lib/i18n.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // @mostajs/rbac — i18n helper
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
- import users from '../i18n/fr/users.json';
4
- import roles from '../i18n/fr/roles.json';
3
+ import users from '../i18n/fr/users.json.js';
4
+ import roles from '../i18n/fr/roles.json.js';
5
5
  const translations = { users, roles };
6
6
  function getNestedValue(obj, path) {
7
7
  const keys = path.split('.');
@@ -1,7 +1,7 @@
1
1
  // @mostajs/rbac — AccountRepository
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
3
  import { BaseRepository } from '@mostajs/orm';
4
- import { AccountSchema } from '../schemas/account.schema';
4
+ import { AccountSchema } from '../schemas/account.schema.js';
5
5
  export class AccountRepository extends BaseRepository {
6
6
  constructor(dialect) {
7
7
  super(AccountSchema, dialect);
@@ -1,7 +1,7 @@
1
1
  // @mostajs/rbac — PermissionCategoryRepository
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
3
  import { BaseRepository } from '@mostajs/orm';
4
- import { PermissionCategorySchema } from '../schemas/permission-category.schema';
4
+ import { PermissionCategorySchema } from '../schemas/permission-category.schema.js';
5
5
  export class PermissionCategoryRepository extends BaseRepository {
6
6
  constructor(dialect) {
7
7
  super(PermissionCategorySchema, dialect);
@@ -1,7 +1,7 @@
1
1
  // @mostajs/rbac — PermissionRepository
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
3
  import { BaseRepository } from '@mostajs/orm';
4
- import { PermissionSchema } from '../schemas/permission.schema';
4
+ import { PermissionSchema } from '../schemas/permission.schema.js';
5
5
  export class PermissionRepository extends BaseRepository {
6
6
  constructor(dialect) {
7
7
  super(PermissionSchema, dialect);
@@ -1,7 +1,7 @@
1
1
  // @mostajs/rbac — RoleRepository
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
3
  import { BaseRepository } from '@mostajs/orm';
4
- import { RoleSchema } from '../schemas/role.schema';
4
+ import { RoleSchema } from '../schemas/role.schema.js';
5
5
  export class RoleRepository extends BaseRepository {
6
6
  constructor(dialect) {
7
7
  super(RoleSchema, dialect);
@@ -1,7 +1,7 @@
1
1
  // @mostajs/rbac — UserRepository
2
2
  // Author: Dr Hamid MADANI drmdh@msn.com
3
3
  import { BaseRepository } from '@mostajs/orm';
4
- import { UserSchema } from '../schemas/user.schema';
4
+ import { UserSchema } from '../schemas/user.schema.js';
5
5
  export class UserRepository extends BaseRepository {
6
6
  constructor(dialect) {
7
7
  super(UserSchema, dialect);
package/dist/server.d.ts CHANGED
@@ -16,24 +16,4 @@ export { createAdmin } from './lib/create-admin';
16
16
  export type { CreateAdminOptions, CreateAdminResult } from './lib/create-admin';
17
17
  export { getSchemas, moduleInfo } from './lib/module-info';
18
18
  export { getPermissionsForRoleFromDB } from './lib/permissions-server';
19
- export { createUsersHandler } from './api/users';
20
- export { createUsersIdHandler } from './api/users-id';
21
- export { createRolesHandler } from './api/roles';
22
- export { createRolesIdHandler } from './api/roles-id';
23
- export { createPermissionsHandler } from './api/permissions';
24
- export { createPermissionsIdHandler } from './api/permissions-id';
25
- export { createMatrixHandler } from './api/matrix';
26
- export { createCategoriesHandler } from './api/categories';
27
- export { createCategoriesIdHandler } from './api/categories-id';
28
- export { createSeedHandler } from './api/seed';
29
- export type { UsersHandlerConfig } from './api/users';
30
- export type { UsersIdHandlerConfig } from './api/users-id';
31
- export type { RolesHandlerConfig } from './api/roles';
32
- export type { RolesIdHandlerConfig } from './api/roles-id';
33
- export type { PermissionsHandlerConfig } from './api/permissions';
34
- export type { PermissionsIdHandlerConfig } from './api/permissions-id';
35
- export type { MatrixHandlerConfig } from './api/matrix';
36
- export type { CategoriesHandlerConfig } from './api/categories';
37
- export type { CategoriesIdHandlerConfig } from './api/categories-id';
38
- export type { SeedHandlerConfig } from './api/seed';
39
19
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAGrE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGtD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGlE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG/E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAGtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAG9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AACjE,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACtE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACvD,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC/D,YAAY,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AACpE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAGrE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGtD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAGlE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG/E,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAG1D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA"}
package/dist/server.js CHANGED
@@ -26,15 +26,9 @@ export { createAdmin } from './lib/create-admin.js';
26
26
  export { getSchemas, moduleInfo } from './lib/module-info.js';
27
27
  // Server-side permission DB lookup (depends on repos → ORM)
28
28
  export { getPermissionsForRoleFromDB } from './lib/permissions-server.js';
29
- // API handler factories
30
- export { createUsersHandler } from './api/users.js';
31
- export { createUsersIdHandler } from './api/users-id.js';
32
- export { createRolesHandler } from './api/roles.js';
33
- export { createRolesIdHandler } from './api/roles-id.js';
34
- export { createPermissionsHandler } from './api/permissions.js';
35
- export { createPermissionsIdHandler } from './api/permissions-id.js';
36
- export { createMatrixHandler } from './api/matrix.js';
37
- export { createCategoriesHandler } from './api/categories.js';
38
- export { createCategoriesIdHandler } from './api/categories-id.js';
39
- export { createSeedHandler } from './api/seed.js';
29
+ // API handler factories are NOT re-exported here — they depend on Next.js
30
+ // (Request/Response types). Consumers that need them should import directly:
31
+ // import { createUsersHandler } from '@mostajs/rbac/api/users'
32
+ // This keeps '@mostajs/rbac/server' Next-free for pure backend runtimes
33
+ // (Fastify, Express, raw Node) like Octonet.
40
34
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,6DAA6D;AAC7D,mEAAmE;AAEnE,wEAAwE;AACxE,kEAAkE;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,wCAAwC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAErE,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,yEAAyE;AACzE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAElE,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAExE,iDAAiD;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,+DAA+D;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE1D,4DAA4D;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAEtE,wBAAwB;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,6DAA6D;AAC7D,mEAAmE;AAEnE,wEAAwE;AACxE,kEAAkE;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,wCAAwC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAA;AAC5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAErE,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,yEAAyE;AACzE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAElE,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAExE,iDAAiD;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGhD,+DAA+D;AAC/D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE1D,4DAA4D;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAA;AAEtE,0EAA0E;AAC1E,6EAA6E;AAC7E,iEAAiE;AACjE,wEAAwE;AACxE,6CAA6C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mostajs/rbac",
3
- "version": "2.3.2",
3
+ "version": "2.3.4",
4
4
  "description": "RBAC — User/Role/Permission schemas, repos, management UI, API handlers",
5
5
  "author": "Dr Hamid MADANI <drmdh@msn.com>",
6
6
  "license": "AGPL-3.0-or-later",
@@ -189,7 +189,7 @@
189
189
  },
190
190
  "scripts": {
191
191
  "build": "tsc && npm run fix-esm",
192
- "fix-esm": "find dist -name '*.js' -exec sed -i -E \"s|from '(\\\\./[^']+)'(;?)|from '\\\\1.js'\\\\2|g; s|from \\\"(\\\\./[^\\\"]+)\\\"(;?)|from \\\"\\\\1.js\\\"\\\\2|g\" {} \\; && find dist -name '*.js' -exec sed -i -E \"s|\\\\.js\\\\.js|.js|g\" {} \\;",
192
+ "fix-esm": "find dist -name '*.js' -exec sed -i -E \"s|from '(\\\\.{1,2}/[^']+)'(;?)|from '\\\\1.js'\\\\2|g; s|from \\\"(\\\\.{1,2}/[^\\\"]+)\\\"(;?)|from \\\"\\\\1.js\\\"\\\\2|g\" {} \\; && find dist -name '*.js' -exec sed -i -E \"s|\\\\.js\\\\.js|.js|g\" {} \\;",
193
193
  "prepublishOnly": "npm run build"
194
194
  },
195
195
  "dependencies": {