@mostajs/rbac 2.0.0 → 2.0.2

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.
@@ -0,0 +1,19 @@
1
+ export interface CreateAdminOptions {
2
+ email: string;
3
+ password: string;
4
+ firstName: string;
5
+ lastName: string;
6
+ roleName?: string;
7
+ }
8
+ export interface CreateAdminResult {
9
+ ok: boolean;
10
+ userId?: string;
11
+ email?: string;
12
+ error?: string;
13
+ }
14
+ /**
15
+ * Create an admin user with hashed password and admin role.
16
+ * Idempotent — if user already exists, returns existing user info.
17
+ */
18
+ export declare function createAdmin(options: CreateAdminOptions): Promise<CreateAdminResult>;
19
+ //# sourceMappingURL=create-admin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-admin.d.ts","sourceRoot":"","sources":["../../lib/create-admin.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiCzF"}
@@ -0,0 +1,40 @@
1
+ // @mostajs/rbac — Create admin user
2
+ // This is RBAC's responsibility: it knows UserSchema, how to hash, how to link roles
3
+ // Called by @mostajs/setup or @mostajs/auth — NOT by the app directly
4
+ // Author: Dr Hamid MADANI drmdh@msn.com
5
+ import { getRbacRepos } from './repos-factory.js';
6
+ /**
7
+ * Create an admin user with hashed password and admin role.
8
+ * Idempotent — if user already exists, returns existing user info.
9
+ */
10
+ export async function createAdmin(options) {
11
+ try {
12
+ const { users, roles } = await getRbacRepos();
13
+ // Check if user already exists
14
+ const existing = await users.findByEmail(options.email);
15
+ if (existing) {
16
+ return { ok: true, userId: existing.id, email: existing.email };
17
+ }
18
+ // Hash password (bcryptjs)
19
+ const bcryptModule = await import('bcryptjs');
20
+ const bcrypt = bcryptModule.default || bcryptModule;
21
+ const hashedPassword = await bcrypt.hash(options.password, 12);
22
+ // Find admin role
23
+ const roleName = options.roleName || 'admin';
24
+ const adminRole = await roles.findByName(roleName);
25
+ // Create user
26
+ const user = await users.create({
27
+ email: options.email.toLowerCase(),
28
+ password: hashedPassword,
29
+ firstName: options.firstName,
30
+ lastName: options.lastName,
31
+ status: 'active',
32
+ roles: adminRole ? [adminRole.id] : [],
33
+ });
34
+ return { ok: true, userId: user.id, email: user.email };
35
+ }
36
+ catch (err) {
37
+ return { ok: false, error: err instanceof Error ? err.message : String(err) };
38
+ }
39
+ }
40
+ //# sourceMappingURL=create-admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-admin.js","sourceRoot":"","sources":["../../lib/create-admin.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,qFAAqF;AACrF,sEAAsE;AACtE,wCAAwC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAiBjD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAA2B;IAC3D,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,YAAY,EAAE,CAAA;QAE7C,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAA;QACjE,CAAC;QAED,2BAA2B;QAC3B,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,IAAI,YAAY,CAAA;QACnD,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAE9D,kBAAkB;QAClB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAA;QAC5C,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;QAElD,cAAc;QACd,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE;YAClC,QAAQ,EAAE,cAAc;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SAChC,CAAC,CAAA;QAET,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IACzD,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;IAC/E,CAAC;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ /** All schemas provided by this module (plain objects — JSON-serializable) */
2
+ export declare function getSchemas(): import("@mostajs/orm").EntitySchema[];
3
+ /** Module metadata for setup discovery */
4
+ export declare const moduleInfo: {
5
+ name: string;
6
+ label: string;
7
+ description: string;
8
+ schemas: typeof getSchemas;
9
+ /** Default seed data — called by setup after schema creation */
10
+ seed: (options?: any) => Promise<{
11
+ categoryCount: number;
12
+ permissionCount: number;
13
+ roleCount: number;
14
+ }>;
15
+ /** Create admin user — called by setup after seed */
16
+ createAdmin: (options: {
17
+ email: string;
18
+ password: string;
19
+ firstName: string;
20
+ lastName: string;
21
+ }) => Promise<import("./create-admin.js").CreateAdminResult>;
22
+ };
23
+ //# sourceMappingURL=module-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-info.d.ts","sourceRoot":"","sources":["../../lib/module-info.ts"],"names":[],"mappings":"AASA,8EAA8E;AAC9E,wBAAgB,UAAU,0CAEzB;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU;;;;;IAKrB,gEAAgE;qBACzC,GAAG;;;;;IAQ1B,qDAAqD;2BACxB;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAItG,CAAA"}
@@ -0,0 +1,33 @@
1
+ // @mostajs/rbac — Module info (schemas, seeds, metadata)
2
+ // Used by @mostajs/setup to auto-discover what this module provides
3
+ // Author: Dr Hamid MADANI drmdh@msn.com
4
+ import { UserSchema } from '../schemas/user.schema.js';
5
+ import { RoleSchema } from '../schemas/role.schema.js';
6
+ import { PermissionSchema } from '../schemas/permission.schema.js';
7
+ import { PermissionCategorySchema } from '../schemas/permission-category.schema.js';
8
+ /** All schemas provided by this module (plain objects — JSON-serializable) */
9
+ export function getSchemas() {
10
+ return [UserSchema, RoleSchema, PermissionSchema, PermissionCategorySchema];
11
+ }
12
+ /** Module metadata for setup discovery */
13
+ export const moduleInfo = {
14
+ name: 'rbac',
15
+ label: 'Roles & Permissions',
16
+ description: 'User, Role, Permission, PermissionCategory management',
17
+ schemas: getSchemas,
18
+ /** Default seed data — called by setup after schema creation */
19
+ seed: async (options) => {
20
+ const { seedRBAC } = await import('./rbac-seed.js');
21
+ if ((options === null || options === void 0 ? void 0 : options.categories) && (options === null || options === void 0 ? void 0 : options.permissions) && (options === null || options === void 0 ? void 0 : options.roles)) {
22
+ return seedRBAC(options);
23
+ }
24
+ // No seed data provided — skip
25
+ return { categoryCount: 0, permissionCount: 0, roleCount: 0 };
26
+ },
27
+ /** Create admin user — called by setup after seed */
28
+ createAdmin: async (options) => {
29
+ const { createAdmin } = await import('./create-admin.js');
30
+ return createAdmin(options);
31
+ },
32
+ };
33
+ //# sourceMappingURL=module-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-info.js","sourceRoot":"","sources":["../../lib/module-info.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,oEAAoE;AACpE,wCAAwC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAA;AAEnF,8EAA8E;AAC9E,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,CAAC,CAAA;AAC7E,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,qBAAqB;IAC5B,WAAW,EAAE,uDAAuD;IACpE,OAAO,EAAE,UAAU;IACnB,gEAAgE;IAChE,IAAI,EAAE,KAAK,EAAE,OAAa,EAAE,EAAE;QAC5B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACnD,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,MAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAA,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAA,EAAE,CAAC;YAClE,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC;QACD,+BAA+B;QAC/B,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAA;IAC/D,CAAC;IACD,qDAAqD;IACrD,WAAW,EAAE,KAAK,EAAE,OAAiF,EAAE,EAAE;QACvG,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACzD,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7B,CAAC;CACF,CAAA"}
package/dist/server.d.ts CHANGED
@@ -4,6 +4,9 @@ export { PermissionRepository } from './repositories/permission.repository';
4
4
  export { PermissionCategoryRepository } from './repositories/permission-category.repository';
