cnpmcore 1.10.0 → 1.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/History.md +37 -0
  2. package/README.md +4 -4
  3. package/dist/app/common/LogUtil.d.ts +1 -0
  4. package/dist/app/common/LogUtil.js +8 -0
  5. package/dist/app/common/adapter/NPMRegistry.d.ts +2 -0
  6. package/dist/app/common/adapter/NPMRegistry.js +5 -2
  7. package/dist/app/common/adapter/binary/NodePreGypBinary.js +20 -5
  8. package/dist/app/common/adapter/changesStream/AbstractChangesStream.d.ts +17 -0
  9. package/dist/app/common/adapter/changesStream/AbstractChangesStream.js +30 -0
  10. package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.d.ts +9 -0
  11. package/dist/app/common/adapter/changesStream/CnpmcoreChangesStream.js +60 -0
  12. package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.d.ts +10 -0
  13. package/dist/app/common/adapter/changesStream/CnpmjsorgChangesStream.js +71 -0
  14. package/dist/app/common/adapter/changesStream/NpmChangesStream.d.ts +6 -0
  15. package/dist/app/common/adapter/changesStream/NpmChangesStream.js +61 -0
  16. package/dist/app/common/enum/Hook.d.ts +18 -0
  17. package/dist/app/common/enum/Hook.js +24 -0
  18. package/dist/app/common/enum/Registry.d.ts +5 -0
  19. package/dist/app/common/enum/Registry.js +10 -0
  20. package/dist/app/common/enum/Task.d.ts +3 -1
  21. package/dist/app/common/enum/Task.js +3 -1
  22. package/dist/app/core/entity/Hook.d.ts +30 -0
  23. package/dist/app/core/entity/Hook.js +43 -0
  24. package/dist/app/core/entity/HookEvent.d.ts +36 -0
  25. package/dist/app/core/entity/HookEvent.js +59 -0
  26. package/dist/app/core/entity/Package.d.ts +2 -0
  27. package/dist/app/core/entity/Package.js +2 -1
  28. package/dist/app/core/entity/Registry.d.ts +23 -0
  29. package/dist/app/core/entity/Registry.js +22 -0
  30. package/dist/app/core/entity/Scope.d.ts +16 -0
  31. package/dist/app/core/entity/Scope.js +19 -0
  32. package/dist/app/core/entity/Task.d.ts +50 -8
  33. package/dist/app/core/entity/Task.js +61 -9
  34. package/dist/app/core/event/ChangesStream.d.ts +13 -5
  35. package/dist/app/core/event/ChangesStream.js +70 -15
  36. package/dist/app/core/event/index.d.ts +12 -4
  37. package/dist/app/core/event/index.js +1 -1
  38. package/dist/app/core/service/BinarySyncerService.d.ts +3 -3
  39. package/dist/app/core/service/ChangesStreamService.d.ts +15 -5
  40. package/dist/app/core/service/ChangesStreamService.js +120 -112
  41. package/dist/app/core/service/CreateHookTriggerService.d.ts +10 -0
  42. package/dist/app/core/service/CreateHookTriggerService.js +83 -0
  43. package/dist/app/core/service/HookManageService.d.ts +29 -0
  44. package/dist/app/core/service/HookManageService.js +77 -0
  45. package/dist/app/core/service/HookTriggerService.d.ts +14 -0
  46. package/dist/app/core/service/HookTriggerService.js +113 -0
  47. package/dist/app/core/service/PackageManagerService.d.ts +1 -0
  48. package/dist/app/core/service/PackageManagerService.js +8 -5
  49. package/dist/app/core/service/PackageSyncerService.d.ts +7 -4
  50. package/dist/app/core/service/PackageSyncerService.js +23 -4
  51. package/dist/app/core/service/RegistryManagerService.d.ts +29 -0
  52. package/dist/app/core/service/RegistryManagerService.js +97 -0
  53. package/dist/app/core/service/ScopeManagerService.d.ts +27 -0
  54. package/dist/app/core/service/ScopeManagerService.js +58 -0
  55. package/dist/app/core/service/TaskService.d.ts +4 -3
  56. package/dist/app/core/service/TaskService.js +10 -5
  57. package/dist/app/core/service/UserService.d.ts +1 -1
  58. package/dist/app/core/service/UserService.js +3 -3
  59. package/dist/app/core/util/EntityUtil.d.ts +13 -0
  60. package/dist/app/core/util/EntityUtil.js +13 -1
  61. package/dist/app/port/UserRoleManager.d.ts +1 -2
  62. package/dist/app/port/controller/HookController.d.ts +23 -0
  63. package/dist/app/port/controller/HookController.js +133 -0
  64. package/dist/app/port/controller/PackageSyncController.d.ts +1 -0
  65. package/dist/app/port/controller/PackageSyncController.js +13 -2
  66. package/dist/app/port/controller/RegistryController.d.ts +20 -0
  67. package/dist/app/port/controller/RegistryController.js +131 -0
  68. package/dist/app/port/controller/ScopeController.d.ts +14 -0
  69. package/dist/app/port/controller/ScopeController.js +68 -0
  70. package/dist/app/port/controller/convertor/HookConvertor.d.ts +37 -0
  71. package/dist/app/port/controller/convertor/HookConvertor.js +29 -0
  72. package/dist/app/port/middleware/AdminAccess.d.ts +2 -0
  73. package/dist/app/port/middleware/AdminAccess.js +15 -0
  74. package/dist/app/port/typebox.d.ts +48 -0
  75. package/dist/app/port/typebox.js +126 -2
  76. package/dist/app/repository/HookRepository.d.ts +19 -0
  77. package/dist/app/repository/HookRepository.js +69 -0
  78. package/dist/app/repository/RegistryRepository.d.ts +12 -0
  79. package/dist/app/repository/RegistryRepository.js +64 -0
  80. package/dist/app/repository/ScopeRepository.d.ts +14 -0
  81. package/dist/app/repository/ScopeRepository.js +73 -0
  82. package/dist/app/repository/TaskRepository.d.ts +5 -3
  83. package/dist/app/repository/TaskRepository.js +32 -2
  84. package/dist/app/repository/UserRepository.d.ts +1 -0
  85. package/dist/app/repository/UserRepository.js +7 -1
  86. package/dist/app/repository/model/HistoryTask.js +2 -2
  87. package/dist/app/repository/model/Hook.d.ts +15 -0
  88. package/dist/app/repository/model/Hook.js +58 -0
  89. package/dist/app/repository/model/Package.d.ts +1 -0
  90. package/dist/app/repository/model/Package.js +4 -1
  91. package/dist/app/repository/model/PackageVersionBlock.js +2 -2
  92. package/dist/app/repository/model/Registry.d.ts +13 -0
  93. package/dist/app/repository/model/Registry.js +50 -0
  94. package/dist/app/repository/model/Scope.d.ts +9 -0
  95. package/dist/app/repository/model/Scope.js +39 -0
  96. package/dist/app/repository/model/Task.d.ts +1 -0
  97. package/dist/app/repository/model/Task.js +7 -2
  98. package/dist/app/schedule/CreateTriggerHookWorker.d.ts +8 -0
  99. package/dist/app/schedule/CreateTriggerHookWorker.js +51 -0
  100. package/dist/app/schedule/TriggerHookWorker.d.ts +8 -0
  101. package/dist/app/schedule/TriggerHookWorker.js +49 -0
  102. package/dist/config/binaries.js +15 -1
  103. package/dist/config/config.default.js +5 -1
  104. package/package.json +2 -2
