@adminide-stack/marketplace-module-server 5.0.1-alpha.0 → 5.0.1-alpha.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/lib/constants/index.d.ts +1 -0
- package/lib/constants/index.d.ts.map +1 -0
- package/lib/constants/types.d.ts +1 -0
- package/lib/constants/types.d.ts.map +1 -0
- package/lib/constants/types.js +5 -0
- package/lib/containers/index.d.ts +1 -0
- package/lib/containers/index.d.ts.map +1 -0
- package/lib/containers/module.d.ts +1 -0
- package/lib/containers/module.d.ts.map +1 -0
- package/lib/containers/module.js +13 -0
- package/lib/graphql/resolvers/index.d.ts +1 -0
- package/lib/graphql/resolvers/index.d.ts.map +1 -0
- package/lib/graphql/resolvers/resolvers.d.ts +1 -0
- package/lib/graphql/resolvers/resolvers.d.ts.map +1 -0
- package/lib/graphql/resolvers/resolvers.js +140 -0
- package/lib/graphql/schemas/index.d.ts +1 -0
- package/lib/graphql/schemas/index.d.ts.map +1 -0
- package/lib/graphql/schemas/schema.graphql.js +2 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +1 -935
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/index.d.ts.map +1 -0
- package/lib/interfaces/registry-extension-repository.d.ts +1 -0
- package/lib/interfaces/registry-extension-repository.d.ts.map +1 -0
- package/lib/interfaces/registry-extension-service.d.ts +1 -0
- package/lib/interfaces/registry-extension-service.d.ts.map +1 -0
- package/lib/middleware/extension-middleware.d.ts +21 -0
- package/lib/middleware/extension-middleware.d.ts.map +1 -0
- package/lib/model.d.ts +981 -0
- package/lib/model.d.ts.map +1 -0
- package/lib/module.d.ts +1 -0
- package/lib/module.d.ts.map +1 -0
- package/lib/module.js +26 -0
- package/lib/services/extension-service.d.ts +1 -0
- package/lib/services/extension-service.d.ts.map +1 -0
- package/lib/services/extension-service.js +36 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/index.d.ts.map +1 -0
- package/lib/store/index.d.ts +1 -0
- package/lib/store/index.d.ts.map +1 -0
- package/lib/store/models/index.d.ts +1 -0
- package/lib/store/models/index.d.ts.map +1 -0
- package/lib/store/models/registry-extension-model.d.ts +1 -0
- package/lib/store/models/registry-extension-model.d.ts.map +1 -0
- package/lib/store/models/registry-extension-model.js +35 -0
- package/lib/store/repository/index.d.ts +1 -0
- package/lib/store/repository/index.d.ts.map +1 -0
- package/lib/store/repository/registry-extension-repository.d.ts +1 -0
- package/lib/store/repository/registry-extension-repository.d.ts.map +1 -0
- package/lib/store/repository/registry-extension-repository.js +99 -0
- package/package.json +6 -5
- package/lib/index.js.map +0 -1
package/lib/index.js
CHANGED
@@ -1,935 +1 @@
|
|
1
|
-
|
2
|
-
/******/ "use strict";
|
3
|
-
/******/ var __webpack_modules__ = ({
|
4
|
-
|
5
|
-
/***/ "./src/graphql/schemas/schema.graphql":
|
6
|
-
/*!********************************************!*\
|
7
|
-
!*** ./src/graphql/schemas/schema.graphql ***!
|
8
|
-
\********************************************/
|
9
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
10
|
-
|
11
|
-
__webpack_require__.r(__webpack_exports__);
|
12
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
13
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
|
14
|
-
/* harmony export */ });
|
15
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("\n\n\"\"\" A publisher of a registry extension.\"\"\"\n# TODO: union RegistryPublisher = User | String\ntype RegistryPublisher {\n UserId: String\n}\n\n\n\"\"\" A list of publishers of extensions in the registry.\"\"\"\ntype RegistryPublisherConnection {\n \"\"\" A list of publishers.\"\"\"\n nodes: [RegistryPublisher!]!\n \"\"\" \n The total count of publishers in the connection. This total count may be larger than the number of\n nodes in the object when result is paginated.\n \"\"\"\n totalCount: Int!\n \"\"\" Pagination information.\"\"\"\n pageInfo: PageInfo!\n}\n\n\"\"\" The result of Mutation.extensionRegistry.createExtension.\"\"\"\ntype ExtensionRegistryCreateExtensionResult {\n \"\"\" The newly created extension.\"\"\"\n extension: RegistryExtension!\n}\n\n\"\"\" The result of Mutation.extensionRegistry.updateExtension.\"\"\"\ntype ExtensionRegistryUpdateExtensionResult {\n \"\"\" The newly updated extension.\"\"\"\n extension: RegistryExtension!\n}\n\n\"\"\" The result of Mutation.extensionRegistry.publishExtension.\"\"\"\ntype ExtensionRegistryPublishExtensionResult {\n \"\"\" The extension that was just published.\"\"\"\n extension: RegistryExtension!\n}\n\n\"\"\" An extenion's listing in the extension registry.\"\"\"\ntype RegistryExtension implements Node {\n \"\"\" The unique, opaque, permanent ID of the extension. Do not display this ID to the user; display\n RegistryExtension.extensionID instead (it is friendlier and still unique, but it can be renamed).\"\"\"\n id: ID!\n \"\"\" \n The UUID of the extension. This identifies the extension externally (along with the origin). The UUID maps\n 1-t0-1 to RegistryExtension.id.\n \"\"\"\n uuid: String!\n \"\"\" The publisher of the extension. If this extension is from a remote registry, the publisher may be null.\"\"\"\n publisher: RegistryPublisher\n \"\"\" The qualified, unique name that refers to this extension, consisting of the registry name (if non-default),\n publisher's name, and the extension's name, all joined by \"/\" (for example, \"cdecode/my-extension-name\").\"\"\"\n extensionID: String\n \"\"\" The extension ID without the registry name.\"\"\"\n extensionIDWithoutRegistry: String\n \"\"\" The name of the extension (not including the publisher's name).\"\"\"\n name: String!\n \"\"\" Latest Published version \"\"\"\n version: String\n\n # DEPRECATED use the one under Manifest\n activationEvents: [String]\n\n \"\"\" The extension manifest, or null if none is set.\"\"\"\n manifest: ExtensionManifest\n \"\"\" The date when this extension was last updated on the registry.\"\"\"\n updatedAt: String\n \"\"\" The URL to the extension on this CDECode site.\"\"\"\n url: String\n \"\"\" The URL to the extension on the extension registry where it lives (if this is a remote\n extension). If this extension is local, then this field's value is null.\"\"\"\n remoteURL: String\n \"\"\" Whether the registry extension is published on this CDECode site.\"\"\"\n isLocal: Boolean\n \"\"\" Whether the viewer has admin privileges on this registry extension.\"\"\"\n viewerCanAdminister: Boolean\n \"\"\" Extension Releases \"\"\"\n releases: [ExtensionRelease]\n}\n\n\"\"\" A list of registry extensions.\"\"\"\ntype RegistryExtensionConnection {\n \"\"\" A list of registry extensions.\"\"\"\n nodes: [RegistryExtension!]!\n \"\"\" \n The total count of registry extensions in the connection. This total cound may be larger than the number of\n nodes in this object when the result is paginated.\n \"\"\"\n totalCount: Int!\n \"\"\" Pagination information \"\"\"\n pageInfo: PageInfo!\n \"\"\" location of the extension path for example: /extensions/<extension_user>/<extension_name> \"\"\"\n url: String\n \"\"\" \n Errors that occured while communicating with remote registries to obtain the list of extensions.\n \n In order to be able to return local extensions even when the remote registry is unreachable, errors are\n recorded here instead of in the top-level GraphQL errors list.\n \"\"\"\n error: String\n}\n\n# An extension registry.\ntype ExtensionRegistry {\n \"\"\" To find an extension by its GraphQL ID, use Query.node \"\"\"\n extension(extensionID: String!): RegistryExtension\n \"\"\" \n Find an extension by its extension ID (which is the concatenation of the publisher naem, a slash (\"/\"), and the extension name).\n \n To find an extension by its GraphQL ID, use Query.node\n extension(extensionID: String!): RegistryExtension\n A list of extensions published in the extension registry. \n \"\"\"\n extensions(\n \"\"\" Returns the first n extensions from the list.\"\"\"\n first: Int\n \"\"\" Returns only extensions from this publisher. \"\"\"\n publisher: ID\n \"\"\"\n Returns only extensions matching the query.\n\n The following keywords are supported:\n\n - category:\"C\" - includes only extensions in the given category.\n - tag:\"T\" - includes only extensions in the given tag.\n\n The following keywords are ignored by the server (so that the frontend can psot-process the result set to\n implement the keywords):\n\n - #installed - include only installed extensions.\n - #enabled - include only enabled extensions.\n - #disabled - include only disabled extensions.\n \"\"\"\n query: String\n \"\"\" Include extensions from the local-registry. \"\"\"\n local: Boolean = true\n \"\"\" Include extensions from remote registries. \"\"\"\n remote: Boolean = true\n \"\"\" \n Sorts the list of extensions results such that the extensions with these IDs are first in the result set.\n \n Typically, the client passes the list of added and enabled extension IDs in this parameter so that the\n results include those extensions first (which is typically what the user prefers).\n \"\"\"\n prioritizeExtensionIDs: [String!]\n \"\"\" Include WIP (work-in-progress) extensions. \"\"\" \n includeWIP: Boolean = true\n ): RegistryExtensionConnection!\n \"\"\" List of extension releases \"\"\"\n releases(extensionID: String!): [ExtensionRelease]\n \"\"\" A list of publishers with at least 1 extension in the registry. \"\"\"\n publishers(\n \"\"\" Return the first n publishers from the list. \"\"\"\n first: Int\n ): RegistryPublisherConnection!\n \"\"\" A list of publishers that the viewer may publish extensions as. \"\"\"\n viewerPublishers: [RegistryPublisher!]!\n \"\"\" \n The extension ID prefix for extensions that are published in the local extension registry. This is the\n hostname ( and port, if non-default HTTP/HTTPS) of the CDEBase \"appURL\" site configuration property.\n \n It is null if extensions published on this CDEBase site do not have an extension ID prefix.\n \n Examples: \"cdebase.example.com/\", \"cdebase.example.com:1234/\" \n \"\"\"\n localExtensionIDPrefix: String \n}\n\n\"\"\" A CDECode product documentation page.\"\"\"\ntype DocSitePage {\n \"\"\" The title of this page.\"\"\"\n title: String!\n \"\"\" The content, as Markdown-rendered HTML.\"\"\"\n contentHTML: String!\n \"\"\" The page index, as rendered HTML.\"\"\"\n indexHTML: String!\n \"\"\" The filename of the file containing this page's content.\"\"\"\n filePath: String!\n}\n\ntype ExtensionRelease {\n id: ID\n bundle: String\n bundleURL: String\n version: String\n manifest: String!\n sourceMap: String\n extensionID: String\n creatorUserId: String\n releaseVersion: String\n activationEvents: [String]\n}\n\nextend type Mutation {\n \"\"\" Create a new extension in the extension registry.\"\"\"\n createExtension(\n \"\"\" The ID of the extension's publisher (a user or organization).\"\"\"\n publisher: ID!\n \"\"\" The name of the extension.\"\"\"\n name: String!\n ): RegistryExtension!\n \"\"\"\n Update an extension in the extension registry.\n \n Only authorized extension publishers may perform this mutation.\n \"\"\"\n updateExtension(\n \"\"\" The extension to update.\"\"\"\n extension: ID!\n \"\"\" The new name of the extension, or null or leave unchanged.\"\"\"\n name: String\n ): RegistryExtension!\n \"\"\"\n Delete an extension from the extension registry.\n \n Only authorized extension publishers may perform this mutation.\n \"\"\"\n deleteExtension(\n \"\"\" The ID of the extension to delete.\"\"\"\n extension: ID!\n ): EmptyResponse!\n \"\"\"\n Publish an extension in the extension registry, creating it (if it doesn't yet exist) or updating it (if it \n does).\n \n This is a helper that wraps multiple other GraphQL mutations to expose a single API for publishing an\n extension.\n \"\"\"\n publishExtension(\n \"\"\" \n The extension ID of the extension to publish. If a host prefix (ex., \"cdebase.example.com/\") is\n needed and it is not included, it is automatically prepended.\n \n Examples: \"alice/myextension\", \"acmecorp/myextension\" \n \"\"\"\n name: String\n \"\"\" The extension version \"\"\"\n version: String\n extensionID: String!\n \"\"\" The extension manifest (as JSON).\"\"\"\n manifest: String!\n \"\"\" The bundled JavaScript source of the extension.\"\"\"\n bundle: String\n \"\"\" \n The source map of the extension's JavaScript bundle, if any\n The JavaScript bunle's \"//#sourceMappingURL=\" directive, if any, is ignored. When the bundle is served,\n the source map provided here is referenced instead.\n \"\"\"\n sourceMap: String\n \"\"\" Force publish even if there are warnings (such as invalid JSON warnings).\"\"\"\n force: Boolean = false\n ): ExtensionRegistryPublishExtensionResult!\n}\n\n\n\nextend type Query {\n ############## DEPRECATED: use ExtensionRegistry ######################\n # Find an extension by its extension ID (which is the concatenation of the publisher naem, a slash (\"/\"), and the extension name).\n #\n # To find an extension by its GraphQL ID, use Query.node\n extension(extensionID: String!): RegistryExtension\n # A list of extensions published in the extension registry.\n extensions(\n # Returns the first n extensions from the list.\n first: Int\n # Returns only extensions from this publisher.\n query: String\n # Include extensions from the local-registry.\n local: Boolean = true\n # Include extensions from remote registries.\n remote: Boolean = true\n # Sorts the list of extensions results such that the extensions with these IDs are first in the result set.\n #\n # Typically, the client passes the list of added and enabled extension IDs in this parameter so that the\n # results include those extensions first (which is typically what the user prefers).\n prioritizeExtensionIDs: [String!]\n # Include WIP (work-in-progress) extensions.\n includeWIP: Boolean = true\n ): RegistryExtensionConnection!\n # List of extension releases\n releases(extensionID: String!): [ExtensionRelease]\n #################### DEPRECATED CODE END ##############################\n \"\"\" The extension registry. \"\"\"\n extensionRegistry: ExtensionRegistry!\n\n\n\n \"\"\" \n The CDECode documentation page for the given path, used to serve the content for help\n pages under the URL path /help on the CDECode instance. If no page exists at the path,\n null is returned. \n \"\"\"\n docSitePage(path: String!): DocSitePage\n}");
|
16
|
-
|
17
|
-
/***/ }),
|
18
|
-
|
19
|
-
/***/ "./src/constants/index.ts":
|
20
|
-
/*!********************************!*\
|
21
|
-
!*** ./src/constants/index.ts ***!
|
22
|
-
\********************************/
|
23
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
24
|
-
|
25
|
-
|
26
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
27
|
-
if (k2 === undefined) k2 = k;
|
28
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
29
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
30
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
31
|
-
}
|
32
|
-
Object.defineProperty(o, k2, desc);
|
33
|
-
}) : (function(o, m, k, k2) {
|
34
|
-
if (k2 === undefined) k2 = k;
|
35
|
-
o[k2] = m[k];
|
36
|
-
}));
|
37
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
38
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
39
|
-
};
|
40
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
41
|
-
__exportStar(__webpack_require__(/*! ./types */ "./src/constants/types.ts"), exports);
|
42
|
-
|
43
|
-
|
44
|
-
/***/ }),
|
45
|
-
|
46
|
-
/***/ "./src/constants/types.ts":
|
47
|
-
/*!********************************!*\
|
48
|
-
!*** ./src/constants/types.ts ***!
|
49
|
-
\********************************/
|
50
|
-
/***/ ((__unused_webpack_module, exports) => {
|
51
|
-
|
52
|
-
|
53
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
54
|
-
exports.TYPES = void 0;
|
55
|
-
exports.TYPES = {
|
56
|
-
IExtensionMongoConnection: Symbol('ExtensionMongoConnection'),
|
57
|
-
IRegistryExtensionService: Symbol('IRegistryExtensionService'),
|
58
|
-
IRegistryExtensionRepository: Symbol('IRegistryExtensionRepository'),
|
59
|
-
};
|
60
|
-
|
61
|
-
|
62
|
-
/***/ }),
|
63
|
-
|
64
|
-
/***/ "./src/containers/index.ts":
|
65
|
-
/*!*********************************!*\
|
66
|
-
!*** ./src/containers/index.ts ***!
|
67
|
-
\*********************************/
|
68
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
69
|
-
|
70
|
-
|
71
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
72
|
-
if (k2 === undefined) k2 = k;
|
73
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
74
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
75
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
76
|
-
}
|
77
|
-
Object.defineProperty(o, k2, desc);
|
78
|
-
}) : (function(o, m, k, k2) {
|
79
|
-
if (k2 === undefined) k2 = k;
|
80
|
-
o[k2] = m[k];
|
81
|
-
}));
|
82
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
83
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
84
|
-
};
|
85
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
86
|
-
__exportStar(__webpack_require__(/*! ./module */ "./src/containers/module.ts"), exports);
|
87
|
-
|
88
|
-
|
89
|
-
/***/ }),
|
90
|
-
|
91
|
-
/***/ "./src/containers/module.ts":
|
92
|
-
/*!**********************************!*\
|
93
|
-
!*** ./src/containers/module.ts ***!
|
94
|
-
\**********************************/
|
95
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
96
|
-
|
97
|
-
|
98
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
99
|
-
exports.extensionModule = void 0;
|
100
|
-
const inversify_1 = __webpack_require__(/*! inversify */ "inversify");
|
101
|
-
const constants_1 = __webpack_require__(/*! ../constants */ "./src/constants/index.ts");
|
102
|
-
const services_1 = __webpack_require__(/*! ../services */ "./src/services/index.ts");
|
103
|
-
const store_1 = __webpack_require__(/*! ../store */ "./src/store/index.ts");
|
104
|
-
const extensionModule = (settings) => new inversify_1.ContainerModule((bind) => {
|
105
|
-
bind(constants_1.TYPES.IExtensionMongoConnection).toConstantValue(settings.mongoConnection);
|
106
|
-
// Extension Service
|
107
|
-
bind(constants_1.TYPES.IRegistryExtensionService)
|
108
|
-
.to(services_1.RegistryExtensionService)
|
109
|
-
.inSingletonScope()
|
110
|
-
.whenTargetIsDefault();
|
111
|
-
// Extension Repository
|
112
|
-
bind(constants_1.TYPES.IRegistryExtensionRepository)
|
113
|
-
.to(store_1.RegistryExtensionRepository)
|
114
|
-
.inSingletonScope()
|
115
|
-
.whenTargetIsDefault();
|
116
|
-
});
|
117
|
-
exports.extensionModule = extensionModule;
|
118
|
-
|
119
|
-
|
120
|
-
/***/ }),
|
121
|
-
|
122
|
-
/***/ "./src/graphql/resolvers/index.ts":
|
123
|
-
/*!****************************************!*\
|
124
|
-
!*** ./src/graphql/resolvers/index.ts ***!
|
125
|
-
\****************************************/
|
126
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
127
|
-
|
128
|
-
|
129
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
130
|
-
if (k2 === undefined) k2 = k;
|
131
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
132
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
133
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
134
|
-
}
|
135
|
-
Object.defineProperty(o, k2, desc);
|
136
|
-
}) : (function(o, m, k, k2) {
|
137
|
-
if (k2 === undefined) k2 = k;
|
138
|
-
o[k2] = m[k];
|
139
|
-
}));
|
140
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
141
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
142
|
-
};
|
143
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
144
|
-
__exportStar(__webpack_require__(/*! ./resolvers */ "./src/graphql/resolvers/resolvers.ts"), exports);
|
145
|
-
|
146
|
-
|
147
|
-
/***/ }),
|
148
|
-
|
149
|
-
/***/ "./src/graphql/resolvers/resolvers.ts":
|
150
|
-
/*!********************************************!*\
|
151
|
-
!*** ./src/graphql/resolvers/resolvers.ts ***!
|
152
|
-
\********************************************/
|
153
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
154
|
-
|
155
|
-
|
156
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
157
|
-
exports.resolver = void 0;
|
158
|
-
const url = __webpack_require__(/*! url */ "url");
|
159
|
-
const bundleUrlGenerator = (extensionID, version) => url.resolve(process.env.BACKEND_URL, `_registry/${extensionID}/${version}`);
|
160
|
-
const resolver = (pubsub, logger) => ({
|
161
|
-
Contributes: {
|
162
|
-
menus: (root) => {
|
163
|
-
let result;
|
164
|
-
// const manifest = JSON.parse(root.manifest);
|
165
|
-
// console.log('manifest======>', manifest);
|
166
|
-
const menus = root.menus;
|
167
|
-
console.log('menus=========>', menus);
|
168
|
-
try {
|
169
|
-
result = {
|
170
|
-
commandPalette: menus['commandPalette'] || [],
|
171
|
-
explorer: { context: menus['explorer/context'] || [] },
|
172
|
-
editor: {
|
173
|
-
context: menus['editor/context'] || [],
|
174
|
-
title: {
|
175
|
-
own: menus['editor/title'] || [],
|
176
|
-
context: menus['editor/title/context'] || [],
|
177
|
-
},
|
178
|
-
},
|
179
|
-
debug: {
|
180
|
-
callstack: {
|
181
|
-
context: menus['debug/callstack/context'] || [],
|
182
|
-
},
|
183
|
-
toolbar: menus['debug/toolbar'] || [],
|
184
|
-
},
|
185
|
-
scm: {
|
186
|
-
title: menus['scm/title'] || [],
|
187
|
-
resourceGroup: {
|
188
|
-
context: menus['scm/resourceGroup/context'] || [],
|
189
|
-
},
|
190
|
-
resource: {
|
191
|
-
context: menus['scm/resource/context'] || [],
|
192
|
-
},
|
193
|
-
change: {
|
194
|
-
title: menus['scm/change/title'] || [],
|
195
|
-
},
|
196
|
-
},
|
197
|
-
view: {
|
198
|
-
title: menus['view/title'] || [],
|
199
|
-
item: {
|
200
|
-
context: menus['view/item/context'] || [],
|
201
|
-
},
|
202
|
-
},
|
203
|
-
touchBar: menus['touchBar'] || [],
|
204
|
-
};
|
205
|
-
}
|
206
|
-
catch (err) {
|
207
|
-
console.log('err', err);
|
208
|
-
}
|
209
|
-
console.log('result====>', result, result.editor);
|
210
|
-
return result;
|
211
|
-
},
|
212
|
-
},
|
213
|
-
ExtensionRegistry: {
|
214
|
-
async extensions(root, args, ctx) {
|
215
|
-
logger && logger.debug('args [%j]', args);
|
216
|
-
const nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);
|
217
|
-
return { nodes };
|
218
|
-
},
|
219
|
-
async extension(root, args, ctx) {
|
220
|
-
return ctx.registryExtensionService.findExtension(args.extensionID);
|
221
|
-
},
|
222
|
-
async releases(root, args, ctx) {
|
223
|
-
return ctx.registryExtensionService.extensionReleases(args.extensionID);
|
224
|
-
},
|
225
|
-
async publishers(root, args, ctx) {
|
226
|
-
},
|
227
|
-
async viewerPublishers(root, args, ctx) {
|
228
|
-
},
|
229
|
-
async localExtensionIDPrefix(root, args, ctx) {
|
230
|
-
},
|
231
|
-
},
|
232
|
-
ExtensionRelease: {
|
233
|
-
bundleURL: (root) => bundleUrlGenerator(root.extensionID, root.version),
|
234
|
-
},
|
235
|
-
ExtensionManifest: {
|
236
|
-
bundleURL: ({ version, extensionID }) => bundleUrlGenerator(extensionID, version),
|
237
|
-
},
|
238
|
-
RegistryExtension: {
|
239
|
-
manifest: (root) => {
|
240
|
-
let result;
|
241
|
-
// console.log('root=================>', JSON.parse(root.manifest));
|
242
|
-
try {
|
243
|
-
result = Object.assign(Object.assign({}, JSON.parse(root.manifest)), { extensionID: root.extensionID, raw: root.manifest });
|
244
|
-
}
|
245
|
-
catch (err) {
|
246
|
-
}
|
247
|
-
return result;
|
248
|
-
},
|
249
|
-
url: (root) => bundleUrlGenerator(root.extensionID, root.version),
|
250
|
-
},
|
251
|
-
Query: {
|
252
|
-
// namespace for running all extension registry queries
|
253
|
-
extensionRegistry() {
|
254
|
-
return {};
|
255
|
-
},
|
256
|
-
/// DEPRECATED: Remove all fo the following resolvers as they moved to namespace ExtensionRegistry
|
257
|
-
async extensions(root, args, ctx) {
|
258
|
-
logger && logger.debug('args [%j]', args);
|
259
|
-
let nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);
|
260
|
-
// const res = { nodes: {...nodes, manifest: JSON.parse(nodes[0].manifest)} };
|
261
|
-
// console.log('nodes==>', nodes);
|
262
|
-
// nodes = nodes.map(el => {
|
263
|
-
// return {
|
264
|
-
// ...JSON.parse(JSON.stringify(el)),
|
265
|
-
// manifest: JSON.parse(el.manifest),
|
266
|
-
// };
|
267
|
-
// });
|
268
|
-
// console.log('nodes=======after>', nodes);
|
269
|
-
return { nodes };
|
270
|
-
},
|
271
|
-
async extension(root, args, ctx) {
|
272
|
-
return ctx.registryExtensionService.findExtension(args.extensionID);
|
273
|
-
},
|
274
|
-
async releases(root, args, ctx) {
|
275
|
-
return ctx.registryExtensionService.extensionReleases(args.extensionID);
|
276
|
-
},
|
277
|
-
},
|
278
|
-
Mutation: {
|
279
|
-
async createExtension(root, args, ctx) {
|
280
|
-
const extension = await ctx.registryExtensionService.createExtension(args.publisher, args.name);
|
281
|
-
return { extension };
|
282
|
-
},
|
283
|
-
updateExtension(root, args, ctx) {
|
284
|
-
return ctx.registryExtensionService.updateExtensionName(args.extension, args.name);
|
285
|
-
},
|
286
|
-
deleteExtension(root, args, ctx) {
|
287
|
-
return ctx.registryExtensionService.deleteExtension(args.extension);
|
288
|
-
},
|
289
|
-
async publishExtension(root, args, ctx) {
|
290
|
-
const extension = await ctx.registryExtensionService.publishExtension(Object.assign({}, args));
|
291
|
-
return { extension };
|
292
|
-
},
|
293
|
-
},
|
294
|
-
});
|
295
|
-
exports.resolver = resolver;
|
296
|
-
|
297
|
-
|
298
|
-
/***/ }),
|
299
|
-
|
300
|
-
/***/ "./src/graphql/schemas/index.ts":
|
301
|
-
/*!**************************************!*\
|
302
|
-
!*** ./src/graphql/schemas/index.ts ***!
|
303
|
-
\**************************************/
|
304
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
305
|
-
|
306
|
-
|
307
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
308
|
-
exports.schema = void 0;
|
309
|
-
const schema_graphql_1 = __webpack_require__(/*! ./schema.graphql */ "./src/graphql/schemas/schema.graphql");
|
310
|
-
exports.schema = schema_graphql_1.default;
|
311
|
-
|
312
|
-
|
313
|
-
/***/ }),
|
314
|
-
|
315
|
-
/***/ "./src/index.ts":
|
316
|
-
/*!**********************!*\
|
317
|
-
!*** ./src/index.ts ***!
|
318
|
-
\**********************/
|
319
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
320
|
-
|
321
|
-
|
322
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
323
|
-
if (k2 === undefined) k2 = k;
|
324
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
325
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
326
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
327
|
-
}
|
328
|
-
Object.defineProperty(o, k2, desc);
|
329
|
-
}) : (function(o, m, k, k2) {
|
330
|
-
if (k2 === undefined) k2 = k;
|
331
|
-
o[k2] = m[k];
|
332
|
-
}));
|
333
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
334
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
335
|
-
};
|
336
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
337
|
-
const server_core_1 = __webpack_require__(/*! @common-stack/server-core */ "@common-stack/server-core");
|
338
|
-
const module_1 = __webpack_require__(/*! ./module */ "./src/module.ts");
|
339
|
-
__exportStar(__webpack_require__(/*! ./interfaces */ "./src/interfaces/index.ts"), exports);
|
340
|
-
__exportStar(__webpack_require__(/*! ./constants */ "./src/constants/index.ts"), exports);
|
341
|
-
exports["default"] = new server_core_1.Feature(module_1.default);
|
342
|
-
|
343
|
-
|
344
|
-
/***/ }),
|
345
|
-
|
346
|
-
/***/ "./src/interfaces/index.ts":
|
347
|
-
/*!*********************************!*\
|
348
|
-
!*** ./src/interfaces/index.ts ***!
|
349
|
-
\*********************************/
|
350
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
351
|
-
|
352
|
-
|
353
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
354
|
-
if (k2 === undefined) k2 = k;
|
355
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
356
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
357
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
358
|
-
}
|
359
|
-
Object.defineProperty(o, k2, desc);
|
360
|
-
}) : (function(o, m, k, k2) {
|
361
|
-
if (k2 === undefined) k2 = k;
|
362
|
-
o[k2] = m[k];
|
363
|
-
}));
|
364
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
365
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
366
|
-
};
|
367
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
368
|
-
__exportStar(__webpack_require__(/*! ./registry-extension-repository */ "./src/interfaces/registry-extension-repository.ts"), exports);
|
369
|
-
__exportStar(__webpack_require__(/*! ./registry-extension-service */ "./src/interfaces/registry-extension-service.ts"), exports);
|
370
|
-
|
371
|
-
|
372
|
-
/***/ }),
|
373
|
-
|
374
|
-
/***/ "./src/interfaces/registry-extension-repository.ts":
|
375
|
-
/*!*********************************************************!*\
|
376
|
-
!*** ./src/interfaces/registry-extension-repository.ts ***!
|
377
|
-
\*********************************************************/
|
378
|
-
/***/ ((__unused_webpack_module, exports) => {
|
379
|
-
|
380
|
-
|
381
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
382
|
-
|
383
|
-
|
384
|
-
/***/ }),
|
385
|
-
|
386
|
-
/***/ "./src/interfaces/registry-extension-service.ts":
|
387
|
-
/*!******************************************************!*\
|
388
|
-
!*** ./src/interfaces/registry-extension-service.ts ***!
|
389
|
-
\******************************************************/
|
390
|
-
/***/ ((__unused_webpack_module, exports) => {
|
391
|
-
|
392
|
-
|
393
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
394
|
-
|
395
|
-
|
396
|
-
/***/ }),
|
397
|
-
|
398
|
-
/***/ "./src/module.ts":
|
399
|
-
/*!***********************!*\
|
400
|
-
!*** ./src/module.ts ***!
|
401
|
-
\***********************/
|
402
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
403
|
-
|
404
|
-
|
405
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
406
|
-
const _ = __webpack_require__(/*! lodash */ "lodash");
|
407
|
-
const server_core_1 = __webpack_require__(/*! @common-stack/server-core */ "@common-stack/server-core");
|
408
|
-
const constants_1 = __webpack_require__(/*! ./constants */ "./src/constants/index.ts");
|
409
|
-
const schemas_1 = __webpack_require__(/*! ./graphql/schemas */ "./src/graphql/schemas/index.ts");
|
410
|
-
const resolvers_1 = __webpack_require__(/*! ./graphql/resolvers */ "./src/graphql/resolvers/index.ts");
|
411
|
-
const containers_1 = __webpack_require__(/*! ./containers */ "./src/containers/index.ts");
|
412
|
-
const extensionServiceGen = (container) => {
|
413
|
-
const environment = container.get('Environment');
|
414
|
-
return { registryExtensionService: container.get(constants_1.TYPES.IRegistryExtensionService) };
|
415
|
-
};
|
416
|
-
exports["default"] = new server_core_1.Feature({
|
417
|
-
schema: schemas_1.schema,
|
418
|
-
createResolversFunc: resolvers_1.resolver,
|
419
|
-
createContainerFunc: [containers_1.extensionModule],
|
420
|
-
createServiceFunc: extensionServiceGen,
|
421
|
-
middleware: [
|
422
|
-
(app) => {
|
423
|
-
app.get('/_registry/:accountName/:extension/:version?', (req, res, next) => {
|
424
|
-
// TODO: Add validation of all params exist or not.
|
425
|
-
// for example, if `extension` is missing we should throw some valid error.
|
426
|
-
req.services.registryExtensionService.findExtension(`${req.params.accountName}/${req.params.extension}`, req.params.version)
|
427
|
-
.then(data => {
|
428
|
-
const release = _.find(data.releases, { version: req.params.version || data.version });
|
429
|
-
const bundle = _.get(release, 'bundle');
|
430
|
-
res.set('content-type', 'text/javascript');
|
431
|
-
res.send(bundle);
|
432
|
-
})
|
433
|
-
.catch(err => res.status(500).json({ ok: false, error: err.stack }));
|
434
|
-
});
|
435
|
-
},
|
436
|
-
],
|
437
|
-
});
|
438
|
-
|
439
|
-
|
440
|
-
/***/ }),
|
441
|
-
|
442
|
-
/***/ "./src/services/extension-service.ts":
|
443
|
-
/*!*******************************************!*\
|
444
|
-
!*** ./src/services/extension-service.ts ***!
|
445
|
-
\*******************************************/
|
446
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
447
|
-
|
448
|
-
|
449
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
450
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
451
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
452
|
-
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;
|
453
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
454
|
-
};
|
455
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
456
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
457
|
-
};
|
458
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
459
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
460
|
-
};
|
461
|
-
var RegistryExtensionService_1;
|
462
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
463
|
-
exports.RegistryExtensionService = void 0;
|
464
|
-
const inversify_1 = __webpack_require__(/*! inversify */ "inversify");
|
465
|
-
const ILogger = __webpack_require__(/*! bunyan */ "bunyan");
|
466
|
-
const constants_1 = __webpack_require__(/*! ../constants */ "./src/constants/index.ts");
|
467
|
-
let RegistryExtensionService = RegistryExtensionService_1 = class RegistryExtensionService {
|
468
|
-
constructor(extensionRepository, logger) {
|
469
|
-
this.extensionRepository = extensionRepository;
|
470
|
-
this.logger = logger.child({ className: RegistryExtensionService_1 });
|
471
|
-
}
|
472
|
-
async createExtension(publisherId, name) {
|
473
|
-
return this.extensionRepository.createExtension(publisherId, name);
|
474
|
-
}
|
475
|
-
async updateExtensionName(extensionID, name) {
|
476
|
-
return this.extensionRepository.updateExtensionName(extensionID, name);
|
477
|
-
}
|
478
|
-
// TODO: Add method to interface
|
479
|
-
async extensionReleases(extensionID) {
|
480
|
-
this.logger.debug(`Fetching releases for ${extensionID}`);
|
481
|
-
return this.extensionRepository.extensionReleases(extensionID);
|
482
|
-
}
|
483
|
-
async deleteExtension(extensionID) {
|
484
|
-
return this.extensionRepository.deleteExtension(extensionID);
|
485
|
-
}
|
486
|
-
async publishExtension(request) {
|
487
|
-
return this.extensionRepository.publishExtension(request);
|
488
|
-
}
|
489
|
-
async findExtensions(first, query, local, remote, prioritizeExtensionIDs) {
|
490
|
-
return this.extensionRepository.findExtensions(first, query, local, remote, prioritizeExtensionIDs);
|
491
|
-
}
|
492
|
-
async findExtension(extensionID) {
|
493
|
-
return this.extensionRepository.findExtension(extensionID);
|
494
|
-
}
|
495
|
-
};
|
496
|
-
RegistryExtensionService = RegistryExtensionService_1 = __decorate([
|
497
|
-
(0, inversify_1.injectable)(),
|
498
|
-
__param(0, (0, inversify_1.inject)(constants_1.TYPES.IRegistryExtensionRepository)),
|
499
|
-
__param(1, (0, inversify_1.inject)('Logger')),
|
500
|
-
__metadata("design:paramtypes", [Object, ILogger])
|
501
|
-
], RegistryExtensionService);
|
502
|
-
exports.RegistryExtensionService = RegistryExtensionService;
|
503
|
-
|
504
|
-
|
505
|
-
/***/ }),
|
506
|
-
|
507
|
-
/***/ "./src/services/index.ts":
|
508
|
-
/*!*******************************!*\
|
509
|
-
!*** ./src/services/index.ts ***!
|
510
|
-
\*******************************/
|
511
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
512
|
-
|
513
|
-
|
514
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
515
|
-
if (k2 === undefined) k2 = k;
|
516
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
517
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
518
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
519
|
-
}
|
520
|
-
Object.defineProperty(o, k2, desc);
|
521
|
-
}) : (function(o, m, k, k2) {
|
522
|
-
if (k2 === undefined) k2 = k;
|
523
|
-
o[k2] = m[k];
|
524
|
-
}));
|
525
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
526
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
527
|
-
};
|
528
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
529
|
-
__exportStar(__webpack_require__(/*! ./extension-service */ "./src/services/extension-service.ts"), exports);
|
530
|
-
|
531
|
-
|
532
|
-
/***/ }),
|
533
|
-
|
534
|
-
/***/ "./src/store/index.ts":
|
535
|
-
/*!****************************!*\
|
536
|
-
!*** ./src/store/index.ts ***!
|
537
|
-
\****************************/
|
538
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
539
|
-
|
540
|
-
|
541
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
542
|
-
if (k2 === undefined) k2 = k;
|
543
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
544
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
545
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
546
|
-
}
|
547
|
-
Object.defineProperty(o, k2, desc);
|
548
|
-
}) : (function(o, m, k, k2) {
|
549
|
-
if (k2 === undefined) k2 = k;
|
550
|
-
o[k2] = m[k];
|
551
|
-
}));
|
552
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
553
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
554
|
-
};
|
555
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
556
|
-
__exportStar(__webpack_require__(/*! ./models */ "./src/store/models/index.ts"), exports);
|
557
|
-
__exportStar(__webpack_require__(/*! ./repository */ "./src/store/repository/index.ts"), exports);
|
558
|
-
|
559
|
-
|
560
|
-
/***/ }),
|
561
|
-
|
562
|
-
/***/ "./src/store/models/index.ts":
|
563
|
-
/*!***********************************!*\
|
564
|
-
!*** ./src/store/models/index.ts ***!
|
565
|
-
\***********************************/
|
566
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
567
|
-
|
568
|
-
|
569
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
570
|
-
if (k2 === undefined) k2 = k;
|
571
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
572
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
573
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
574
|
-
}
|
575
|
-
Object.defineProperty(o, k2, desc);
|
576
|
-
}) : (function(o, m, k, k2) {
|
577
|
-
if (k2 === undefined) k2 = k;
|
578
|
-
o[k2] = m[k];
|
579
|
-
}));
|
580
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
581
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
582
|
-
};
|
583
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
584
|
-
__exportStar(__webpack_require__(/*! ./registry-extension-model */ "./src/store/models/registry-extension-model.ts"), exports);
|
585
|
-
|
586
|
-
|
587
|
-
/***/ }),
|
588
|
-
|
589
|
-
/***/ "./src/store/models/registry-extension-model.ts":
|
590
|
-
/*!******************************************************!*\
|
591
|
-
!*** ./src/store/models/registry-extension-model.ts ***!
|
592
|
-
\******************************************************/
|
593
|
-
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
594
|
-
|
595
|
-
|
596
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
597
|
-
exports.RegistryExtensionModelFunc = void 0;
|
598
|
-
const _ = __webpack_require__(/*! lodash */ "lodash");
|
599
|
-
const mongoose_1 = __webpack_require__(/*! mongoose */ "mongoose");
|
600
|
-
// const generate = require('nanoid/generate');
|
601
|
-
const generate = __webpack_require__(/*! nanoid/generate */ "nanoid/generate");
|
602
|
-
const RegistryExtensionReleaseSchema = new mongoose_1.Schema({
|
603
|
-
creatorUserId: { type: String },
|
604
|
-
releaseVersion: { type: String },
|
605
|
-
extensionID: String,
|
606
|
-
activationEvents: [String],
|
607
|
-
type: String,
|
608
|
-
manifest: { type: String },
|
609
|
-
version: { type: String },
|
610
|
-
bundle: { type: String },
|
611
|
-
sourceMap: { type: String },
|
612
|
-
}, { strict: false });
|
613
|
-
const RegistryExtensionSchema = new mongoose_1.Schema({
|
614
|
-
type: String,
|
615
|
-
version: String,
|
616
|
-
extensionID: String,
|
617
|
-
publisherId: String,
|
618
|
-
activationEvents: [String],
|
619
|
-
uuid: { type: String, default: () => generate('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 15) },
|
620
|
-
name: { type: String, default: () => generate('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 6) },
|
621
|
-
releases: [{ type: RegistryExtensionReleaseSchema }],
|
622
|
-
}, { strict: false });
|
623
|
-
RegistryExtensionSchema.virtual('manifest').get(function () {
|
624
|
-
const release = _.find(this.releases, { version: this.version });
|
625
|
-
return release.manifest || {};
|
626
|
-
});
|
627
|
-
RegistryExtensionSchema.virtual('id').get(function () {
|
628
|
-
return this._id.toHexString();
|
629
|
-
});
|
630
|
-
RegistryExtensionSchema.set('toJSON', {
|
631
|
-
virtuals: true,
|
632
|
-
});
|
633
|
-
RegistryExtensionSchema.set('toObject', {
|
634
|
-
virtuals: true,
|
635
|
-
});
|
636
|
-
const RegistryExtensionModelFunc = (db) => db.model('extension', RegistryExtensionSchema);
|
637
|
-
exports.RegistryExtensionModelFunc = RegistryExtensionModelFunc;
|
638
|
-
|
639
|
-
|
640
|
-
/***/ }),
|
641
|
-
|
642
|
-
/***/ "./src/store/repository/index.ts":
|
643
|
-
/*!***************************************!*\
|
644
|
-
!*** ./src/store/repository/index.ts ***!
|
645
|
-
\***************************************/
|
646
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
647
|
-
|
648
|
-
|
649
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
650
|
-
if (k2 === undefined) k2 = k;
|
651
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
652
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
653
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
654
|
-
}
|
655
|
-
Object.defineProperty(o, k2, desc);
|
656
|
-
}) : (function(o, m, k, k2) {
|
657
|
-
if (k2 === undefined) k2 = k;
|
658
|
-
o[k2] = m[k];
|
659
|
-
}));
|
660
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
661
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
662
|
-
};
|
663
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
664
|
-
__exportStar(__webpack_require__(/*! ./registry-extension-repository */ "./src/store/repository/registry-extension-repository.ts"), exports);
|
665
|
-
|
666
|
-
|
667
|
-
/***/ }),
|
668
|
-
|
669
|
-
/***/ "./src/store/repository/registry-extension-repository.ts":
|
670
|
-
/*!***************************************************************!*\
|
671
|
-
!*** ./src/store/repository/registry-extension-repository.ts ***!
|
672
|
-
\***************************************************************/
|
673
|
-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
674
|
-
|
675
|
-
|
676
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
677
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
678
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
679
|
-
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;
|
680
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
681
|
-
};
|
682
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
683
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
684
|
-
};
|
685
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
686
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
687
|
-
};
|
688
|
-
var RegistryExtensionRepository_1;
|
689
|
-
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
690
|
-
exports.RegistryExtensionRepository = void 0;
|
691
|
-
const ILogger = __webpack_require__(/*! bunyan */ "bunyan");
|
692
|
-
const _ = __webpack_require__(/*! lodash */ "lodash");
|
693
|
-
const inversify_1 = __webpack_require__(/*! inversify */ "inversify");
|
694
|
-
const mongoose = __webpack_require__(/*! mongoose */ "mongoose");
|
695
|
-
const models_1 = __webpack_require__(/*! ../models */ "./src/store/models/index.ts");
|
696
|
-
const constants_1 = __webpack_require__(/*! ../../constants */ "./src/constants/index.ts");
|
697
|
-
let RegistryExtensionRepository = RegistryExtensionRepository_1 = class RegistryExtensionRepository {
|
698
|
-
constructor(db, logger, options) {
|
699
|
-
this.logger = logger.child({ className: RegistryExtensionRepository_1 });
|
700
|
-
this.repositoryExtensionModel = (0, models_1.RegistryExtensionModelFunc)(db);
|
701
|
-
}
|
702
|
-
async createExtension(publisherId, name) {
|
703
|
-
this.logger.trace('createExtension with publisherId [%s], name [%s]', publisherId, name);
|
704
|
-
return this.repositoryExtensionModel.create({
|
705
|
-
publisherId,
|
706
|
-
name,
|
707
|
-
manifest: null,
|
708
|
-
uuid: '',
|
709
|
-
releases: null,
|
710
|
-
extensionID: '',
|
711
|
-
});
|
712
|
-
}
|
713
|
-
async updateExtensionName(extensionID, name) {
|
714
|
-
this.logger.trace('updateExtensionName with extension [%s], name [%s]', extensionID, name);
|
715
|
-
await this.repositoryExtensionModel.update({ extensionID }, { $set: { name } }, { upsert: true });
|
716
|
-
return this.repositoryExtensionModel.findOne({ extensionID }).exec();
|
717
|
-
}
|
718
|
-
async deleteExtension(extensionID) {
|
719
|
-
try {
|
720
|
-
this.logger.trace('deleteExtension with extensionID [%s]', extensionID);
|
721
|
-
const deleteRecord = await this.repositoryExtensionModel.deleteOne({ extensionID }).exec();
|
722
|
-
return deleteRecord.acknowledged && deleteRecord.deletedCount === 1;
|
723
|
-
}
|
724
|
-
catch (err) {
|
725
|
-
this.logger.error('delete account with payload [%s] failed due to [%o]', extensionID, err);
|
726
|
-
return false;
|
727
|
-
}
|
728
|
-
}
|
729
|
-
async extensionReleases(extensionID) {
|
730
|
-
const extension = await this.findExtension(extensionID);
|
731
|
-
return extension.releases;
|
732
|
-
}
|
733
|
-
// TODO: change param to IPublishRequest
|
734
|
-
async publishExtension(request) {
|
735
|
-
let extension = await this.repositoryExtensionModel.findOne({ extensionID: request.extensionID }).exec();
|
736
|
-
const obj = _.pick(request, ['extensionID', 'name', 'description', 'publisher']);
|
737
|
-
let manifest = {};
|
738
|
-
try {
|
739
|
-
manifest = JSON.parse(request.manifest);
|
740
|
-
}
|
741
|
-
catch (e) { }
|
742
|
-
obj.type = _.get(manifest, 'extension.type');
|
743
|
-
obj.activationEvents = manifest.activationEvents || [];
|
744
|
-
if (!extension) {
|
745
|
-
this.logger.debug('New extension created...');
|
746
|
-
extension = await this.repositoryExtensionModel.create(obj);
|
747
|
-
}
|
748
|
-
const release = {
|
749
|
-
bundle: request.bundle,
|
750
|
-
version: request.version,
|
751
|
-
manifest: request.manifest,
|
752
|
-
sourceMap: request.sourceMap,
|
753
|
-
extensionID: request.extensionID,
|
754
|
-
activationEvents: manifest.activationEvents,
|
755
|
-
};
|
756
|
-
try {
|
757
|
-
this.logger.trace('publishExtension with request [%j]', request);
|
758
|
-
const releaseExists = await this.repositoryExtensionModel.findOne({ extensionID: request.extensionID, 'releases.version': request.version });
|
759
|
-
if (!_.isEmpty(extension.releases) && (releaseExists && !request.force)) {
|
760
|
-
this.logger.debug('Extension with same version already released. [%j]', request.force);
|
761
|
-
throw new Error('Extension publish was failed: This version already released. Add `--force` flag.');
|
762
|
-
}
|
763
|
-
else {
|
764
|
-
const releases = _.filter(extension.releases, (record) => record.version !== request.version)
|
765
|
-
.concat([release]);
|
766
|
-
this.logger.trace('Release updates [%j]', releases);
|
767
|
-
await this.repositoryExtensionModel.update({ extensionID: request.extensionID }, { $set: Object.assign(Object.assign({}, obj), { releases, version: request.version }) }, { upsert: true });
|
768
|
-
}
|
769
|
-
return this.repositoryExtensionModel.findOne({ extensionID: request.extensionID }).exec();
|
770
|
-
}
|
771
|
-
catch (err) {
|
772
|
-
this.logger.error('publishExtension was failed for request [%j] with error[%o]', request, err);
|
773
|
-
throw new Error('Extension publish was failed');
|
774
|
-
}
|
775
|
-
}
|
776
|
-
async findExtensions(first, query, local, remote, prioritizeExtensionIDs) {
|
777
|
-
return this.repositoryExtensionModel.find({}).exec();
|
778
|
-
}
|
779
|
-
async findExtension(extensionID, version) {
|
780
|
-
const q = { extensionID };
|
781
|
-
if (version) {
|
782
|
-
q.version = version;
|
783
|
-
}
|
784
|
-
return this.repositoryExtensionModel.findOne(q);
|
785
|
-
}
|
786
|
-
};
|
787
|
-
RegistryExtensionRepository = RegistryExtensionRepository_1 = __decorate([
|
788
|
-
(0, inversify_1.injectable)(),
|
789
|
-
__param(0, (0, inversify_1.inject)(constants_1.TYPES.IExtensionMongoConnection)),
|
790
|
-
__param(1, (0, inversify_1.inject)('Logger')),
|
791
|
-
__param(2, (0, inversify_1.inject)('MongoOptions')),
|
792
|
-
__param(2, (0, inversify_1.optional)()),
|
793
|
-
__metadata("design:paramtypes", [mongoose.Connection, ILogger, Object])
|
794
|
-
], RegistryExtensionRepository);
|
795
|
-
exports.RegistryExtensionRepository = RegistryExtensionRepository;
|
796
|
-
|
797
|
-
|
798
|
-
/***/ }),
|
799
|
-
|
800
|
-
/***/ "@common-stack/server-core":
|
801
|
-
/*!********************************************!*\
|
802
|
-
!*** external "@common-stack/server-core" ***!
|
803
|
-
\********************************************/
|
804
|
-
/***/ ((module) => {
|
805
|
-
|
806
|
-
module.exports = require("@common-stack/server-core");
|
807
|
-
|
808
|
-
/***/ }),
|
809
|
-
|
810
|
-
/***/ "bunyan":
|
811
|
-
/*!*************************!*\
|
812
|
-
!*** external "bunyan" ***!
|
813
|
-
\*************************/
|
814
|
-
/***/ ((module) => {
|
815
|
-
|
816
|
-
module.exports = require("bunyan");
|
817
|
-
|
818
|
-
/***/ }),
|
819
|
-
|
820
|
-
/***/ "inversify":
|
821
|
-
/*!****************************!*\
|
822
|
-
!*** external "inversify" ***!
|
823
|
-
\****************************/
|
824
|
-
/***/ ((module) => {
|
825
|
-
|
826
|
-
module.exports = require("inversify");
|
827
|
-
|
828
|
-
/***/ }),
|
829
|
-
|
830
|
-
/***/ "lodash":
|
831
|
-
/*!*************************!*\
|
832
|
-
!*** external "lodash" ***!
|
833
|
-
\*************************/
|
834
|
-
/***/ ((module) => {
|
835
|
-
|
836
|
-
module.exports = require("lodash");
|
837
|
-
|
838
|
-
/***/ }),
|
839
|
-
|
840
|
-
/***/ "mongoose":
|
841
|
-
/*!***************************!*\
|
842
|
-
!*** external "mongoose" ***!
|
843
|
-
\***************************/
|
844
|
-
/***/ ((module) => {
|
845
|
-
|
846
|
-
module.exports = require("mongoose");
|
847
|
-
|
848
|
-
/***/ }),
|
849
|
-
|
850
|
-
/***/ "nanoid/generate":
|
851
|
-
/*!**********************************!*\
|
852
|
-
!*** external "nanoid/generate" ***!
|
853
|
-
\**********************************/
|
854
|
-
/***/ ((module) => {
|
855
|
-
|
856
|
-
module.exports = require("nanoid/generate");
|
857
|
-
|
858
|
-
/***/ }),
|
859
|
-
|
860
|
-
/***/ "url":
|
861
|
-
/*!**********************!*\
|
862
|
-
!*** external "url" ***!
|
863
|
-
\**********************/
|
864
|
-
/***/ ((module) => {
|
865
|
-
|
866
|
-
module.exports = require("url");
|
867
|
-
|
868
|
-
/***/ })
|
869
|
-
|
870
|
-
/******/ });
|
871
|
-
/************************************************************************/
|
872
|
-
/******/ // The module cache
|
873
|
-
/******/ var __webpack_module_cache__ = {};
|
874
|
-
/******/
|
875
|
-
/******/ // The require function
|
876
|
-
/******/ function __webpack_require__(moduleId) {
|
877
|
-
/******/ // Check if module is in cache
|
878
|
-
/******/ var cachedModule = __webpack_module_cache__[moduleId];
|
879
|
-
/******/ if (cachedModule !== undefined) {
|
880
|
-
/******/ return cachedModule.exports;
|
881
|
-
/******/ }
|
882
|
-
/******/ // Create a new module (and put it into the cache)
|
883
|
-
/******/ var module = __webpack_module_cache__[moduleId] = {
|
884
|
-
/******/ // no module.id needed
|
885
|
-
/******/ // no module.loaded needed
|
886
|
-
/******/ exports: {}
|
887
|
-
/******/ };
|
888
|
-
/******/
|
889
|
-
/******/ // Execute the module function
|
890
|
-
/******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
891
|
-
/******/
|
892
|
-
/******/ // Return the exports of the module
|
893
|
-
/******/ return module.exports;
|
894
|
-
/******/ }
|
895
|
-
/******/
|
896
|
-
/************************************************************************/
|
897
|
-
/******/ /* webpack/runtime/define property getters */
|
898
|
-
/******/ (() => {
|
899
|
-
/******/ // define getter functions for harmony exports
|
900
|
-
/******/ __webpack_require__.d = (exports, definition) => {
|
901
|
-
/******/ for(var key in definition) {
|
902
|
-
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
|
903
|
-
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
|
904
|
-
/******/ }
|
905
|
-
/******/ }
|
906
|
-
/******/ };
|
907
|
-
/******/ })();
|
908
|
-
/******/
|
909
|
-
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
910
|
-
/******/ (() => {
|
911
|
-
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
912
|
-
/******/ })();
|
913
|
-
/******/
|
914
|
-
/******/ /* webpack/runtime/make namespace object */
|
915
|
-
/******/ (() => {
|
916
|
-
/******/ // define __esModule on exports
|
917
|
-
/******/ __webpack_require__.r = (exports) => {
|
918
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
919
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
920
|
-
/******/ }
|
921
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
922
|
-
/******/ };
|
923
|
-
/******/ })();
|
924
|
-
/******/
|
925
|
-
/************************************************************************/
|
926
|
-
/******/
|
927
|
-
/******/ // startup
|
928
|
-
/******/ // Load entry module and return exports
|
929
|
-
/******/ // This entry module is referenced by other modules so it can't be inlined
|
930
|
-
/******/ var __webpack_exports__ = __webpack_require__("./src/index.ts");
|
931
|
-
/******/ module.exports = __webpack_exports__;
|
932
|
-
/******/
|
933
|
-
/******/ })()
|
934
|
-
;
|
935
|
-
//# sourceMappingURL=index.js.map
|
1
|
+
import {Feature}from'@common-stack/server-core';import module from'./module.js';export{TYPES}from'./constants/types.js';var index = new Feature(module);export{index as default};
|