@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 +29 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/module-info.d.ts.map +1 -1
- package/dist/lib/module-info.js +2 -1
- package/dist/lib/module-info.js.map +1 -1
- package/dist/repositories/account.repository.d.ts +11 -0
- package/dist/repositories/account.repository.d.ts.map +1 -0
- package/dist/repositories/account.repository.js +18 -0
- package/dist/repositories/account.repository.js.map +1 -0
- package/dist/schemas/account.schema.d.ts +3 -0
- package/dist/schemas/account.schema.d.ts.map +1 -0
- package/dist/schemas/account.schema.js +27 -0
- package/dist/schemas/account.schema.js.map +1 -0
- package/dist/seeds/octonet.d.ts +43 -0
- package/dist/seeds/octonet.d.ts.map +1 -0
- package/dist/seeds/octonet.js +119 -0
- package/dist/seeds/octonet.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +3 -0
- package/dist/server.js.map +1 -1
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +2 -2
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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":"
|
|
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"}
|
package/dist/lib/module-info.js
CHANGED
|
@@ -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;
|
|
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 @@
|
|
|
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';
|
package/dist/server.d.ts.map
CHANGED
|
@@ -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;
|
|
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)
|
package/dist/server.js.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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.
|
|
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": "
|
|
6
|
+
"license": "AGPL-3.0-or-later",
|
|
7
7
|
"main": "dist/index.js",
|
|
8
8
|
"types": "dist/index.d.ts",
|
|
9
9
|
"exports": {
|