@@ -1,5 +1,11 @@
1
1
  import { Static } from '@sinclair/typebox';
2
+ import { RegistryType } from '../common/enum/Registry';
3
+ import { HookType } from '../common/enum/Hook';
2
4
  export declare const Name: import("@sinclair/typebox").TString;
5
+ export declare const Url: import("@sinclair/typebox").TString;
6
+ export declare const Secret: import("@sinclair/typebox").TString;
7
+ export declare const HookName: import("@sinclair/typebox").TString;
8
+ export declare const HookTypeType: import("@sinclair/typebox").TEnum<import("@sinclair/typebox").TEnumKey<HookType>[]>;
3
9
  export declare const Tag: import("@sinclair/typebox").TString;
4
10
  export declare const Version: import("@sinclair/typebox").TString;
5
11
  export declare const Description: import("@sinclair/typebox").TString;
@@ -20,6 +26,7 @@ export declare const SyncPackageTaskRule: import("@sinclair/typebox").TObject<{
20
26
  syncDownloadData: import("@sinclair/typebox").TBoolean;
21
27
  force: import("@sinclair/typebox").TBoolean;
22
28
  forceSyncHistory: import("@sinclair/typebox").TBoolean;
29
+ registryName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
30
  }>;
24
31
  export declare type SyncPackageTaskType = Static<typeof SyncPackageTaskRule>;
