@mostajs/rbac 2.2.1 → 2.3.0

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.
package/LICENSE ADDED
@@ -0,0 +1,29 @@
1
+ GNU AFFERO GENERAL PUBLIC LICENSE
2
+ Version 3, 19 November 2007
3
+
4
+ Copyright (c) 2026 Dr Hamid MADANI <drmdh@msn.com>
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
18
+
19
+ COMMERCIAL LICENSE
20
+
21
+ For organizations that cannot comply with the AGPL open-source requirements,
22
+ a commercial license is available. Contact: drmdh@msn.com
23
+
24
+ The commercial license allows you to:
25
+ - Use the software in proprietary/closed-source projects
26
+ - Modify without publishing your source code
27
+ - Get priority support and SLA
28
+
29
+ Contact: Dr Hamid MADANI <drmdh@msn.com>
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export { UserSchema } from './schemas/user.schema';
2
2
  export { RoleSchema } from './schemas/role.schema';
3
3
  export { PermissionSchema } from './schemas/permission.schema';
4
4
  export { PermissionCategorySchema } from './schemas/permission-category.schema';
5
+ export { AccountSchema } from './schemas/account.schema';
5
6
  export { rbacMenuContribution } from './lib/menu';
6
7
  export { default as UsersPage } from './pages/UsersPage';
7
8
  export { default as RolesPage } from './pages/RolesPage';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAKA,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;AAG/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGxD,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGhE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGxE,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AAGvB,YAAY,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAGhB,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":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAKA,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,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAGjD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGxD,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAGhE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGxE,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAA;AAGvB,YAAY,EACV,OAAO,EACP,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,GACnB,MAAM,SAAS,CAAA;AAGhB,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/index.js CHANGED
@@ -6,6 +6,7 @@ export { UserSchema } from './schemas/user.schema';
6
6
  export { RoleSchema } from './schemas/role.schema';
7
7
  export { PermissionSchema } from './schemas/permission.schema';
8
8
  export { PermissionCategorySchema } from './schemas/permission-category.schema';
9
+ export { AccountSchema } from './schemas/account.schema';
9
10
  // Menu contribution
10
11
  export { rbacMenuContribution } from './lib/menu';
11
12
  // Pages (client-side, registered via PageRegistration)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,sDAAsD;AACtD,qFAAqF;AAErF,sDAAsD;AACtD,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;AAE/E,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,uDAAuD;AACvD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO;AACP,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,2BAA2B;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAExE,4DAA4D;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,sDAAsD;AACtD,qFAAqF;AAErF,sDAAsD;AACtD,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,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAEjD,uDAAuD;AACvD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO;AACP,OAAO,EAAE,CAAC,IAAI,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC,2BAA2B;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAEhE,8BAA8B;AAC9B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAExE,4DAA4D;AAC5D,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,mBAAmB,GACpB,MAAM,gBAAgB,CAAA"}
@@ -1 +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;;;;;;IAMrB,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"}
1
+ {"version":3,"file":"module-info.d.ts","sourceRoot":"","sources":["../../lib/module-info.ts"],"names":[],"mappings":"AAUA,8EAA8E;AAC9E,wBAAgB,UAAU,0CAEzB;AAED,0CAA0C;AAC1C,eAAO,MAAM,UAAU;;;;;;IAMrB,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"}
@@ -5,9 +5,10 @@ import { UserSchema } from '../schemas/user.schema.js';
5
5
  import { RoleSchema } from '../schemas/role.schema.js';
6
6
  import { PermissionSchema } from '../schemas/permission.schema.js';
7
7
  import { PermissionCategorySchema } from '../schemas/permission-category.schema.js';
8
+ import { AccountSchema } from '../schemas/account.schema.js';
8
9
  /** All schemas provided by this module (plain objects — JSON-serializable) */
