@linyjs/shared-module-interface 0.0.11

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/README.md ADDED
@@ -0,0 +1,96 @@
1
+ # @linyjs/shared-module-interface
2
+
3
+ 公共模块的 TypeScript 类型定义包。
4
+
5
+ ## 概述
6
+
7
+ 本包汇集了 `@linyjs/mdb`、`@linyjs/auth`、`@linyjs/permission` 等基础设施模块的服务接口和类型定义,使插件开发者只需依赖此包即可获得完整的类型提示,无需单独安装 `mongodb`、`@linyjs/mdb`、`@linyjs/auth`、`@linyjs/permission` 等包。
8
+
9
+ ## 安装
10
+
11
+ ```bash
12
+ npm install --save-dev @linyjs/shared-module-interface
13
+ ```
14
+
15
+ ## 可用类型
16
+
17
+ ### mdb 模块
18
+
19
+ ```typescript
20
+ import type { IMongoDBService } from '@linyjs/shared-module-interface';
21
+ import type { ObjectId, Db, Collection, Document, Filter } from '@linyjs/shared-module-interface';
22
+ ```
23
+
24
+ > ⚠️ 本包是**纯类型包**,所有导出均为 `export type`。`import { ObjectId }` 这样的值导入不可行,运行时请通过 `mongoDBService.ObjectId` 获取构造器。
25
+
26
+ | 类型 | 说明 |
27
+ |------|------|
28
+ | `IMongoDBService` | MongoDB 服务接口(由 `@linyjs/mdb` 实现) |
29
+ | `ObjectId`, `Db`, `Collection`, `Document`, `Filter` ... | mongodb 全部类型重新导出 |
30
+
31
+ ### auth 模块
32
+
33
+ ```typescript
34
+ import type { IUserService, IAuthUser, ISafeUser, IAuthResult, IJwtPayload } from '@linyjs/shared-module-interface';
35
+ ```
36
+
37
+ | 类型 | 说明 |
38
+ |------|------|
39
+ | `IUserService` | 用户管理服务接口(由 `@linyjs/auth` 实现,serviceTag: `authServer.userService`) |
40
+ | `IAuthUser` | 完整用户类型(含密码哈希,仅限内部使用) |
41
+ | `ISafeUser` | 安全用户类型(不含密码哈希) |
42
+ | `IAuthResult` | 认证结果 |
43
+ | `IJwtPayload` | JWT Payload |
44
+
45
+ ### permission 模块
46
+
47
+ ```typescript
48
+ import type { IPermissionService, IPermissionPolicy, IPermissionCheckResult, Role } from '@linyjs/shared-module-interface';
49
+ ```
50
+
51
+ | 类型 | 说明 |
52
+ |------|------|
53
+ | `IPermissionService` | 权限服务接口(由 `@linyjs/permission` 实现) |
54
+ | `IPermissionPolicy` | 权限策略 |
55
+ | `IPermissionCheckResult` | 权限检查结果 |
56
+ | `Role`, `PermissionString` | 角色和权限字符串类型 |
57
+
58
+ ## 使用示例
59
+
60
+ ```typescript
61
+ import type { IModule, IServiceDef } from '@linyjs/server-module-interface';
62
+ import type { IMongoDBService } from '@linyjs/shared-module-interface';
63
+
64
+ class ArticleService {
65
+ constructor(private mongoDBService: IMongoDBService) {}
66
+
67
+ async getArticleById(id: string) {
68
+ const collection = this.mongoDBService.getCollection('articles');
69
+ // ✅ 通过注入的 service.ObjectId 获取运行时构造器
70
+ return await collection.findOne({
71
+ _id: new this.mongoDBService.ObjectId(id)
72
+ });
73
+ }
74
+ }
75
+
76
+ const articleServiceDef: IServiceDef = {
77
+ serviceTag: 'articleService',
78
+ serviceImpl: ArticleService,
79
+ dependencies: ['mdb.mongoDBService'],
80
+ meta: { usageType: 'normal_service' }
81
+ };
82
+
83
+ export const myServerModule: IModule = {
84
+ name: 'myServer',
85
+ moduleDependencies: ['mdb'],
86
+ serviceDefs: [articleServiceDef]
87
+ };
88
+ ```
89
+
90
+ ## 模块一览
91
+
92
+ | 子模块 | 服务接口 | serviceTag | 来源模块 |
93
+ |--------|---------|------------|---------|
94
+ | mdb | `IMongoDBService` | `mdb.mongoDBService` | `@linyjs/mdb` |
95
+ | auth | `IUserService` | `authServer.userService` | `@linyjs/auth` |
96
+ | permission | `IPermissionService` | `permissionServer.permissionService` | `@linyjs/permission` |
package/dist/auth.d.ts ADDED
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @linyjs/shared-module-interface / auth
3
+ *
4
+ * 认证模块的类型定义。
5
+ * 由 @linyjs/auth 模块实现,其他模块通过依赖注入获取相关服务。
6
+ */
7
+ import type { ObjectId } from 'mongodb';
8
+ /**
9
+ * 用户接口(完整,包含密码哈希)
10
+ *
11
+ * ⚠️ 此接口包含敏感字段 passwordHash,仅限 auth 模块内部使用。
12
+ * 其他模块应使用 ISafeUser。
13
+ */
14
+ export interface IAuthUser {
15
+ _id?: ObjectId;
16
+ username: string;
17
+ email: string;
18
+ passwordHash: string;
19
+ createdAt: Date;
20
+ roles?: string[];
21
+ }
22
+ /**
23
+ * 安全用户接口(不含密码哈希)
24
+ *
25
+ * 这是在依赖注入和 API 返回中使用的用户类型。
26
+ */
27
+ export type ISafeUser = Omit<IAuthUser, 'passwordHash'>;
28
+ /**
29
+ * JWT Payload
30
+ */
31
+ export interface IJwtPayload {
32
+ userId: string;
33
+ username: string;
34
+ iat?: number;
35
+ exp?: number;
36
+ }
37
+ /**
38
+ * 认证结果
39
+ */
40
+ export interface IAuthResult {
41
+ token: string;
42
+ user: ISafeUser;
43
+ }
44
+ /**
45
+ * 用户管理服务接口
46
+ *
47
+ * 由 @linyjs/auth 模块的 userService 实现(serviceTag: 'userService')。
48
+ * 其他模块通过依赖注入获取此服务:
49
+ *
50
+ * ```typescript
51
+ * constructor({ userService }: { userService: IUserService }) {
52
+ * this.userService = userService;
53
+ * }
54
+ * ```
55
+ *
56
+ * 依赖声明:`dependencies: ['authServer.userService']`
57
+ */
58
+ export interface IUserService {
59
+ /**
60
+ * 获取所有用户列表
61
+ * @returns 不含密码哈希的用户数组
62
+ */
63
+ getAllUsers(): Promise<ISafeUser[]>;
64
+ /**
65
+ * 更新用户角色
66
+ * @param userId - 用户 ID
67
+ * @param roles - 新的角色列表
68
+ * @returns 更新后的用户信息,如果用户不存在则返回 null
69
+ */
70
+ updateUserRoles(userId: string, roles: string[]): Promise<ISafeUser | null>;
71
+ }
72
+ /**
73
+ * 判断用户是否为 Root 角色
74
+ * @param user - 用户信息(只需 roles 字段)
75
+ */
76
+ export type IsRootUser = (user: {
77
+ roles?: string[];
78
+ }) => boolean;
79
+ /**
80
+ * 判断用户是否为 Admin 角色(包括 root)
81
+ * @param user - 用户信息(只需 roles 字段)
82
+ */
83
+ export type IsAdminUser = (user: {
84
+ roles?: string[];
85
+ }) => boolean;
86
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,WAAW,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;CAC7E;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAK,OAAO,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,KAAK,OAAO,CAAC"}
package/dist/auth.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @linyjs/shared-module-interface / auth
3
+ *
4
+ * 认证模块的类型定义。
5
+ * 由 @linyjs/auth 模块实现,其他模块通过依赖注入获取相关服务。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @linyjs/shared-module-interface
3
+ *
4
+ * 公共模块的 TypeScript 类型定义包。
5
+ *
6
+ * 本包汇集了 @linyjs/mdb、@linyjs/auth、@linyjs/permission 等基础设施模块
7
+ * 的服务接口和类型定义,使插件开发者只需依赖此包即可获得完整的类型提示,
8
+ * 无需单独安装 mongodb、@linyjs/mdb、@linyjs/auth、@linyjs/permission 等包。
9
+ *
10
+ * ## 使用方式
11
+ *
12
+ * 在插件的 `package.json` 中添加:
13
+ * ```json
14
+ * {
15
+ * "devDependencies": {
16
+ * "@linyjs/shared-module-interface": "^0.0.1"
17
+ * }
18
+ * }
19
+ * ```
20
+ *
21
+ * 在代码中导入类型:
22
+ * ```typescript
23
+ * import type { IMongoDBService, IUserService, IPermissionService } from '@linyjs/shared-module-interface';
24
+ * import { ObjectId } from '@linyjs/shared-module-interface';
25
+ * ```
26
+ *
27
+ * ## 模块一览
28
+ *
29
+ * | 子模块 | 服务接口 | serviceTag | 来源模块 |
30
+ * |-------------|---------------------|-------------------------|----------------------|
31
+ * | mdb | IMongoDBService | mdb.mongoDBService | @linyjs/mdb |
32
+ * | auth | IUserService | authServer.userService | @linyjs/auth |
33
+ * | permission | IPermissionService | permissionServer.permissionService | @linyjs/permission |
34
+ */
35
+ export * from './mdb.js';
36
+ export type { IAuthUser, ISafeUser, IJwtPayload, IAuthResult, IUserService, IsRootUser, IsAdminUser, } from './auth.js';
37
+ export type { PermissionString, Role, IPermissionUser, IPermissionPolicy, IPermissionCheckResult, IPermissionService, } from './permission.js';
38
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH,cAAc,UAAU,CAAC;AAGzB,YAAY,EACV,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,GACZ,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,gBAAgB,EAChB,IAAI,EACJ,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @linyjs/shared-module-interface
3
+ *
4
+ * 公共模块的 TypeScript 类型定义包。
5
+ *
6
+ * 本包汇集了 @linyjs/mdb、@linyjs/auth、@linyjs/permission 等基础设施模块
7
+ * 的服务接口和类型定义,使插件开发者只需依赖此包即可获得完整的类型提示,
8
+ * 无需单独安装 mongodb、@linyjs/mdb、@linyjs/auth、@linyjs/permission 等包。
9
+ *
10
+ * ## 使用方式
11
+ *
12
+ * 在插件的 `package.json` 中添加:
13
+ * ```json
14
+ * {
15
+ * "devDependencies": {
16
+ * "@linyjs/shared-module-interface": "^0.0.1"
17
+ * }
18
+ * }
19
+ * ```
20
+ *
21
+ * 在代码中导入类型:
22
+ * ```typescript
23
+ * import type { IMongoDBService, IUserService, IPermissionService } from '@linyjs/shared-module-interface';
24
+ * import { ObjectId } from '@linyjs/shared-module-interface';
25
+ * ```
26
+ *
27
+ * ## 模块一览
28
+ *
29
+ * | 子模块 | 服务接口 | serviceTag | 来源模块 |
30
+ * |-------------|---------------------|-------------------------|----------------------|
31
+ * | mdb | IMongoDBService | mdb.mongoDBService | @linyjs/mdb |
32
+ * | auth | IUserService | authServer.userService | @linyjs/auth |
33
+ * | permission | IPermissionService | permissionServer.permissionService | @linyjs/permission |
34
+ */
35
+ // ==================== mdb 模块类型 ====================
36
+ // IMongoDBService 接口 + mongodb 全部类型重新导出
37
+ // (ObjectId, Db, Collection, Document, Filter, MongoClient, etc.)
38
+ export * from './mdb.js';
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,qDAAqD;AACrD,wCAAwC;AACxC,kEAAkE;AAClE,cAAc,UAAU,CAAC"}
package/dist/mdb.d.ts ADDED
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @linyjs/shared-module-interface / mdb
3
+ *
4
+ * MongoDB 服务的类型定义。
5
+ * 从 mongodb 包重新导出所有类型,使插件无需单独安装 mongodb。
6
+ */
7
+ import type { Db, Collection, Document, ObjectId } from 'mongodb';
8
+ export type * from 'mongodb';
9
+ /**
10
+ * MongoDB 服务接口
11
+ * 提供数据库连接和集合访问能力
12
+ *
13
+ * 此接口由 @linyjs/mdb 模块实现,
14
+ * 其他模块通过依赖注入获取此服务的实例。
15
+ */
16
+ export interface IMongoDBService {
17
+ /**
18
+ * MongoDB ObjectId 构造器
19
+ *
20
+ * 插件无需单独安装 mongodb 包,可直接通过此属性使用 ObjectId:
21
+ * ```typescript
22
+ * const id = new service.ObjectId('507f1f77bcf86cd799439011')
23
+ * ```
24
+ */
25
+ readonly ObjectId: typeof ObjectId;
26
+ /**
27
+ * 获取数据库实例
28
+ */
29
+ getDb(): Db;
30
+ /**
31
+ * 获取指定集合
32
+ * @param collectionName - 集合名称
33
+ */
34
+ getCollection<T extends Document = Document>(collectionName: string): Collection<T>;
35
+ /**
36
+ * 检查数据库连接状态
37
+ */
38
+ isConnected(): boolean;
39
+ /**
40
+ * 关闭数据库连接
41
+ */
42
+ close(): Promise<void>;
43
+ }
44
+ //# sourceMappingURL=mdb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdb.d.ts","sourceRoot":"","sources":["../src/mdb.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AASlE,mBAAmB,SAAS,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAEnC;;OAEG;IACH,KAAK,IAAI,EAAE,CAAC;IAEZ;;;OAGG;IACH,aAAa,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,cAAc,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEpF;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;IAEvB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB"}
package/dist/mdb.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @linyjs/shared-module-interface / mdb
3
+ *
4
+ * MongoDB 服务的类型定义。
5
+ * 从 mongodb 包重新导出所有类型,使插件无需单独安装 mongodb。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=mdb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mdb.js","sourceRoot":"","sources":["../src/mdb.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * @linyjs/shared-module-interface / permission
3
+ *
4
+ * ABAC 权限管理模块的类型定义。
5
+ * 由 @linyjs/permission 模块实现,其他模块通过依赖注入获取相关服务。
6
+ */
7
+ import type { ObjectId } from 'mongodb';
8
+ /**
9
+ * 权限字符串格式:resource:action
10
+ * 例如:'article:read', 'article:write', 'admin:access'
11
+ */
12
+ export type PermissionString = string;
13
+ /**
14
+ * 用户角色
15
+ */
16
+ export type Role = 'admin' | 'editor' | 'user' | string;
17
+ /**
18
+ * 权限模块使用的用户接口
19
+ * (auth 模块中 ISafeUser 的子集,用于权限检查)
20
+ */
21
+ export interface IPermissionUser {
22
+ _id?: ObjectId;
23
+ username: string;
24
+ email: string;
25
+ roles: Role[];
26
+ attributes?: Record<string, any>;
27
+ createdAt: Date;
28
+ }
29
+ /**
30
+ * 权限策略
31
+ * 定义在什么条件下,哪些角色可以执行哪些操作
32
+ */
33
+ export interface IPermissionPolicy {
34
+ /** 资源名称,如 'article', 'user', 'admin' */
35
+ resource: string;
36
+ /** 操作名称,如 'read', 'write', 'delete', 'manage' */
37
+ action: string;
38
+ /** 允许的角色列表 */
39
+ allowedRoles: Role[];
40
+ /**
41
+ * 自定义条件函数(可选)
42
+ * 用于实现更细粒度的 ABAC 逻辑
43
+ * 例如:只有文章作者才能编辑自己的文章
44
+ */
45
+ condition?: (user: IPermissionUser, context: Record<string, any>) => boolean | Promise<boolean>;
46
+ }
47
+ /**
48
+ * 权限检查结果
49
+ */
50
+ export interface IPermissionCheckResult {
51
+ /** 是否允许 */
52
+ allowed: boolean;
53
+ /** 拒绝原因(如果 allowed 为 false) */
54
+ reason?: string;
55
+ }
56
+ /**
57
+ * 权限服务接口
58
+ *
59
+ * 由 @linyjs/permission 模块的 permissionService 实现。
60
+ * 其他模块通过依赖注入获取此服务:
61
+ *
62
+ * ```typescript
63
+ * constructor({ permissionService }: { permissionService: IPermissionService }) {
64
+ * this.permissionService = permissionService;
65
+ * }
66
+ * ```
67
+ *
68
+ * 依赖声明:`dependencies: ['permissionServer.permissionService']`
69
+ */
70
+ export interface IPermissionService {
71
+ /**
72
+ * 检查用户是否有权限执行某个操作
73
+ * @param user 当前用户
74
+ * @param permission 权限字符串(格式:resource:action)
75
+ * @param context 上下文信息(用于 ABAC 条件判断)
76
+ */
77
+ check(user: IPermissionUser | null, permission: PermissionString, context?: Record<string, any>): Promise<IPermissionCheckResult>;
78
+ /**
79
+ * 注册权限策略
80
+ */
81
+ registerPolicy(policy: IPermissionPolicy): void;
82
+ /**
83
+ * 批量检查权限
84
+ */
85
+ checkMany(user: IPermissionUser | null, permissions: PermissionString[], context?: Record<string, any>): Promise<Record<PermissionString, IPermissionCheckResult>>;
86
+ }
87
+ //# sourceMappingURL=permission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.d.ts","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAC;IAEf,cAAc;IACd,YAAY,EAAE,IAAI,EAAE,CAAC;IAErB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACzB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW;IACX,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,KAAK,CACH,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,UAAU,EAAE,gBAAgB,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEnC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEhD;;OAEG;IACH,SAAS,CACP,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAC,CAAC;CAC9D"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @linyjs/shared-module-interface / permission
3
+ *
4
+ * ABAC 权限管理模块的类型定义。
5
+ * 由 @linyjs/permission 模块实现,其他模块通过依赖注入获取相关服务。
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=permission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../src/permission.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/package.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "@linyjs/shared-module-interface",
3
+ "version": "0.0.11",
4
+ "description": "Shared TypeScript type definitions for linyjs infrastructure modules (mdb, auth, permission)",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc -b",
21
+ "clean": "rm -rf dist *.tsbuildinfo"
22
+ },
23
+ "dependencies": {
24
+ "mongodb": "^6.0.0"
25
+ },
26
+ "devDependencies": {
27
+ "typescript": "^5.7.0"
28
+ }
29
+ }