25
32
  export declare const BlockPackageRule: import("@sinclair/typebox").TObject<{
@@ -27,4 +34,45 @@ export declare const BlockPackageRule: import("@sinclair/typebox").TObject<{
27
34
  reason: import("@sinclair/typebox").TString;
28
35
  }>;
29
36
  export declare type BlockPackageType = Static<typeof BlockPackageRule>;
37
+ export declare const UpdateHookRequestRule: import("@sinclair/typebox").TObject<{
38
+ endpoint: import("@sinclair/typebox").TString;
39
+ secret: import("@sinclair/typebox").TString;
40
+ }>;
41
+ export declare const CreateHookRequestRule: import("@sinclair/typebox").TObject<{
42
+ endpoint: import("@sinclair/typebox").TString;
43
+ secret: import("@sinclair/typebox").TString;
44
+ name: import("@sinclair/typebox").TString;
45
+ type: import("@sinclair/typebox").TEnum<import("@sinclair/typebox").TEnumKey<HookType>[]>;
46
+ }>;
30
47
  export declare function patchAjv(ajv: any): void;
48
+ export declare const QueryPageOptions: import("@sinclair/typebox").TObject<{
49
+ pageSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
50
+ pageIndex: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
51
+ }>;
52
+ export declare const RegistryCreateSyncOptions: import("@sinclair/typebox").TObject<{
53
+ since: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
54
+ }>;
55
+ export declare const RegistryCreateOptions: import("@sinclair/typebox").TObject<{
56
+ name: import("@sinclair/typebox").TString;
57
+ host: import("@sinclair/typebox").TString;
58
+ changeStream: import("@sinclair/typebox").TString;
59
+ userPrefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
60
+ type: import("@sinclair/typebox").TEnum<import("@sinclair/typebox").TEnumKey<RegistryType>[]>;
61
+ }>;
62
+ export declare const RegistryUpdateOptions: import("@sinclair/typebox").TObject<{
63
+ name: import("@sinclair/typebox").TString;
64
+ host: import("@sinclair/typebox").TString;
65
+ changeStream: import("@sinclair/typebox").TString;
66
+ userPrefix: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
67
+ type: import("@sinclair/typebox").TEnum<import("@sinclair/typebox").TEnumKey<RegistryType>[]>;
68
+ registryId: import("@sinclair/typebox").TString;
69
+ }>;
70
+ export declare const ScopeCreateOptions: import("@sinclair/typebox").TObject<{
71
+ name: import("@sinclair/typebox").TString;
72
+ registryId: import("@sinclair/typebox").TString;
73
+ }>;
74
+ export declare const ScopeUpdateOptions: import("@sinclair/typebox").TObject<{
75
+ name: import("@sinclair/typebox").TString;
76
+ registryId: import("@sinclair/typebox").TString;
77
+ scopeId: import("@sinclair/typebox").TString;
78
+ }>;
@@ -3,12 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.patchAjv = exports.BlockPackageRule = exports.SyncPackageTaskRule = exports.TagWithVersionRule = exports.VersionRule = exports.TagRule = exports.Description = exports.Version = exports.Tag = exports.Name = void 0;
6
+ exports.ScopeUpdateOptions = exports.ScopeCreateOptions = exports.RegistryUpdateOptions = exports.RegistryCreateOptions = exports.RegistryCreateSyncOptions = exports.QueryPageOptions = exports.patchAjv = exports.CreateHookRequestRule = exports.UpdateHookRequestRule = exports.BlockPackageRule = exports.SyncPackageTaskRule = exports.TagWithVersionRule = exports.VersionRule = exports.TagRule = exports.Description = exports.Version = exports.Tag = exports.HookTypeType = exports.HookName = exports.Secret = exports.Url = exports.Name = void 0;
7
7
  const typebox_1 = require("@sinclair/typebox");
8
+ const Registry_1 = require("../common/enum/Registry");
8
9
  const semver_1 = __importDefault(require("semver"));
10
+ const Hook_1 = require("../common/enum/Hook");
9
11
  exports.Name = typebox_1.Type.String({
10
12
  transform: ['trim'],
11
13
  });
14
+ exports.Url = typebox_1.Type.String({
15
+ transform: ['trim'],
16
+ minLength: 1,
17
+ maxLength: 2048,
18
+ });
19
+ exports.Secret = typebox_1.Type.String({
20
+ transform: ['trim'],
21
+ minLength: 1,
22
+ maxLength: 200,
23
+ });
24
+ exports.HookName = typebox_1.Type.String({
25
+ transform: ['trim'],
26
+ minLength: 1,
27
+ maxLength: 428,
28
+ });
29
+ exports.HookTypeType = typebox_1.Type.Enum(Hook_1.HookType);
12
30
  exports.Tag = typebox_1.Type.String({
13
31
  format: 'semver-tag',
14
32
  transform: ['trim'],
@@ -45,6 +63,8 @@ exports.SyncPackageTaskRule = typebox_1.Type.Object({
45
63
  force: typebox_1.Type.Boolean(),
46
64
  // sync history version
47
65
  forceSyncHistory: typebox_1.Type.Boolean(),
66
+ // source registry
67
+ registryName: typebox_1.Type.Optional(typebox_1.Type.String()),
48
68
  });
49
69
  exports.BlockPackageRule = typebox_1.Type.Object({
50
70
  fullname: exports.Name,
@@ -53,6 +73,16 @@ exports.BlockPackageRule = typebox_1.Type.Object({
53
73
  maxLength: 10240,
54
74
  }),
55
75
  });
76
+ exports.UpdateHookRequestRule = typebox_1.Type.Object({
77
+ endpoint: exports.Url,
78
+ secret: exports.Secret,
79
+ });
80
+ exports.CreateHookRequestRule = typebox_1.Type.Object({
81
+ endpoint: exports.Url,
82
+ secret: exports.Secret,
83
+ name: exports.HookName,
84
+ type: exports.HookTypeType,
85
+ });
56
86
  // https://github.com/xiekw2010/egg-typebox-validate#%E5%A6%82%E4%BD%95%E5%86%99%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A0%A1%E9%AA%8C%E8%A7%84%E5%88%99
57
87
  // add custom validate to ajv
58
88
  function patchAjv(ajv) {
@@ -70,4 +100,98 @@ function patchAjv(ajv) {
70
100
  });
71
101
  }
72
102
  exports.patchAjv = patchAjv;
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9wb3J0L3R5cGVib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQWlEO0FBQ2pELG9EQUE0QjtBQUVmLFFBQUEsSUFBSSxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDOUIsU0FBUyxFQUFFLENBQUUsTUFBTSxDQUFFO0NBQ3RCLENBQUMsQ0FBQztBQUVVLFFBQUEsR0FBRyxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsTUFBTSxFQUFFLFlBQVk7SUFDcEIsU0FBUyxFQUFFLENBQUUsTUFBTSxDQUFFO0lBQ3JCLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLEdBQUc7Q0FDZixDQUFDLENBQUM7QUFDSCxhQUFhO0FBQ0EsUUFBQSxPQUFPLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUNqQyxNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLFNBQVMsRUFBRSxDQUFFLE1BQU0sQ0FBRTtJQUNyQixTQUFTLEVBQUUsQ0FBQztJQUNaLFNBQVMsRUFBRSxHQUFHO0NBQ2YsQ0FBQyxDQUFDO0FBRVUsUUFBQSxXQUFXLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUUsTUFBTSxDQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRXZFLFFBQUEsT0FBTyxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDakMsR0FBRyxFQUFFLFdBQUc7Q0FDVCxDQUFDLENBQUM7QUFDVSxRQUFBLFdBQVcsR0FBRyxjQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JDLE9BQU8sRUFBRSxlQUFPO0NBQ2pCLENBQUMsQ0FBQztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUM1QyxHQUFHLEVBQUUsV0FBRztJQUNSLE9BQU8sRUFBRSxlQUFPO0NBQ2pCLENBQUMsQ0FBQztBQUVVLFFBQUEsbUJBQW1CLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUM3QyxRQUFRLEVBQUUsWUFBSTtJQUNkLElBQUksRUFBRSxjQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2hCLFNBQVMsRUFBRSxDQUFFLE1BQU0sQ0FBRTtRQUNyQixTQUFTLEVBQUUsSUFBSTtLQUNoQixDQUFDO0lBQ0YsZ0JBQWdCLEVBQUUsY0FBSSxDQUFDLE9BQU8sRUFBRTtJQUNoQyxnQkFBZ0IsRUFBRSxjQUFJLENBQUMsT0FBTyxFQUFFO0lBQ2hDLDhDQUE4QztJQUM5QyxLQUFLLEVBQUUsY0FBSSxDQUFDLE9BQU8sRUFBRTtJQUNyQix1QkFBdUI7SUFDdkIsZ0JBQWdCLEVBQUUsY0FBSSxDQUFDLE9BQU8sRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFHVSxRQUFBLGdCQUFnQixHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDMUMsUUFBUSxFQUFFLFlBQUk7SUFDZCxNQUFNLEVBQUUsY0FBSSxDQUFDLE1BQU0sQ0FBQztRQUNsQixTQUFTLEVBQUUsQ0FBRSxNQUFNLENBQUU7UUFDckIsU0FBUyxFQUFFLEtBQUs7S0FDakIsQ0FBQztDQUNILENBQUMsQ0FBQztBQUdILCtJQUErSTtBQUMvSSw2QkFBNkI7QUFDN0IsU0FBZ0IsUUFBUSxDQUFDLEdBQVE7SUFDL0IsR0FBRyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRTtRQUM5QixJQUFJLEVBQUUsUUFBUTtRQUNkLFFBQVEsRUFBRSxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQzVCLE9BQU8sQ0FBQyxDQUFDLGdCQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7S0FDRixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtRQUMxQixJQUFJLEVBQUUsUUFBUTtRQUNkLFFBQVEsRUFBRSxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sQ0FBQyxnQkFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQWJELDRCQWFDIn0=
103
+ exports.QueryPageOptions = typebox_1.Type.Object({
104
+ pageSize: typebox_1.Type.Optional(typebox_1.Type.Number({
105
+ transform: ['trim'],
106
+ minimum: 1,
107
+ maximum: 100,
108
+ })),
109
+ pageIndex: typebox_1.Type.Optional(typebox_1.Type.Number({
110
+ transform: ['trim'],
111
+ minimum: 0,
112
+ })),
113
+ });
114
+ exports.RegistryCreateSyncOptions = typebox_1.Type.Object({
115
+ since: typebox_1.Type.Optional(typebox_1.Type.String()),
116
+ });
117
+ exports.RegistryCreateOptions = typebox_1.Type.Object({
118
+ name: typebox_1.Type.String({
119
+ transform: ['trim'],
120
+ minLength: 1,
121
+ maxLength: 256,
122
+ }),
123
+ host: typebox_1.Type.String({
124
+ transform: ['trim'],
125
+ minLength: 1,
126
+ maxLength: 4096,
127
+ }),
128
+ changeStream: typebox_1.Type.String({
129
+ transform: ['trim'],
130
+ minLength: 1,
131
+ maxLength: 4096,
132
+ }),
133
+ userPrefix: typebox_1.Type.Optional(typebox_1.Type.String({
134
+ transform: ['trim'],
135
+ minLength: 1,
136
+ maxLength: 256,
137
+ })),
138
+ type: typebox_1.Type.Enum(Registry_1.RegistryType),
139
+ });
140
+ exports.RegistryUpdateOptions = typebox_1.Type.Object({
141
+ name: typebox_1.Type.String({
142
+ transform: ['trim'],
143
+ minLength: 1,
144
+ maxLength: 256,
145
+ }),
146
+ host: typebox_1.Type.String({
147
+ transform: ['trim'],
148
+ minLength: 1,
149
+ maxLength: 4096,
150
+ }),
151
+ changeStream: typebox_1.Type.String({
152
+ transform: ['trim'],
153
+ minLength: 1,
154
+ maxLength: 4096,
155
+ }),
156
+ userPrefix: typebox_1.Type.Optional(typebox_1.Type.String({
157
+ transform: ['trim'],
158
+ minLength: 1,
159
+ maxLength: 256,
160
+ })),
161
+ type: typebox_1.Type.Enum(Registry_1.RegistryType),
162
+ registryId: typebox_1.Type.String({
163
+ transform: ['trim'],
164
+ minLength: 1,
165
+ maxLength: 256,
166
+ }),
167
+ });
168
+ exports.ScopeCreateOptions = typebox_1.Type.Object({
169
+ name: typebox_1.Type.String({
170
+ transform: ['trim'],
171
+ minLength: 1,
172
+ maxLength: 256,
173
+ }),
174
+ registryId: typebox_1.Type.String({
175
+ transform: ['trim'],
176
+ minLength: 1,
177
+ maxLength: 256,
178
+ }),
179
+ });
180
+ exports.ScopeUpdateOptions = typebox_1.Type.Object({
181
+ name: typebox_1.Type.String({
182
+ transform: ['trim'],
183
+ minLength: 1,
184
+ maxLength: 256,
185
+ }),
186
+ registryId: typebox_1.Type.String({
187
+ transform: ['trim'],
188
+ minLength: 1,
189
+ maxLength: 256,
190
+ }),
191
+ scopeId: typebox_1.Type.String({
192
+ transform: ['trim'],
193
+ minLength: 1,
194
+ maxLength: 256,
195
+ }),
196
+ });
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZWJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2FwcC9wb3J0L3R5cGVib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsK0NBQWlEO0FBQ2pELHNEQUF1RDtBQUN2RCxvREFBNEI7QUFDNUIsOENBQStDO0FBRWxDLFFBQUEsSUFBSSxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDOUIsU0FBUyxFQUFFLENBQUUsTUFBTSxDQUFFO0NBQ3RCLENBQUMsQ0FBQztBQUVVLFFBQUEsR0FBRyxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsU0FBUyxFQUFFLENBQUUsTUFBTSxDQUFFO0lBQ3JCLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLElBQUk7Q0FDaEIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxNQUFNLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxTQUFTLEVBQUUsQ0FBRSxNQUFNLENBQUU7SUFDckIsU0FBUyxFQUFFLENBQUM7SUFDWixTQUFTLEVBQUUsR0FBRztDQUNmLENBQUMsQ0FBQztBQUVVLFFBQUEsUUFBUSxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDbEMsU0FBUyxFQUFFLENBQUUsTUFBTSxDQUFFO0lBQ3JCLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLEdBQUc7Q0FDZixDQUFDLENBQUM7QUFFVSxRQUFBLFlBQVksR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLGVBQVEsQ0FBQyxDQUFDO0FBRW5DLFFBQUEsR0FBRyxHQUFHLGNBQUksQ0FBQyxNQUFNLENBQUM7SUFDN0IsTUFBTSxFQUFFLFlBQVk7SUFDcEIsU0FBUyxFQUFFLENBQUUsTUFBTSxDQUFFO0lBQ3JCLFNBQVMsRUFBRSxDQUFDO0lBQ1osU0FBUyxFQUFFLEdBQUc7Q0FDZixDQUFDLENBQUM7QUFDSCxhQUFhO0FBQ0EsUUFBQSxPQUFPLEdBQUcsY0FBSSxDQUFDLE1BQU0sQ0FBQztJQUNq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
@@ -0,0 +1,19 @@
1
+ import { Hook } from '../core/entity/Hook';
2
+ import { HookType } from '../common/enum/Hook';
3
+ export interface UpdateHookCommand {
4
+ hookId: string;
5
+ endpoint: string;
6
+ secret: string;
7
+ }
8
+ export declare class HookRepository {
9
+ private readonly Hook;
10
+ saveHook(hook: Hook): Promise<void>;
11
+ findHookById(hookId: string): Promise<Hook | undefined>;
12
+ removeHook(hookId: string): Promise<void>;
13
+ /**
14
+ * only endpoint and secret can be updated
15
+ */
16
+ updateHook(cmd: UpdateHookCommand): Promise<void>;
17
+ listHooksByOwnerId(ownerId: string): Promise<Hook[]>;
18
+ listHooksByTypeAndName(type: HookType, name: string, since?: bigint): Promise<Array<Hook>>;
19
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.HookRepository = void 0;
10
+ const tegg_1 = require("@eggjs/tegg");
11
+ const Hook_1 = require("../core/entity/Hook");
12
+ const ModelConvertor_1 = require("./util/ModelConvertor");
13
+ let HookRepository = class HookRepository {
14
+ async saveHook(hook) {
15
+ if (hook.id) {
16
+ const model = await this.Hook.findOne({ id: hook.id });
17
+ if (!model)
18
+ return;
19
+ await ModelConvertor_1.ModelConvertor.saveEntityToModel(hook, model);
20
+ }
21
+ else {
22
+ await ModelConvertor_1.ModelConvertor.convertEntityToModel(hook, this.Hook);
23
+ }
24
+ }
25
+ async findHookById(hookId) {
26
+ const model = await this.Hook.findOne({ hookId });
27
+ if (!model)
28
+ return;
29
+ return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Hook_1.Hook);
30
+ }
31
+ async removeHook(hookId) {
32
+ await this.Hook.remove({ hookId });
33
+ }
34
+ /**
35
+ * only endpoint and secret can be updated
36
+ */
37
+ async updateHook(cmd) {
38
+ this.Hook.update({
39
+ hookId: cmd.hookId,
40
+ }, {
41
+ endpoint: cmd.endpoint,
42
+ secret: cmd.secret,
43
+ });
44
+ }
45
+ async listHooksByOwnerId(ownerId) {
46
+ const hookRows = await this.Hook.find({ ownerId });
47
+ return hookRows.map(row => ModelConvertor_1.ModelConvertor.convertModelToEntity(row, Hook_1.Hook));
48
+ }
49
+ async listHooksByTypeAndName(type, name, since) {
50
+ let hookRows;
51
+ if (typeof since !== 'undefined') {
52
+ hookRows = await this.Hook.find({ type, name, id: { $gt: since } }).limit(100);
53
+ }
54
+ else {
55
+ hookRows = await this.Hook.find({ type, name }).limit(100);
56
+ }
57
+ return hookRows.map(row => ModelConvertor_1.ModelConvertor.convertModelToEntity(row, Hook_1.Hook));
58
+ }
59
+ };
60
+ __decorate([
61
+ (0, tegg_1.Inject)()
62
+ ], HookRepository.prototype, "Hook", void 0);
63
+ HookRepository = __decorate([
64
+ (0, tegg_1.ContextProto)({
65
+ accessLevel: tegg_1.AccessLevel.PUBLIC,
66
+ })
67
+ ], HookRepository);
68
+ exports.HookRepository = HookRepository;
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9va1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9Ib29rUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsOENBQTJDO0FBRTNDLDBEQUF1RDtBQVl2RCxJQUFhLGNBQWMsR0FBM0IsTUFBYSxjQUFjO0lBSXpCLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBVTtRQUN2QixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFDbkIsTUFBTSwrQkFBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsTUFBTSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFjO1FBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTztRQUNuQixPQUFPLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLFdBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQWM7UUFDN0IsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFzQjtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtTQUNuQixFQUFFO1lBQ0QsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRO1lBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTTtTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQWU7UUFDdEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbkQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsV0FBSSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsS0FBSyxDQUFDLHNCQUFzQixDQUFDLElBQWMsRUFBRSxJQUFZLEVBQUUsS0FBYztRQUN2RSxJQUFJLFFBQTBCLENBQUM7UUFDL0IsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLEVBQUU7WUFDaEMsUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2hGO2FBQU07WUFDTCxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM1RDtRQUNELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLFdBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztDQUNGLENBQUE7QUFoREM7SUFEQyxJQUFBLGFBQU0sR0FBRTs0Q0FDK0I7QUFGN0IsY0FBYztJQUgxQixJQUFBLG1CQUFZLEVBQUM7UUFDWixXQUFXLEVBQUUsa0JBQVcsQ0FBQyxNQUFNO0tBQ2hDLENBQUM7R0FDVyxjQUFjLENBa0QxQjtBQWxEWSx3Q0FBYyJ9
@@ -0,0 +1,12 @@
1
+ import { Registry, Registry as RegistryEntity } from '../core/entity/Registry';
2
+ import { AbstractRepository } from './AbstractRepository';
3
+ import type { Registry as RegistryModel } from './model/Registry';
4
+ import { PageOptions, PageResult } from '../core/util/EntityUtil';
5
+ export declare class RegistryRepository extends AbstractRepository {
6
+ private readonly Registry;
7
+ listRegistries(page: PageOptions): Promise<PageResult<Registry>>;
8
+ findRegistry(name?: string): Promise<RegistryEntity | null>;
9
+ findRegistryByRegistryId(registryId: string): Promise<RegistryEntity | null>;
10
+ saveRegistry(registry: Registry): Promise<RegistryModel | undefined>;
11
+ removeRegistry(registryId: string): Promise<void>;
12
+ }
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RegistryRepository = void 0;
10
+ const tegg_1 = require("@eggjs/tegg");
11
+ const ModelConvertor_1 = require("./util/ModelConvertor");
12
+ const Registry_1 = require("../core/entity/Registry");
13
+ const AbstractRepository_1 = require("./AbstractRepository");
14
+ const EntityUtil_1 = require("../core/util/EntityUtil");
15
+ let RegistryRepository = class RegistryRepository extends AbstractRepository_1.AbstractRepository {
16
+ async listRegistries(page) {
17
+ const { offset, limit } = EntityUtil_1.EntityUtil.convertPageOptionsToLimitOption(page);
18
+ const count = await this.Registry.find().count();
19
+ const models = await this.Registry.find().offset(offset).limit(limit);
20
+ return {
21
+ count,
22
+ data: models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Registry_1.Registry)),
23
+ };
24
+ }
25
+ async findRegistry(name) {
26
+ const model = await this.Registry.findOne({ name });
27
+ if (model) {
28
+ return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Registry_1.Registry);
29
+ }
30
+ return null;
31
+ }
32
+ async findRegistryByRegistryId(registryId) {
33
+ const model = await this.Registry.findOne({ registryId });
34
+ if (model) {
35
+ return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Registry_1.Registry);
36
+ }
37
+ return null;
38
+ }
39
+ async saveRegistry(registry) {
40
+ if (registry.id) {
41
+ const model = await this.Registry.findOne({ id: registry.id });
42
+ if (!model)
43
+ return;
44
+ await ModelConvertor_1.ModelConvertor.saveEntityToModel(registry, model);
45
+ return model;
46
+ }
47
+ const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(registry, this.Registry);
48
+ this.logger.info('[RegistryRepository:saveRegistry:new] id: %s, registryId: %s', model.id, model.registryId);
49
+ return model;
50
+ }
51
+ async removeRegistry(registryId) {
52
+ await this.Registry.remove({ registryId });
53
+ }
54
+ };
55
+ __decorate([
56
+ (0, tegg_1.Inject)()
57
+ ], RegistryRepository.prototype, "Registry", void 0);
58
+ RegistryRepository = __decorate([
59
+ (0, tegg_1.ContextProto)({
60
+ accessLevel: tegg_1.AccessLevel.PUBLIC,
61
+ })
62
+ ], RegistryRepository);
63
+ exports.RegistryRepository = RegistryRepository;
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaXN0cnlSZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL3JlcG9zaXRvcnkvUmVnaXN0cnlSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHNDQUFnRTtBQUNoRSwwREFBdUQ7QUFDdkQsc0RBQStFO0FBQy9FLDZEQUEwRDtBQUUxRCx3REFBOEU7QUFLOUUsSUFBYSxrQkFBa0IsR0FBL0IsTUFBYSxrQkFBbUIsU0FBUSx1Q0FBa0I7SUFJeEQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFpQjtRQUNwQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLHVCQUFVLENBQUMsK0JBQStCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0UsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLE9BQU87WUFDTCxLQUFLO1lBQ0wsSUFBSSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQywrQkFBYyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxtQkFBYyxDQUFDLENBQUM7U0FDdEYsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQWE7UUFDOUIsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDcEQsSUFBSSxLQUFLLEVBQUU7WUFDVCxPQUFPLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLG1CQUFjLENBQUMsQ0FBQztTQUNuRTtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQjtRQUMvQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssRUFBRTtZQUNULE9BQU8sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsbUJBQWMsQ0FBQyxDQUFDO1NBQ25FO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFrQjtRQUNuQyxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDZixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFDbkIsTUFBTSwrQkFBYyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN4RCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxLQUFLLEdBQUcsTUFBTSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsOERBQThELEVBQzdFLEtBQUssQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBRWYsQ0FBQztJQUVELEtBQUssQ0FBQyxjQUFjLENBQUMsVUFBa0I7UUFDckMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUVGLENBQUE7QUE5Q0M7SUFEQyxJQUFBLGFBQU0sR0FBRTtvREFDdUM7QUFGckMsa0JBQWtCO0lBSDlCLElBQUEsbUJBQVksRUFBQztRQUNaLFdBQVcsRUFBRSxrQkFBVyxDQUFDLE1BQU07S0FDaEMsQ0FBQztHQUNXLGtCQUFrQixDQWdEOUI7QUFoRFksZ0RBQWtCIn0=
@@ -0,0 +1,14 @@
1
+ import { AbstractRepository } from './AbstractRepository';
2
+ import { Scope as ScopeModel } from './model/Scope';
3
+ import { Scope } from '../core/entity/Scope';
4
+ import { PageOptions, PageResult } from '../core/util/EntityUtil';
5
+ export declare class ScopeRepository extends AbstractRepository {
6
+ private readonly Scope;
7
+ countByRegistryId(registryId: string): Promise<number>;
8
+ findByName(name: string): Promise<Scope | null>;
9
+ listScopesByRegistryId(registryId: string, page: PageOptions): Promise<PageResult<Scope>>;
10
+ listScopes(page: PageOptions): Promise<PageResult<Scope>>;
11
+ saveScope(scope: Scope): Promise<ScopeModel | undefined>;
12
+ removeScope(scopeId: string): Promise<void>;
13
+ removeScopeByRegistryId(registryId: string): Promise<void>;
14
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ScopeRepository = void 0;
10
+ const tegg_1 = require("@eggjs/tegg");
11
+ const ModelConvertor_1 = require("./util/ModelConvertor");
12
+ const AbstractRepository_1 = require("./AbstractRepository");
13
+ const Scope_1 = require("../core/entity/Scope");
14
+ const EntityUtil_1 = require("../core/util/EntityUtil");
15
+ let ScopeRepository = class ScopeRepository extends AbstractRepository_1.AbstractRepository {
16
+ async countByRegistryId(registryId) {
17
+ return await this.Scope.find({ registryId }).count();
18
+ }
19
+ async findByName(name) {
20
+ const model = await this.Scope.findOne({ name });
21
+ if (!model) {
22
+ return null;
23
+ }
24
+ return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Scope_1.Scope);
25
+ }
26
+ async listScopesByRegistryId(registryId, page) {
27
+ const { offset, limit } = EntityUtil_1.EntityUtil.convertPageOptionsToLimitOption(page);
28
+ const count = await this.Scope.find({ registryId }).count();
29
+ const models = await this.Scope.find({ registryId }).offset(offset).limit(limit);
30
+ return {
31
+ count,
32
+ data: models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Scope_1.Scope)),
33
+ };
34
+ }
35
+ async listScopes(page) {
36
+ const { offset, limit } = EntityUtil_1.EntityUtil.convertPageOptionsToLimitOption(page);
37
+ const count = await this.Scope.find().count();
38
+ const models = await this.Scope.find().offset(offset).limit(limit);
39
+ return {
40
+ count,
41
+ data: models.map(model => ModelConvertor_1.ModelConvertor.convertModelToEntity(model, Scope_1.Scope)),
42
+ };
43
+ }
44
+ async saveScope(scope) {
45
+ if (scope.id) {
46
+ const model = await this.Scope.findOne({ id: scope.id });
47
+ if (!model)
48
+ return;
49
+ await ModelConvertor_1.ModelConvertor.saveEntityToModel(scope, model);
50
+ return model;
51
+ }
52
+ const model = await ModelConvertor_1.ModelConvertor.convertEntityToModel(scope, this.Scope);
53
+ this.logger.info('[ScopeRepository:saveScope:new] id: %s, scopeId: %s', model.id, model.scopeId);
54
+ await model.save();
55
+ return model;
56
+ }
57
+ async removeScope(scopeId) {
58
+ await this.Scope.remove({ scopeId });
59
+ }
60
+ async removeScopeByRegistryId(registryId) {
61
+ await this.Scope.remove({ registryId });
62
+ }
63
+ };
64
+ __decorate([
65
+ (0, tegg_1.Inject)()
66
+ ], ScopeRepository.prototype, "Scope", void 0);
67
+ ScopeRepository = __decorate([
68
+ (0, tegg_1.ContextProto)({
69
+ accessLevel: tegg_1.AccessLevel.PUBLIC,
70
+ })
71
+ ], ScopeRepository);
72
+ exports.ScopeRepository = ScopeRepository;
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NvcGVSZXBvc2l0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBwL3JlcG9zaXRvcnkvU2NvcGVSZXBvc2l0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLHNDQUFnRTtBQUNoRSwwREFBdUQ7QUFDdkQsNkRBQTBEO0FBRTFELGdEQUE2QztBQUM3Qyx3REFBOEU7QUFLOUUsSUFBYSxlQUFlLEdBQTVCLE1BQWEsZUFBZ0IsU0FBUSx1Q0FBa0I7SUFJckQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQWtCO1FBQ3hDLE9BQU8sTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUNELEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBWTtRQUMzQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsYUFBSyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxVQUFrQixFQUFFLElBQWlCO1FBQ2hFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsdUJBQVUsQ0FBQywrQkFBK0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRSxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1RCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFB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
@@ -6,7 +6,9 @@ export declare class TaskRepository extends AbstractRepository {
6
6
  private readonly HistoryTask;
7
7
  saveTask(task: TaskEntity): Promise<void>;
8
8
  saveTaskToHistory(task: TaskEntity): Promise<void>;
9
- findTask(taskId: string): Promise<TaskEntity | null>;
10
- findTaskByTargetName(targetName: string, type: TaskType, state?: TaskState): Promise<TaskEntity | null>;
11
- findTimeoutTasks(taskState: TaskState, timeout: number): Promise<TaskEntity[]>;
9
+ findTask(taskId: string): Promise<TaskEntity<import("../core/entity/Task").TaskBaseData> | null>;
10
+ findTaskByBizId(bizId: string): Promise<TaskEntity<import("../core/entity/Task").TaskBaseData> | null>;
11
+ findTasks(taskIds: Array<string>): Promise<Array<TaskEntity>>;
12
+ findTaskByTargetName(targetName: string, type: TaskType, state?: TaskState): Promise<TaskEntity<import("../core/entity/Task").TaskBaseData> | null>;
13
+ findTimeoutTasks(taskState: TaskState, timeout: number): Promise<TaskEntity<import("../core/entity/Task").TaskBaseData>[]>;
12
14
  }