9
10
  export function getSchemas() {
10
- return [UserSchema, RoleSchema, PermissionSchema, PermissionCategorySchema];
11
+ return [UserSchema, RoleSchema, PermissionSchema, PermissionCategorySchema, AccountSchema];
11
12
  }
12
13
  /** Module metadata for setup discovery */
13
14
  export const moduleInfo = {
@@ -1 +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,OAAO,EAAE,OAAO;IAChB,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"}
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;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAE5D,8EAA8E;AAC9E,MAAM,UAAU,UAAU;IACxB,OAAO,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,CAAC,CAAA;AAC5F,CAAC;AAED,0CAA0C;AAC1C,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,OAAO;IAChB,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"}
@@ -0,0 +1,11 @@
1
+ import { BaseRepository } from '@mostajs/orm';
2
+ import type { IDialect } from '@mostajs/orm';
3
+ import type { AccountDTO } from '../types/index';
4
+ export declare class AccountRepository extends BaseRepository<AccountDTO> {
5
+ constructor(dialect: IDialect);
6
+ /** Find the account whose primary owner is the given user */
7
+ findByOwner(userId: string): Promise<AccountDTO | null>;
8
+ /** Find the unique system account by type — useful for the 'trial' shared playground */
9
+ findByType(type: string): Promise<AccountDTO | null>;
10
+ }
11
+ //# sourceMappingURL=account.repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.repository.d.ts","sourceRoot":"","sources":["../../repositories/account.repository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,qBAAa,iBAAkB,SAAQ,cAAc,CAAC,UAAU,CAAC;gBACnD,OAAO,EAAE,QAAQ;IAI7B,6DAA6D;IACvD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI7D,wFAAwF;IAClF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;CAG3D"}
@@ -0,0 +1,18 @@
1
+ // @mostajs/rbac — AccountRepository
2
+ // Author: Dr Hamid MADANI drmdh@msn.com
3
+ import { BaseRepository } from '@mostajs/orm';
4
+ import { AccountSchema } from '../schemas/account.schema';
5
+ export class AccountRepository extends BaseRepository {
6
+ constructor(dialect) {
7
+ super(AccountSchema, dialect);
8
+ }
9
+ /** Find the account whose primary owner is the given user */
10
+ async findByOwner(userId) {
11
+ return this.findOne({ owner: userId });
12
+ }
13
+ /** Find the unique system account by type — useful for the 'trial' shared playground */
14
+ async findByType(type) {
15
+ return this.findOne({ type });
16
+ }
17
+ }
18
+ //# sourceMappingURL=account.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.repository.js","sourceRoot":"","sources":["../../repositories/account.repository.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,wCAAwC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAIzD,MAAM,OAAO,iBAAkB,SAAQ,cAA0B;IAC/D,YAAY,OAAiB;QAC3B,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,6DAA6D;IAC7D,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/B,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ import type { EntitySchema } from '@mostajs/orm';
2
+ export declare const AccountSchema: EntitySchema;
3
+ //# sourceMappingURL=account.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.schema.d.ts","sourceRoot":"","sources":["../../schemas/account.schema.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAEhD,eAAO,MAAM,aAAa,EAAE,YAuB3B,CAAA"}
@@ -0,0 +1,27 @@
1
+ // @mostajs/rbac — Account Entity Schema
2
+ // Multi-tenant container referenced as target:'Account' by ApiKey, Project,
3
+ // Subscription, Invoice, UsageLog (across mosta-api-keys, mosta-project-life,
4
+ // mosta-subscriptions-plan).
5
+ // Author: Dr Hamid MADANI drmdh@msn.com
6
+ export const AccountSchema = {
7
+ name: 'Account',
8
+ collection: 'accounts',
9
+ timestamps: true,
10
+ fields: {
11
+ name: { type: 'string', required: true, trim: true },
12
+ type: { type: 'string', enum: ['personal', 'organization', 'trial', 'system'], default: 'personal' },
13
+ plan: { type: 'string', default: 'free' },
14
+ status: { type: 'string', enum: ['active', 'suspended', 'deleted'], default: 'active' },
15
+ stripeCustomerId: { type: 'string' },
16
+ metadata: { type: 'json' },
17
+ },
18
+ relations: {
19
+ owner: { type: 'many-to-one', target: 'User', required: true },
20
+ members: { type: 'many-to-many', target: 'User', through: 'account_members' },
21
+ },
22
+ indexes: [
23
+ { fields: { type: 'asc' } },
24
+ { fields: { status: 'asc' } },
25
+ ],
26
+ };
27
+ //# sourceMappingURL=account.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.schema.js","sourceRoot":"","sources":["../../schemas/account.schema.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,4EAA4E;AAC5E,8EAA8E;AAC9E,6BAA6B;AAC7B,wCAAwC;AAIxC,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,UAAU;IACtB,UAAU,EAAE,IAAI;IAEhB,MAAM,EAAE;QACN,IAAI,EAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE;QAChE,IAAI,EAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE;QAChH,IAAI,EAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;QACrD,MAAM,EAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE;QACjG,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpC,QAAQ,EAAU,EAAE,IAAI,EAAE,MAAM,EAAE;KACnC;IAED,SAAS,EAAE;QACT,KAAK,EAAI,EAAE,IAAI,EAAE,aAAa,EAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACjE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE;KAC9E;IAED,OAAO,EAAE;QACP,EAAE,MAAM,EAAE,EAAE,IAAI,EAAI,KAAK,EAAE,EAAE;QAC7B,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;KAC9B;CACF,CAAA"}
@@ -0,0 +1,43 @@
1
+ import type { SeedRBACOptions } from '../lib/rbac-seed';
2
+ export declare const OCTONET_RBAC_SEED: SeedRBACOptions;
3
+ /** Permission codes referenced by Octonet code paths (typed lookups). */
4
+ export declare const OCTONET_PERMS: {
5
+ readonly net: {
6
+ readonly healthRead: "net:health:read";
7
+ readonly metricsRead: "net:metrics:read";
8
+ };
9
+ readonly project: {
10
+ readonly list: "project:list";
11
+ readonly read: "project:read";
12
+ readonly create: "project:create";
13
+ readonly update: "project:update";
14
+ readonly delete: "project:delete";
15
+ readonly write: "project:write";
16
+ readonly readAny: "project:read:any";
17
+ readonly writeAny: "project:write:any";
18
+ };
19
+ readonly schema: {
20
+ readonly read: "schema:read";
21
+ readonly upload: "schema:upload";
22
+ readonly apply: "schema:apply";
23
+ readonly compare: "schema:compare";
24
+ };
25
+ readonly apikey: {
26
+ readonly list: "apikey:list";
27
+ readonly create: "apikey:create";
28
+ readonly revoke: "apikey:revoke";
29
+ readonly admin: "apikey:admin";
30
+ };
31
+ readonly user: {
32
+ readonly readSelf: "user:read";
33
+ readonly updateSelf: "user:update";
34
+ readonly list: "user:list";
35
+ readonly create: "user:create";
36
+ readonly updateAny: "user:update:any";
37
+ readonly delete: "user:delete";
38
+ };
39
+ readonly admin: {
40
+ readonly bypass: "admin:bypass";
41
+ };
42
+ };
43
+ //# sourceMappingURL=octonet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"octonet.d.ts","sourceRoot":"","sources":["../../seeds/octonet.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAoGvD,eAAO,MAAM,iBAAiB,EAAE,eAI/B,CAAA;AAED,yEAAyE;AACzE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAchB,CAAA"}
@@ -0,0 +1,119 @@
1
+ // @mostajs/rbac — Octonet RBAC seed (categories, permissions, roles)
2
+ //
3
+ // Catalogue de permissions du transport @mostajs/net (Octonet) — vit ici plutôt
4
+ // que dans `mosta-net` pour être réutilisable par tout consommateur (octocloud,
5
+ // admin tools tierces, autres serveurs basés sur la même surface).
6
+ //
7
+ // Usage :
8
+ // import { OCTONET_RBAC_SEED, seedRBAC } from '@mostajs/rbac/server'
9
+ // await seedRBAC(OCTONET_RBAC_SEED)
10
+ //
11
+ // Naming convention : <category>:<resource>:<action> — ex. project:list,
12
+ // schema:upload. Codes alignés sur la matrice (apikey × ressource × action)
13
+ // des routes Octonet.
14
+ //
15
+ // Author: Dr Hamid MADANI <drmdh@msn.com>
16
+ // ──────────────────────────────────────────────────────────────────
17
+ // Catégories
18
+ // ──────────────────────────────────────────────────────────────────
19
+ const CATEGORIES = [
20
+ { name: 'net', label: 'Network', description: 'Server infrastructure (health, metrics)', icon: 'activity', order: 10, system: true },
21
+ { name: 'project', label: 'Projects', description: 'Multi-tenant projects (CRUD)', icon: 'folder', order: 20, system: true },
22
+ { name: 'schema', label: 'Schemas', description: 'Entity schema management', icon: 'database', order: 30, system: true },
23
+ { name: 'apikey', label: 'API keys', description: 'API key issuance and revocation', icon: 'key', order: 40, system: true },
24
+ { name: 'user', label: 'Users', description: 'User and account management', icon: 'users', order: 50, system: true },
25
+ { name: 'admin', label: 'Administration', description: 'Privileged superuser actions', icon: 'shield', order: 60, system: true },
26
+ ];
27
+ // ──────────────────────────────────────────────────────────────────
28
+ // Permissions (fine-grained)
29
+ // ──────────────────────────────────────────────────────────────────
30
+ const PERMISSIONS = [
31
+ // net — infrastructure
32
+ { code: 'net:health:read', name: 'Read health probe', description: 'GET /health', category: 'net' },
33
+ { code: 'net:metrics:read', name: 'Read metrics', description: 'GET /metrics', category: 'net' },
34
+ // project — multi-tenant projects
35
+ { code: 'project:list', name: 'List projects', description: 'List projects owned + visibility:public', category: 'project' },
36
+ { code: 'project:read', name: 'Read project', description: 'Read project metadata', category: 'project' },
37
+ { code: 'project:create', name: 'Create project', description: 'POST /api/projects', category: 'project' },
38
+ { code: 'project:update', name: 'Update project', description: 'PATCH /api/projects/:slug', category: 'project' },
39
+ { code: 'project:delete', name: 'Delete project', description: 'DELETE /api/projects/:slug', category: 'project' },
40
+ { code: 'project:write', name: 'CRUD entities', description: 'POST/PUT/DELETE /api/v1/:project/:entity', category: 'project' },
41
+ { code: 'project:read:any', name: 'Read any project', description: 'Bypass owner filter (admin)', category: 'project' },
42
+ { code: 'project:write:any', name: 'Write any project', description: 'Bypass owner filter (admin)', category: 'project' },
43
+ // schema — entity schema lifecycle
44
+ { code: 'schema:read', name: 'Read schemas', description: 'GET /api/schemas-config', category: 'schema' },
45
+ { code: 'schema:upload', name: 'Upload schemas', description: 'POST /api/upload-schemas-json', category: 'schema' },
46
+ { code: 'schema:apply', name: 'Apply schema', description: 'POST /api/apply-schema', category: 'schema' },
47
+ { code: 'schema:compare', name: 'Compare schemas', description: 'POST /api/compare-schema', category: 'schema' },
48
+ // apikey — issuance & revocation
49
+ { code: 'apikey:list', name: 'List own apikeys', description: 'List api keys for current account', category: 'apikey' },
50
+ { code: 'apikey:create', name: 'Issue apikey', description: 'POST /api/api-keys', category: 'apikey' },
51
+ { code: 'apikey:revoke', name: 'Revoke own apikey', description: 'DELETE /api/api-keys/:id', category: 'apikey' },
52
+ { code: 'apikey:admin', name: 'Manage all apikeys', description: 'Cross-account key management (admin)', category: 'apikey' },
53
+ // user — identity / account
54
+ { code: 'user:read', name: 'Read own profile', description: 'GET /api/users/me', category: 'user' },
55
+ { code: 'user:update', name: 'Update own profile', description: 'PATCH /api/users/me', category: 'user' },
56
+ { code: 'user:list', name: 'List users', description: 'GET /api/users (admin)', category: 'user' },
57
+ { code: 'user:create', name: 'Create user', description: 'POST /api/users (admin)', category: 'user' },
58
+ { code: 'user:update:any', name: 'Update any user', description: 'PATCH /api/users/:id (admin)', category: 'user' },
59
+ { code: 'user:delete', name: 'Delete user', description: 'DELETE /api/users/:id (admin)', category: 'user' },
60
+ // admin — superuser
61
+ { code: 'admin:bypass', name: 'Admin bypass', description: 'Skip all owner/visibility filters', category: 'admin' },
62
+ ];
63
+ // ──────────────────────────────────────────────────────────────────
64
+ // Rôles + matrice par défaut
65
+ // ──────────────────────────────────────────────────────────────────
66
+ const SUBSCRIBER_PERMS = [
67
+ 'net:health:read',
68
+ 'project:list', 'project:read', 'project:create', 'project:update', 'project:delete', 'project:write',
69
+ 'schema:read', 'schema:upload', 'schema:apply', 'schema:compare',
70
+ 'apikey:list', 'apikey:create', 'apikey:revoke',
71
+ 'user:read', 'user:update',
72
+ ];
73
+ const TRIAL_PERMS = [
74
+ 'net:health:read',
75
+ 'project:list', 'project:read', 'project:write',
76
+ 'schema:read',
77
+ 'apikey:list',
78
+ 'user:read',
79
+ ];
80
+ const PUBLIC_PERMS = [
81
+ 'net:health:read',
82
+ 'project:list', 'project:read',
83
+ 'schema:read',
84
+ ];
85
+ const ADMIN_PERMS = [
86
+ // Admin reçoit toutes les permissions du catalogue
87
+ ...PERMISSIONS.map(p => p.code),
88
+ ];
89
+ const ROLES = {
90
+ admin: { name: 'admin', description: 'Full administrative access', system: true, permissions: ADMIN_PERMS },
91
+ subscriber: { name: 'subscriber', description: 'Registered tenant (T2/T3) — own resources', system: true, permissions: SUBSCRIBER_PERMS },
92
+ trial: { name: 'trial', description: 'Sandbox tenant (T1) — limited, ephemeral', system: true, permissions: TRIAL_PERMS },
93
+ public: { name: 'public', description: 'Anonymous read-only on public projects', system: true, permissions: PUBLIC_PERMS },
94
+ };
95
+ // ──────────────────────────────────────────────────────────────────
96
+ // Export — directly consumable by seedRBAC()
97
+ // ──────────────────────────────────────────────────────────────────
98
+ export const OCTONET_RBAC_SEED = {
99
+ categories: CATEGORIES,
100
+ permissions: PERMISSIONS,
101
+ roles: ROLES,
102
+ };
103
+ /** Permission codes referenced by Octonet code paths (typed lookups). */
104
+ export const OCTONET_PERMS = {
105
+ net: { healthRead: 'net:health:read', metricsRead: 'net:metrics:read' },
106
+ project: {
107
+ list: 'project:list', read: 'project:read', create: 'project:create',
108
+ update: 'project:update', delete: 'project:delete', write: 'project:write',
109
+ readAny: 'project:read:any', writeAny: 'project:write:any',
110
+ },
111
+ schema: { read: 'schema:read', upload: 'schema:upload', apply: 'schema:apply', compare: 'schema:compare' },
112
+ apikey: { list: 'apikey:list', create: 'apikey:create', revoke: 'apikey:revoke', admin: 'apikey:admin' },
113
+ user: {
114
+ readSelf: 'user:read', updateSelf: 'user:update',
115
+ list: 'user:list', create: 'user:create', updateAny: 'user:update:any', delete: 'user:delete',
116
+ },
117
+ admin: { bypass: 'admin:bypass' },
118
+ };
119
+ //# sourceMappingURL=octonet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"octonet.js","sourceRoot":"","sources":["../../seeds/octonet.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -2,8 +2,10 @@ export { UserRepository } from './repositories/user.repository';
2
2
  export { RoleRepository } from './repositories/role.repository';
3
3
  export { PermissionRepository } from './repositories/permission.repository';
4
4
  export { PermissionCategoryRepository } from './repositories/permission-category.repository';
5
+ export { AccountRepository } from './repositories/account.repository';
5
6
  export { seedRBAC } from './lib/rbac-seed';
6
7
  export type { SeedRBACOptions } from './lib/rbac-seed';
8
+ export { OCTONET_RBAC_SEED, OCTONET_PERMS } from './seeds/octonet';
7
9
  export { hasPermission, matchesPermission } from './helpers/permissions';
8
10
  export { createAdmin } from './lib/create-admin';
9
11
  export type { CreateAdminOptions, CreateAdminResult } from './lib/create-admin';
@@ -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,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":"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;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"}
package/dist/server.js CHANGED
@@ -6,8 +6,11 @@ export { UserRepository } from './repositories/user.repository';
6
6
  export { RoleRepository } from './repositories/role.repository';
7
7
  export { PermissionRepository } from './repositories/permission.repository';
8
8
  export { PermissionCategoryRepository } from './repositories/permission-category.repository';
9
+ export { AccountRepository } from './repositories/account.repository';
9
10
  // RBAC seed (depends on repos → ORM)
10
11
  export { seedRBAC } from './lib/rbac-seed';
12
+ // Pre-built RBAC seeds (categories + permissions + roles ready to apply)
13
+ export { OCTONET_RBAC_SEED, OCTONET_PERMS } from './seeds/octonet';
11
14
  // Permission matching helpers
12
15
  export { hasPermission, matchesPermission } from './helpers/permissions';
13
16
  // Create admin (depends on repos → ORM + bcrypt)
@@ -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,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,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"}
@@ -38,6 +38,21 @@ export interface PermissionCategoryDTO {
38
38
  createdAt: string;
39
39
  updatedAt: string;
40
40
  }
41
+ export interface AccountDTO {
42
+ id: string;
43
+ name: string;
44
+ type: 'personal' | 'organization' | 'trial' | 'system';
45
+ plan: string;
46
+ status: 'active' | 'suspended' | 'deleted';
47
+ stripeCustomerId?: string;
48
+ metadata?: Record<string, any>;
49
+ owner: string | {
50
+ id: string;
51
+ };
52
+ members?: any[];
53
+ createdAt: string;
54
+ updatedAt: string;
55
+ }
41
56
  export interface User {
42
57
  id: string;
43
58
  email: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@mostajs/rbac",
3
- "version": "2.2.1",
3
+ "version": "2.3.0",
4
4
  "description": "RBAC — User/Role/Permission schemas, repos, management UI, API handlers",
5
5
  "author": "Dr Hamid MADANI <drmdh@msn.com>",
6
- "license": "MIT",
6
+ "license": "AGPL-3.0-or-later",
7
7
  "main": "dist/index.js",
8
8
  "types": "dist/index.d.ts",
9
9
  "exports": {