@lanaqi/rsr 0.0.1-rc.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.
Files changed (46) hide show
  1. package/README.md +49 -0
  2. package/dist/access/aaa.d.ts +177 -0
  3. package/dist/access/addon.d.ts +92 -0
  4. package/dist/access/blocker.d.ts +94 -0
  5. package/dist/access/common.d.ts +63 -0
  6. package/dist/access/context.d.ts +162 -0
  7. package/dist/access/guarder.d.ts +173 -0
  8. package/dist/access/handler.d.ts +183 -0
  9. package/dist/access/index.d.ts +56 -0
  10. package/dist/access/manager.d.ts +109 -0
  11. package/dist/access/matcher.d.ts +70 -0
  12. package/dist/access/navigator.d.ts +33 -0
  13. package/dist/access/recorder.d.ts +291 -0
  14. package/dist/access/resource.d.ts +215 -0
  15. package/dist/access/storer.d.ts +197 -0
  16. package/dist/access/voter.d.ts +156 -0
  17. package/dist/addons/index.d.ts +4 -0
  18. package/dist/addons/micro.d.ts +53 -0
  19. package/dist/bridge.d.ts +8 -0
  20. package/dist/builder/blocker.d.ts +24 -0
  21. package/dist/builder/builder.d.ts +9 -0
  22. package/dist/builder/context.d.ts +112 -0
  23. package/dist/builder/guarder.d.ts +54 -0
  24. package/dist/builder/handler.d.ts +21 -0
  25. package/dist/builder/index.d.ts +48 -0
  26. package/dist/builder/manager.d.ts +55 -0
  27. package/dist/builder/matcher.d.ts +37 -0
  28. package/dist/builder/navigator.d.ts +22 -0
  29. package/dist/builder/recorder.d.ts +11 -0
  30. package/dist/builder/resource.d.ts +101 -0
  31. package/dist/builder/storer.d.ts +83 -0
  32. package/dist/builder/voter.d.ts +41 -0
  33. package/dist/index.d.ts +24 -0
  34. package/dist/index.js +1778 -0
  35. package/dist/security/blocker.d.ts +14 -0
  36. package/dist/security/index.d.ts +8 -0
  37. package/dist/security/provider.d.ts +31 -0
  38. package/dist/support/aaa.d.ts +29 -0
  39. package/dist/support/blocker.d.ts +28 -0
  40. package/dist/support/index.d.ts +20 -0
  41. package/dist/support/permission.d.ts +5 -0
  42. package/dist/support/signature.d.ts +21 -0
  43. package/dist/support/user.d.ts +14 -0
  44. package/dist/warpper/index.d.ts +4 -0
  45. package/dist/warpper/permission.d.ts +24 -0
  46. package/package.json +74 -0