@@ -20,7 +20,26 @@ let TaskRepository = class TaskRepository extends AbstractRepository_1.AbstractR
20
20
  await ModelConvertor_1.ModelConvertor.saveEntityToModel(task, model);
21
21
  }
22
22
  else {
23
- await ModelConvertor_1.ModelConvertor.convertEntityToModel(task, this.Task);
23
+ try {
24
+ await ModelConvertor_1.ModelConvertor.convertEntityToModel(task, this.Task);
25
+ }
26
+ catch (e) {
27
+ e.message = '[TaskRepository] insert Task failed: ' + e.message;
28
+ if (e.code === 'ER_DUP_ENTRY') {
29
+ this.logger.warn(e);
30
+ const taskModel = await this.Task.findOne({ bizId: task.bizId });
31
+ // 覆盖 bizId 相同的 id 和 taskId
32
+ if (taskModel) {
33
+ task.id = taskModel.id;
34
+ task.taskId = taskModel.taskId;
35
+ return;
36
+ }
37
+ // taskModel 可能不存在,遇到数据错误
38
+ // 重新将错误抛出。
39
+ throw e;
40
+ }
41
+ throw e;
42
+ }
24
43
  }
25
44
  }
26
45
  async saveTaskToHistory(task) {
@@ -48,6 +67,17 @@ let TaskRepository = class TaskRepository extends AbstractRepository_1.AbstractR
48
67
  }