5
5
  export { seedRBAC } from './lib/rbac-seed';
6
6
  export type { SeedRBACOptions } from './lib/rbac-seed';
7
+ export { createAdmin } from './lib/create-admin';
8
+ export type { CreateAdminOptions, CreateAdminResult } from './lib/create-admin';
9
+ export { getSchemas, moduleInfo } from './lib/module-info';
7
10
  export { getPermissionsForRoleFromDB } from './lib/permissions-server';
8
11
  export { createUsersHandler } from './api/users';
9
12
  export { createUsersIdHandler } from './api/users-id';
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAKA,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;AAG5F,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGtD,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":"AAKA,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;AAG5F,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGtD,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"}
package/dist/server.js CHANGED
@@ -8,6 +8,10 @@ export { PermissionRepository } from './repositories/permission.repository';
8
8
  export { PermissionCategoryRepository } from './repositories/permission-category.repository';
9
9
  // RBAC seed (depends on repos → ORM)
10
10
  export { seedRBAC } from './lib/rbac-seed';
11
+ // Create admin (depends on repos → ORM + bcrypt)
12
+ export { createAdmin } from './lib/create-admin';
13
+ // Module info (schemas, seeds, metadata — for setup discovery)
14
+ export { getSchemas, moduleInfo } from './lib/module-info';
11
15
  // Server-side permission DB lookup (depends on repos → ORM)
12
16
  export { getPermissionsForRoleFromDB } from './lib/permissions-server';
13
17
  // API handler factories
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,6DAA6D;AAC7D,mEAAmE;AAEnE,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;AAE5F,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,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,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;AAE5F,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mostajs/rbac",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
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": "MIT",
@@ -84,6 +84,16 @@
84
84
  "import": "./dist/lib/permissions-server.js",
85
85
  "default": "./dist/lib/permissions-server.js"
86
86
  },
87
+ "./lib/repos-factory": {
88
+ "types": "./dist/lib/repos-factory.d.ts",
89
+ "import": "./dist/lib/repos-factory.js",
90
+ "default": "./dist/lib/repos-factory.js"
91
+ },
92
+ "./lib/data-mode": {
93
+ "types": "./dist/lib/data-mode.d.ts",
94
+ "import": "./dist/lib/data-mode.js",
95
+ "default": "./dist/lib/data-mode.js"
96
+ },
87
97
  "./components/UsersManager": {
88
98
  "types": "./dist/components/UsersManager.d.ts",
89
99
  "import": "./dist/components/UsersManager.js",