@@ -0,0 +1,101 @@
1
+ import { type AccessPermissions, type AccessResource, type ResourceLabels, type ResourcePatterns } from '../access';
2
+ import type { AccessBuilder } from './builder';
3
+ /**
4
+ * 访问资源配置
5
+ */
6
+ export type AccessResourceConfig = {
7
+ /**
8
+ * 模式集合
9
+ */
10
+ readonly patterns: ResourcePatterns;
11
+ /**
12
+ * 权限集合
13
+ */
14
+ readonly permissions: AccessPermissions;
15
+ /**
16
+ * 标签集合
17
+ */
18
+ readonly labels?: ResourceLabels;
19
+ /**
20
+ * 基础路径
21
+ */
22
+ readonly basename?: string;
23
+ };
24
+ /**
25
+ * 访问资源配置集合
26
+ */
27
+ export type AccessResourceConfigs = AccessResourceConfig[];
28
+ /**
29
+ * 访问资源构建器
30
+ */
31
+ export declare class AccessResourceBuilder implements AccessBuilder<AccessResource> {
32
+ /**
33
+ * 模式集合
34
+ * @private
35
+ */
36
+ private readonly _patterns;
37
+ /**
38
+ * 权限集合
39
+ * @private
40
+ */
41
+ private readonly _permissions;
42
+ /**
43
+ * 标签集合
44
+ * @private
45
+ */
46
+ private readonly _labels;
47
+ /**
48
+ * 基础路径
49
+ * @private
50
+ */
51
+ private _basename?;
52
+ /**
53
+ * 添加模式集合
54
+ * @param patterns 模式集合
55
+ */
56
+ patterns(...patterns: ResourcePatterns): AccessResourceBuilder;
57
+ /**
58
+ * 添加权限集合
59
+ * @param permissions 权限集合
60
+ */
61
+ permissions(...permissions: AccessPermissions): AccessResourceBuilder;
62
+ /**
63
+ * 添加标签集合
64
+ * @param labels 标签集合
65
+ */
66
+ labels(...labels: ResourceLabels): AccessResourceBuilder;
67
+ /**
68
+ * 标记匿名的权限
69
+ */
70
+ anonymous(): AccessResourceBuilder;
71
+ /**
72
+ * 标记已认证权限
73
+ */
74
+ authenticated(): AccessResourceBuilder;
75
+ /**
76
+ * 标记已授权权限
77
+ */
78
+ authorized(): AccessResourceBuilder;
79
+ /**
80
+ * 标记已签名标签
81
+ */
82
+ signatured(): AccessResourceBuilder;
83
+ /**
84
+ * 标记始终签名标签
85
+ */
86
+ alwaysSignature(): AccessResourceBuilder;
87
+ /**
88
+ * 设置基础路径
89
+ * @param basename 基础路径
90
+ */
91
+ basename(basename: string): AccessResourceBuilder;
92
+ /**
93
+ * 通过配置添加相关
94
+ * @param config 资源配置
95
+ */
96
+ config(config: AccessResourceConfig): AccessResourceBuilder;
97
+ /**
98
+ * 构建
99
+ */
100
+ build(): AccessResource;
101
+ }
@@ -0,0 +1,83 @@
1
+ import { type AccessStorer, type AccessValidator } from '../access';
2
+ import type { AccessBuilder } from './builder';
3
+ /**
4
+ * 访问存储器构建器
5
+ */
6
+ export declare class AccessStorerBuilder implements AccessBuilder<AccessStorer> {
7
+ /**
8
+ * 认证与授权存储
9
+ * @private
10
+ */
11
+ private _aaaStorage?;
12
+ /**
13
+ * 签名存储
14
+ * @private
15
+ */
16
+ private _signStorage?;
17
+ /**
18
+ * 认证健
19
+ * @private
20
+ */
21
+ private _authenticationKey?;
22
+ /**
23
+ * 授权健
24
+ * @private
25
+ */
26
+ private _authorizationKey?;
27
+ /**
28
+ * 签名健
29
+ * @private
30
+ */
31
+ private _signatureKey?;
32
+ /**
33
+ * 认证验证器
34
+ * @private
35
+ */
36
+ private _authenticationValidator?;
37
+ /**
38
+ * 设置认证与授权存储
39
+ * @param aaaStorage 认证与授权存储
40
+ */
41
+ aaaStorage(aaaStorage: Storage): AccessStorerBuilder;
42
+ /**
43
+ * 设置签名存储
44
+ * @param signStorage 签名存储
45
+ */
46
+ signStorage(signStorage: Storage): AccessStorerBuilder;
47
+ /**
48
+ * 设置认证健
49
+ * @param authenticationKey 认证健
50
+ */
51
+ authenticationKey(authenticationKey: string): AccessStorerBuilder;
52
+ /**
53
+ * 设置授权健
54
+ * @param authorizationKey 授权健
55
+ */
56
+ authorizationKey(authorizationKey: string): AccessStorerBuilder;
57
+ /**
58
+ * 设置签名健
59
+ * @param signatureKey 签名健
60
+ */
61
+ signatureKey(signatureKey: string): AccessStorerBuilder;
62
+ /**
63
+ * 设置认证验证器
64
+ * @param authenticationValidator 认证验证器
65
+ */
66
+ authenticationValidator(authenticationValidator: AccessValidator): AccessStorerBuilder;
67
+ /**
68
+ * 设置本地存储
69
+ */
70
+ local(): AccessStorerBuilder;
71
+ /**
72
+ * 设置会话存储
73
+ */
74
+ session(): AccessStorerBuilder;
75
+ /**
76
+ * 设置混合存储(认证与授权存储为本地存储,签名存储为会话存储)
77
+ */
78
+ blend(): AccessStorerBuilder;
79
+ /**
80
+ * 构建
81
+ */
82
+ build(): AccessStorer;
83
+ }
@@ -0,0 +1,41 @@
1
+ import { type AccessVoter, type RelationResolver } from '../access';
2
+ import type { AccessBuilder } from './builder';
3
+ /**
4
+ * 访问投票器构建器
5
+ */
6
+ export declare class AccessVoterBuilder implements AccessBuilder<AccessVoter> {
7
+ /**
8
+ * 关系解析器
9
+ * @private
10
+ */
11
+ private _resolver?;
12
+ /**
13
+ * 层级关系:a>b;b>c;c>d;e>f;f>g
14
+ * @private
15
+ */
16
+ private _hierarchy?;
17
+ /**
18
+ * 包含全部
19
+ * @private
20
+ */
21
+ private _all;
22
+ /**
23
+ * 设置关系解析器
24
+ * @param resolver 关系解析器
25
+ */
26
+ resolver(resolver: RelationResolver): AccessVoterBuilder;
27
+ /**
28
+ * 设置层级关系
29
+ * @param hierarchy 层级关系:a>b;b>c;c>d;e>f;f>g
30
+ */
31
+ hierarchy(hierarchy: string): AccessVoterBuilder;
32
+ /**
33
+ * 设置包含全部
34
+ * @param all 包含全部
35
+ */
36
+ all(all: boolean): AccessVoterBuilder;
37
+ /**
38
+ * 构建
39
+ */
40
+ build(): AccessVoter;
41
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 访问模块
3
+ */
4
+ export * from './access';
5
+ /**
6
+ * 构建模块
7
+ */
8
+ export * from './builder';
9
+ /**
10
+ * 安全模块
11
+ */
12
+ export * from './security';
13
+ /**
14
+ * 支持模块
15
+ */
16
+ export * from './support';
17
+ /**
18
+ * 包装模块
19
+ */
20
+ export * from './warpper';
21
+ /**
22
+ * 插件模块
23
+ */
24
+ export * from './addons';