49
68
  return null;
50
69
  }
70
+ async findTaskByBizId(bizId) {
71
+ const task = await this.Task.findOne({ bizId });
72
+ if (task) {
73
+ return ModelConvertor_1.ModelConvertor.convertModelToEntity(task, Task_1.Task);
74
+ }
75
+ return null;
76
+ }
77
+ async findTasks(taskIds) {
78
+ const tasks = await this.HistoryTask.find({ taskId: { $in: taskIds } });
79
+ return tasks.map(task => ModelConvertor_1.ModelConvertor.convertModelToEntity(task, Task_1.Task));
80
+ }
51
81
  async findTaskByTargetName(targetName, type, state) {
52
82
  const where = { targetName, type };
53
83
  if (state) {
@@ -83,4 +113,4 @@ TaskRepository = __decorate([
83
113
  })
84
114
  ], TaskRepository);
85
115
  exports.TaskRepository = TaskRepository;
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9UYXNrUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsMERBQXVEO0FBR3ZELDhDQUF5RDtBQUN6RCw2REFBMEQ7QUFNMUQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBZSxTQUFRLHVDQUFrQjtJQU9wRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQWdCO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUNuQixNQUFNLCtCQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxNQUFNLCtCQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBZ0I7UUFDdEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFDbkIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN4RSxJQUFJLE9BQU8sRUFBRTtZQUNYLE1BQU0sK0JBQWMsQ0FBQyxpQkFB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
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFza1JlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9UYXNrUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsMERBQXVEO0FBR3ZELDhDQUF5RDtBQUN6RCw2REFBMEQ7QUFNMUQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBZSxTQUFRLHVDQUFrQjtJQU9wRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQWdCO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNYLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTztZQUNuQixNQUFNLCtCQUFjLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ3JEO2FBQU07WUFDTCxJQUFJO2dCQUNGLE1BQU0sK0JBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsQ0FBQyxDQUFDLE9BQU8sR0FBRyx1Q0FBdUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUNoRSxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO29CQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztvQkFDakUsMkJBQTJCO29CQUMzQixJQUFJLFNBQVMsRUFBRTt3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
@@ -6,6 +6,7 @@ export declare class UserRepository extends AbstractRepository {
6
6
  private readonly Token;
7
7
  saveUser(user: UserEntity): Promise<void>;
8
8
  findUserByName(name: string): Promise<UserEntity | null>;
9
+ findUserByUserId(userId: string): Promise<UserEntity | null>;
9
10
  findUserAndTokenByTokenKey(tokenKey: string): Promise<{
10
11
  token: TokenEntity;
11
12
  user: UserEntity;
@@ -31,6 +31,12 @@ let UserRepository = class UserRepository extends AbstractRepository_1.AbstractR
31
31
  return null;
32
32
  return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, User_1.User);
33
33
  }
34
+ async findUserByUserId(userId) {
35
+ const model = await this.User.findOne({ userId });
36
+ if (!model)
37
+ return null;
38
+ return ModelConvertor_1.ModelConvertor.convertModelToEntity(model, User_1.User);
39
+ }
34
40
  async findUserAndTokenByTokenKey(tokenKey) {
35
41
  const token = await this.findTokenByTokenKey(tokenKey);
36
42
  if (!token)
@@ -82,4 +88,4 @@ UserRepository = __decorate([
82
88
  })
83
89
  ], UserRepository);
84
90
  exports.UserRepository = UserRepository;
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlclJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9Vc2VyUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsMERBQXVEO0FBR3ZELDhDQUF5RDtBQUN6RCxnREFBNEQ7QUFDNUQsNkRBQTBEO0FBSzFELElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWUsU0FBUSx1Q0FBa0I7SUFPcEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFnQjtRQUM3QixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFDbkIsTUFBTSwrQkFBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsTUFBTSxLQUFLLEdBQUcsTUFBTSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0RBQWtELEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUY7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTywrQkFBYyxDQUFDLG9CQUFvQixDQUFDLEtBQUss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
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXNlclJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcHAvcmVwb3NpdG9yeS9Vc2VyUmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxzQ0FBZ0U7QUFDaEUsMERBQXVEO0FBR3ZELDhDQUF5RDtBQUN6RCxnREFBNEQ7QUFDNUQsNkRBQTBEO0FBSzFELElBQWEsY0FBYyxHQUEzQixNQUFhLGNBQWUsU0FBUSx1Q0FBa0I7SUFPcEQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFnQjtRQUM3QixJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDWCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFDbkIsTUFBTSwrQkFBYyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsTUFBTSxLQUFLLEdBQUcsTUFBTSwrQkFBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0RBQWtELEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDOUY7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFZO1FBQy9CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDeEIsT0FBTywrQkFBYyxDQUFDLG9CQUFvQixDQUFDLEtBQUss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