@adminide-stack/marketplace-module-server 1.1.3-alpha.8 → 1.1.3-alpha.86
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/index.js
CHANGED
@@ -1,104 +1,35 @@
|
|
1
|
-
|
2
|
-
/******/
|
3
|
-
/******/
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
/******/ i: moduleId,
|
16
|
-
|
17
|
-
|
18
|
-
/******/ };
|
19
|
-
/******/
|
20
|
-
/******/ // Execute the module function
|
21
|
-
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
22
|
-
/******/
|
23
|
-
/******/ // Flag the module as loaded
|
24
|
-
/******/ module.l = true;
|
25
|
-
/******/
|
26
|
-
/******/ // Return the exports of the module
|
27
|
-
/******/ return module.exports;
|
28
|
-
/******/ }
|
29
|
-
/******/
|
30
|
-
/******/
|
31
|
-
/******/ // expose the modules object (__webpack_modules__)
|
32
|
-
/******/ __webpack_require__.m = modules;
|
33
|
-
/******/
|
34
|
-
/******/ // expose the module cache
|
35
|
-
/******/ __webpack_require__.c = installedModules;
|
36
|
-
/******/
|
37
|
-
/******/ // define getter function for harmony exports
|
38
|
-
/******/ __webpack_require__.d = function(exports, name, getter) {
|
39
|
-
/******/ if(!__webpack_require__.o(exports, name)) {
|
40
|
-
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
41
|
-
/******/ }
|
42
|
-
/******/ };
|
43
|
-
/******/
|
44
|
-
/******/ // define __esModule on exports
|
45
|
-
/******/ __webpack_require__.r = function(exports) {
|
46
|
-
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
47
|
-
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
48
|
-
/******/ }
|
49
|
-
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
50
|
-
/******/ };
|
51
|
-
/******/
|
52
|
-
/******/ // create a fake namespace object
|
53
|
-
/******/ // mode & 1: value is a module id, require it
|
54
|
-
/******/ // mode & 2: merge all properties of value into the ns
|
55
|
-
/******/ // mode & 4: return value when already ns object
|
56
|
-
/******/ // mode & 8|1: behave like require
|
57
|
-
/******/ __webpack_require__.t = function(value, mode) {
|
58
|
-
/******/ if(mode & 1) value = __webpack_require__(value);
|
59
|
-
/******/ if(mode & 8) return value;
|
60
|
-
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
61
|
-
/******/ var ns = Object.create(null);
|
62
|
-
/******/ __webpack_require__.r(ns);
|
63
|
-
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
64
|
-
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
65
|
-
/******/ return ns;
|
66
|
-
/******/ };
|
67
|
-
/******/
|
68
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
69
|
-
/******/ __webpack_require__.n = function(module) {
|
70
|
-
/******/ var getter = module && module.__esModule ?
|
71
|
-
/******/ function getDefault() { return module['default']; } :
|
72
|
-
/******/ function getModuleExports() { return module; };
|
73
|
-
/******/ __webpack_require__.d(getter, 'a', getter);
|
74
|
-
/******/ return getter;
|
75
|
-
/******/ };
|
76
|
-
/******/
|
77
|
-
/******/ // Object.prototype.hasOwnProperty.call
|
78
|
-
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
79
|
-
/******/
|
80
|
-
/******/ // __webpack_public_path__
|
81
|
-
/******/ __webpack_require__.p = "";
|
82
|
-
/******/
|
83
|
-
/******/
|
84
|
-
/******/ // Load entry module and return exports
|
85
|
-
/******/ return __webpack_require__(__webpack_require__.s = "./src/index.ts");
|
86
|
-
/******/ })
|
87
|
-
/************************************************************************/
|
88
|
-
/******/ ({
|
1
|
+
/******/ (() => { // webpackBootstrap
|
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
|
+
/***/ }),
|
89
18
|
|
90
19
|
/***/ "./src/constants/index.ts":
|
91
20
|
/*!********************************!*\
|
92
21
|
!*** ./src/constants/index.ts ***!
|
93
22
|
\********************************/
|
94
|
-
|
95
|
-
/***/ (function(module, exports, __webpack_require__) {
|
23
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
96
24
|
|
97
|
-
"use strict";
|
98
25
|
|
99
26
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
100
27
|
if (k2 === undefined) k2 = k;
|
101
|
-
Object.
|
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);
|
102
33
|
}) : (function(o, m, k, k2) {
|
103
34
|
if (k2 === undefined) k2 = k;
|
104
35
|
o[k2] = m[k];
|
@@ -106,7 +37,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
106
37
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
107
38
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
108
39
|
};
|
109
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
40
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
110
41
|
__exportStar(__webpack_require__(/*! ./types */ "./src/constants/types.ts"), exports);
|
111
42
|
|
112
43
|
|
@@ -116,12 +47,10 @@ __exportStar(__webpack_require__(/*! ./types */ "./src/constants/types.ts"), exp
|
|
116
47
|
/*!********************************!*\
|
117
48
|
!*** ./src/constants/types.ts ***!
|
118
49
|
\********************************/
|
119
|
-
|
120
|
-
/***/ (function(module, exports, __webpack_require__) {
|
50
|
+
/***/ ((__unused_webpack_module, exports) => {
|
121
51
|
|
122
|
-
"use strict";
|
123
52
|
|
124
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
53
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
125
54
|
exports.TYPES = void 0;
|
126
55
|
exports.TYPES = {
|
127
56
|
IExtensionMongoConnection: Symbol('ExtensionMongoConnection'),
|
@@ -136,14 +65,16 @@ exports.TYPES = {
|
|
136
65
|
/*!*********************************!*\
|
137
66
|
!*** ./src/containers/index.ts ***!
|
138
67
|
\*********************************/
|
139
|
-
|
140
|
-
/***/ (function(module, exports, __webpack_require__) {
|
68
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
141
69
|
|
142
|
-
"use strict";
|
143
70
|
|
144
71
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
145
72
|
if (k2 === undefined) k2 = k;
|
146
|
-
Object.
|
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);
|
147
78
|
}) : (function(o, m, k, k2) {
|
148
79
|
if (k2 === undefined) k2 = k;
|
149
80
|
o[k2] = m[k];
|
@@ -151,7 +82,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
151
82
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
152
83
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
153
84
|
};
|
154
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
85
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
155
86
|
__exportStar(__webpack_require__(/*! ./module */ "./src/containers/module.ts"), exports);
|
156
87
|
|
157
88
|
|
@@ -161,12 +92,10 @@ __exportStar(__webpack_require__(/*! ./module */ "./src/containers/module.ts"),
|
|
161
92
|
/*!**********************************!*\
|
162
93
|
!*** ./src/containers/module.ts ***!
|
163
94
|
\**********************************/
|
164
|
-
|
165
|
-
/***/ (function(module, exports, __webpack_require__) {
|
95
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
166
96
|
|
167
|
-
"use strict";
|
168
97
|
|
169
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
98
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
170
99
|
exports.extensionModule = void 0;
|
171
100
|
const inversify_1 = __webpack_require__(/*! inversify */ "inversify");
|
172
101
|
const constants_1 = __webpack_require__(/*! ../constants */ "./src/constants/index.ts");
|
@@ -194,14 +123,16 @@ exports.extensionModule = extensionModule;
|
|
194
123
|
/*!****************************************!*\
|
195
124
|
!*** ./src/graphql/resolvers/index.ts ***!
|
196
125
|
\****************************************/
|
197
|
-
|
198
|
-
/***/ (function(module, exports, __webpack_require__) {
|
126
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
199
127
|
|
200
|
-
"use strict";
|
201
128
|
|
202
129
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
203
130
|
if (k2 === undefined) k2 = k;
|
204
|
-
Object.
|
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);
|
205
136
|
}) : (function(o, m, k, k2) {
|
206
137
|
if (k2 === undefined) k2 = k;
|
207
138
|
o[k2] = m[k];
|
@@ -209,7 +140,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
209
140
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
210
141
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
211
142
|
};
|
212
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
143
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
213
144
|
__exportStar(__webpack_require__(/*! ./resolvers */ "./src/graphql/resolvers/resolvers.ts"), exports);
|
214
145
|
|
215
146
|
|
@@ -219,12 +150,10 @@ __exportStar(__webpack_require__(/*! ./resolvers */ "./src/graphql/resolvers/res
|
|
219
150
|
/*!********************************************!*\
|
220
151
|
!*** ./src/graphql/resolvers/resolvers.ts ***!
|
221
152
|
\********************************************/
|
222
|
-
|
223
|
-
/***/ (function(module, exports, __webpack_require__) {
|
153
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
224
154
|
|
225
|
-
"use strict";
|
226
155
|
|
227
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
156
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
228
157
|
exports.resolver = void 0;
|
229
158
|
const url = __webpack_require__(/*! url */ "url");
|
230
159
|
const bundleUrlGenerator = (extensionID, version) => url.resolve(process.env.BACKEND_URL, `_registry/${extensionID}/${version}`);
|
@@ -372,44 +301,31 @@ exports.resolver = resolver;
|
|
372
301
|
/*!**************************************!*\
|
373
302
|
!*** ./src/graphql/schemas/index.ts ***!
|
374
303
|
\**************************************/
|
375
|
-
|
376
|
-
/***/ (function(module, exports, __webpack_require__) {
|
304
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
377
305
|
|
378
|
-
"use strict";
|
379
306
|
|
380
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
307
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
381
308
|
exports.schema = void 0;
|
382
309
|
const schema_graphql_1 = __webpack_require__(/*! ./schema.graphql */ "./src/graphql/schemas/schema.graphql");
|
383
310
|
exports.schema = schema_graphql_1.default;
|
384
311
|
|
385
312
|
|
386
|
-
/***/ }),
|
387
|
-
|
388
|
-
/***/ "./src/graphql/schemas/schema.graphql":
|
389
|
-
/*!********************************************!*\
|
390
|
-
!*** ./src/graphql/schemas/schema.graphql ***!
|
391
|
-
\********************************************/
|
392
|
-
/*! exports provided: default */
|
393
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
394
|
-
|
395
|
-
"use strict";
|
396
|
-
__webpack_require__.r(__webpack_exports__);
|
397
|
-
/* harmony default export */ __webpack_exports__["default"] = ("\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}");
|
398
|
-
|
399
313
|
/***/ }),
|
400
314
|
|
401
315
|
/***/ "./src/index.ts":
|
402
316
|
/*!**********************!*\
|
403
317
|
!*** ./src/index.ts ***!
|
404
318
|
\**********************/
|
405
|
-
|
406
|
-
/***/ (function(module, exports, __webpack_require__) {
|
319
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
407
320
|
|
408
|
-
"use strict";
|
409
321
|
|
410
322
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
411
323
|
if (k2 === undefined) k2 = k;
|
412
|
-
Object.
|
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);
|
413
329
|
}) : (function(o, m, k, k2) {
|
414
330
|
if (k2 === undefined) k2 = k;
|
415
331
|
o[k2] = m[k];
|
@@ -417,12 +333,12 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
417
333
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
418
334
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
419
335
|
};
|
420
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
336
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
421
337
|
const server_core_1 = __webpack_require__(/*! @common-stack/server-core */ "@common-stack/server-core");
|
422
338
|
const module_1 = __webpack_require__(/*! ./module */ "./src/module.ts");
|
423
339
|
__exportStar(__webpack_require__(/*! ./interfaces */ "./src/interfaces/index.ts"), exports);
|
424
340
|
__exportStar(__webpack_require__(/*! ./constants */ "./src/constants/index.ts"), exports);
|
425
|
-
exports
|
341
|
+
exports["default"] = new server_core_1.Feature(module_1.default);
|
426
342
|
|
427
343
|
|
428
344
|
/***/ }),
|
@@ -431,14 +347,16 @@ exports.default = new server_core_1.Feature(module_1.default);
|
|
431
347
|
/*!*********************************!*\
|
432
348
|
!*** ./src/interfaces/index.ts ***!
|
433
349
|
\*********************************/
|
434
|
-
|
435
|
-
/***/ (function(module, exports, __webpack_require__) {
|
350
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
436
351
|
|
437
|
-
"use strict";
|
438
352
|
|
439
353
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
440
354
|
if (k2 === undefined) k2 = k;
|
441
|
-
Object.
|
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);
|
442
360
|
}) : (function(o, m, k, k2) {
|
443
361
|
if (k2 === undefined) k2 = k;
|
444
362
|
o[k2] = m[k];
|
@@ -446,7 +364,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
446
364
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
447
365
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
448
366
|
};
|
449
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
367
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
450
368
|
__exportStar(__webpack_require__(/*! ./registry-extension-repository */ "./src/interfaces/registry-extension-repository.ts"), exports);
|
451
369
|
__exportStar(__webpack_require__(/*! ./registry-extension-service */ "./src/interfaces/registry-extension-service.ts"), exports);
|
452
370
|
|
@@ -457,12 +375,10 @@ __exportStar(__webpack_require__(/*! ./registry-extension-service */ "./src/inte
|
|
457
375
|
/*!*********************************************************!*\
|
458
376
|
!*** ./src/interfaces/registry-extension-repository.ts ***!
|
459
377
|
\*********************************************************/
|
460
|
-
|
461
|
-
/***/ (function(module, exports, __webpack_require__) {
|
378
|
+
/***/ ((__unused_webpack_module, exports) => {
|
462
379
|
|
463
|
-
"use strict";
|
464
380
|
|
465
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
381
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
466
382
|
|
467
383
|
|
468
384
|
/***/ }),
|
@@ -471,12 +387,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
471
387
|
/*!******************************************************!*\
|
472
388
|
!*** ./src/interfaces/registry-extension-service.ts ***!
|
473
389
|
\******************************************************/
|
474
|
-
|
475
|
-
/***/ (function(module, exports, __webpack_require__) {
|
390
|
+
/***/ ((__unused_webpack_module, exports) => {
|
476
391
|
|
477
|
-
"use strict";
|
478
392
|
|
479
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
393
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
480
394
|
|
481
395
|
|
482
396
|
/***/ }),
|
@@ -485,12 +399,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
485
399
|
/*!***********************!*\
|
486
400
|
!*** ./src/module.ts ***!
|
487
401
|
\***********************/
|
488
|
-
|
489
|
-
/***/ (function(module, exports, __webpack_require__) {
|
402
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
490
403
|
|
491
|
-
"use strict";
|
492
404
|
|
493
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
405
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
494
406
|
const _ = __webpack_require__(/*! lodash */ "lodash");
|
495
407
|
const server_core_1 = __webpack_require__(/*! @common-stack/server-core */ "@common-stack/server-core");
|
496
408
|
const constants_1 = __webpack_require__(/*! ./constants */ "./src/constants/index.ts");
|
@@ -501,7 +413,7 @@ const extensionServiceGen = (container) => {
|
|
501
413
|
const environment = container.get('Environment');
|
502
414
|
return { registryExtensionService: container.get(constants_1.TYPES.IRegistryExtensionService) };
|
503
415
|
};
|
504
|
-
exports
|
416
|
+
exports["default"] = new server_core_1.Feature({
|
505
417
|
schema: schemas_1.schema,
|
506
418
|
createResolversFunc: resolvers_1.resolver,
|
507
419
|
createContainerFunc: [containers_1.extensionModule],
|
@@ -531,10 +443,8 @@ exports.default = new server_core_1.Feature({
|
|
531
443
|
/*!*******************************************!*\
|
532
444
|
!*** ./src/services/extension-service.ts ***!
|
533
445
|
\*******************************************/
|
534
|
-
|
535
|
-
/***/ (function(module, exports, __webpack_require__) {
|
446
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
536
447
|
|
537
|
-
"use strict";
|
538
448
|
|
539
449
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
540
450
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
@@ -549,7 +459,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
549
459
|
return function (target, key) { decorator(target, key, paramIndex); }
|
550
460
|
};
|
551
461
|
var RegistryExtensionService_1;
|
552
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
462
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
553
463
|
exports.RegistryExtensionService = void 0;
|
554
464
|
const inversify_1 = __webpack_require__(/*! inversify */ "inversify");
|
555
465
|
const ILogger = __webpack_require__(/*! bunyan */ "bunyan");
|
@@ -584,9 +494,9 @@ let RegistryExtensionService = RegistryExtensionService_1 = class RegistryExtens
|
|
584
494
|
}
|
585
495
|
};
|
586
496
|
RegistryExtensionService = RegistryExtensionService_1 = __decorate([
|
587
|
-
inversify_1.injectable(),
|
588
|
-
__param(0, inversify_1.inject(constants_1.TYPES.IRegistryExtensionRepository)),
|
589
|
-
__param(1, inversify_1.inject('Logger')),
|
497
|
+
(0, inversify_1.injectable)(),
|
498
|
+
__param(0, (0, inversify_1.inject)(constants_1.TYPES.IRegistryExtensionRepository)),
|
499
|
+
__param(1, (0, inversify_1.inject)('Logger')),
|
590
500
|
__metadata("design:paramtypes", [Object, ILogger])
|
591
501
|
], RegistryExtensionService);
|
592
502
|
exports.RegistryExtensionService = RegistryExtensionService;
|
@@ -598,14 +508,16 @@ exports.RegistryExtensionService = RegistryExtensionService;
|
|
598
508
|
/*!*******************************!*\
|
599
509
|
!*** ./src/services/index.ts ***!
|
600
510
|
\*******************************/
|
601
|
-
|
602
|
-
/***/ (function(module, exports, __webpack_require__) {
|
511
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
603
512
|
|
604
|
-
"use strict";
|
605
513
|
|
606
514
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
607
515
|
if (k2 === undefined) k2 = k;
|
608
|
-
Object.
|
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);
|
609
521
|
}) : (function(o, m, k, k2) {
|
610
522
|
if (k2 === undefined) k2 = k;
|
611
523
|
o[k2] = m[k];
|
@@ -613,7 +525,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
613
525
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
614
526
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
615
527
|
};
|
616
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
528
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
617
529
|
__exportStar(__webpack_require__(/*! ./extension-service */ "./src/services/extension-service.ts"), exports);
|
618
530
|
|
619
531
|
|
@@ -623,14 +535,16 @@ __exportStar(__webpack_require__(/*! ./extension-service */ "./src/services/exte
|
|
623
535
|
/*!****************************!*\
|
624
536
|
!*** ./src/store/index.ts ***!
|
625
537
|
\****************************/
|
626
|
-
|
627
|
-
/***/ (function(module, exports, __webpack_require__) {
|
538
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
628
539
|
|
629
|
-
"use strict";
|
630
540
|
|
631
541
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
632
542
|
if (k2 === undefined) k2 = k;
|
633
|
-
Object.
|
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);
|
634
548
|
}) : (function(o, m, k, k2) {
|
635
549
|
if (k2 === undefined) k2 = k;
|
636
550
|
o[k2] = m[k];
|
@@ -638,7 +552,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
638
552
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
639
553
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
640
554
|
};
|
641
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
555
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
642
556
|
__exportStar(__webpack_require__(/*! ./models */ "./src/store/models/index.ts"), exports);
|
643
557
|
__exportStar(__webpack_require__(/*! ./repository */ "./src/store/repository/index.ts"), exports);
|
644
558
|
|
@@ -649,14 +563,16 @@ __exportStar(__webpack_require__(/*! ./repository */ "./src/store/repository/ind
|
|
649
563
|
/*!***********************************!*\
|
650
564
|
!*** ./src/store/models/index.ts ***!
|
651
565
|
\***********************************/
|
652
|
-
|
653
|
-
/***/ (function(module, exports, __webpack_require__) {
|
566
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
654
567
|
|
655
|
-
"use strict";
|
656
568
|
|
657
569
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
658
570
|
if (k2 === undefined) k2 = k;
|
659
|
-
Object.
|
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);
|
660
576
|
}) : (function(o, m, k, k2) {
|
661
577
|
if (k2 === undefined) k2 = k;
|
662
578
|
o[k2] = m[k];
|
@@ -664,7 +580,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
664
580
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
665
581
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
666
582
|
};
|
667
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
583
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
668
584
|
__exportStar(__webpack_require__(/*! ./registry-extension-model */ "./src/store/models/registry-extension-model.ts"), exports);
|
669
585
|
|
670
586
|
|
@@ -674,12 +590,10 @@ __exportStar(__webpack_require__(/*! ./registry-extension-model */ "./src/store/
|
|
674
590
|
/*!******************************************************!*\
|
675
591
|
!*** ./src/store/models/registry-extension-model.ts ***!
|
676
592
|
\******************************************************/
|
677
|
-
|
678
|
-
/***/ (function(module, exports, __webpack_require__) {
|
593
|
+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
|
679
594
|
|
680
|
-
"use strict";
|
681
595
|
|
682
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
596
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
683
597
|
exports.RegistryExtensionModelFunc = void 0;
|
684
598
|
const _ = __webpack_require__(/*! lodash */ "lodash");
|
685
599
|
const mongoose_1 = __webpack_require__(/*! mongoose */ "mongoose");
|
@@ -729,14 +643,16 @@ exports.RegistryExtensionModelFunc = RegistryExtensionModelFunc;
|
|
729
643
|
/*!***************************************!*\
|
730
644
|
!*** ./src/store/repository/index.ts ***!
|
731
645
|
\***************************************/
|
732
|
-
|
733
|
-
/***/ (function(module, exports, __webpack_require__) {
|
646
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
734
647
|
|
735
|
-
"use strict";
|
736
648
|
|
737
649
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
738
650
|
if (k2 === undefined) k2 = k;
|
739
|
-
Object.
|
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);
|
740
656
|
}) : (function(o, m, k, k2) {
|
741
657
|
if (k2 === undefined) k2 = k;
|
742
658
|
o[k2] = m[k];
|
@@ -744,7 +660,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
744
660
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
745
661
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
746
662
|
};
|
747
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
663
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
748
664
|
__exportStar(__webpack_require__(/*! ./registry-extension-repository */ "./src/store/repository/registry-extension-repository.ts"), exports);
|
749
665
|
|
750
666
|
|
@@ -754,10 +670,8 @@ __exportStar(__webpack_require__(/*! ./registry-extension-repository */ "./src/s
|
|
754
670
|
/*!***************************************************************!*\
|
755
671
|
!*** ./src/store/repository/registry-extension-repository.ts ***!
|
756
672
|
\***************************************************************/
|
757
|
-
|
758
|
-
/***/ (function(module, exports, __webpack_require__) {
|
673
|
+
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
|
759
674
|
|
760
|
-
"use strict";
|
761
675
|
|
762
676
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
763
677
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
@@ -772,7 +686,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
772
686
|
return function (target, key) { decorator(target, key, paramIndex); }
|
773
687
|
};
|
774
688
|
var RegistryExtensionRepository_1;
|
775
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
689
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
776
690
|
exports.RegistryExtensionRepository = void 0;
|
777
691
|
const ILogger = __webpack_require__(/*! bunyan */ "bunyan");
|
778
692
|
const _ = __webpack_require__(/*! lodash */ "lodash");
|
@@ -783,7 +697,7 @@ const constants_1 = __webpack_require__(/*! ../../constants */ "./src/constants/
|
|
783
697
|
let RegistryExtensionRepository = RegistryExtensionRepository_1 = class RegistryExtensionRepository {
|
784
698
|
constructor(db, logger, options) {
|
785
699
|
this.logger = logger.child({ className: RegistryExtensionRepository_1 });
|
786
|
-
this.repositoryExtensionModel = models_1.RegistryExtensionModelFunc(db);
|
700
|
+
this.repositoryExtensionModel = (0, models_1.RegistryExtensionModelFunc)(db);
|
787
701
|
}
|
788
702
|
async createExtension(publisherId, name) {
|
789
703
|
this.logger.trace('createExtension with publisherId [%s], name [%s]', publisherId, name);
|
@@ -871,11 +785,11 @@ let RegistryExtensionRepository = RegistryExtensionRepository_1 = class Registry
|
|
871
785
|
}
|
872
786
|
};
|
873
787
|
RegistryExtensionRepository = RegistryExtensionRepository_1 = __decorate([
|
874
|
-
inversify_1.injectable(),
|
875
|
-
__param(0, inversify_1.inject(constants_1.TYPES.IExtensionMongoConnection)),
|
876
|
-
__param(1, inversify_1.inject('Logger')),
|
877
|
-
__param(2, inversify_1.inject('MongoOptions')),
|
878
|
-
__param(2, inversify_1.optional()),
|
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)()),
|
879
793
|
__metadata("design:paramtypes", [mongoose.Connection, ILogger, Object])
|
880
794
|
], RegistryExtensionRepository);
|
881
795
|
exports.RegistryExtensionRepository = RegistryExtensionRepository;
|
@@ -887,8 +801,7 @@ exports.RegistryExtensionRepository = RegistryExtensionRepository;
|
|
887
801
|
/*!********************************************!*\
|
888
802
|
!*** external "@common-stack/server-core" ***!
|
889
803
|
\********************************************/
|
890
|
-
|
891
|
-
/***/ (function(module, exports) {
|
804
|
+
/***/ ((module) => {
|
892
805
|
|
893
806
|
module.exports = require("@common-stack/server-core");
|
894
807
|
|
@@ -898,8 +811,7 @@ module.exports = require("@common-stack/server-core");
|
|
898
811
|
/*!*************************!*\
|
899
812
|
!*** external "bunyan" ***!
|
900
813
|
\*************************/
|
901
|
-
|
902
|
-
/***/ (function(module, exports) {
|
814
|
+
/***/ ((module) => {
|
903
815
|
|
904
816
|
module.exports = require("bunyan");
|
905
817
|
|
@@ -909,8 +821,7 @@ module.exports = require("bunyan");
|
|
909
821
|
/*!****************************!*\
|
910
822
|
!*** external "inversify" ***!
|
911
823
|
\****************************/
|
912
|
-
|
913
|
-
/***/ (function(module, exports) {
|
824
|
+
/***/ ((module) => {
|
914
825
|
|
915
826
|
module.exports = require("inversify");
|
916
827
|
|
@@ -920,8 +831,7 @@ module.exports = require("inversify");
|
|
920
831
|
/*!*************************!*\
|
921
832
|
!*** external "lodash" ***!
|
922
833
|
\*************************/
|
923
|
-
|
924
|
-
/***/ (function(module, exports) {
|
834
|
+
/***/ ((module) => {
|
925
835
|
|
926
836
|
module.exports = require("lodash");
|
927
837
|
|
@@ -931,8 +841,7 @@ module.exports = require("lodash");
|
|
931
841
|
/*!***************************!*\
|
932
842
|
!*** external "mongoose" ***!
|
933
843
|
\***************************/
|
934
|
-
|
935
|
-
/***/ (function(module, exports) {
|
844
|
+
/***/ ((module) => {
|
936
845
|
|
937
846
|
module.exports = require("mongoose");
|
938
847
|
|
@@ -942,8 +851,7 @@ module.exports = require("mongoose");
|
|
942
851
|
/*!**********************************!*\
|
943
852
|
!*** external "nanoid/generate" ***!
|
944
853
|
\**********************************/
|
945
|
-
|
946
|
-
/***/ (function(module, exports) {
|
854
|
+
/***/ ((module) => {
|
947
855
|
|
948
856
|
module.exports = require("nanoid/generate");
|
949
857
|
|
@@ -953,12 +861,75 @@ module.exports = require("nanoid/generate");
|
|
953
861
|
/*!**********************!*\
|
954
862
|
!*** external "url" ***!
|
955
863
|
\**********************/
|
956
|
-
|
957
|
-
/***/ (function(module, exports) {
|
864
|
+
/***/ ((module) => {
|
958
865
|
|
959
866
|
module.exports = require("url");
|
960
867
|
|
961
868
|
/***/ })
|
962
869
|
|
963
|
-
/******/
|
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
|
+
;
|
964
935
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/constants/index.ts","webpack:///./src/constants/types.ts","webpack:///./src/containers/index.ts","webpack:///./src/containers/module.ts","webpack:///./src/graphql/resolvers/index.ts","webpack:///./src/graphql/resolvers/resolvers.ts","webpack:///./src/graphql/schemas/index.ts","webpack:///./src/graphql/schemas/schema.graphql","webpack:///./src/index.ts","webpack:///./src/interfaces/index.ts","webpack:///./src/module.ts","webpack:///./src/services/extension-service.ts","webpack:///./src/services/index.ts","webpack:///./src/store/index.ts","webpack:///./src/store/models/index.ts","webpack:///./src/store/models/registry-extension-model.ts","webpack:///./src/store/repository/index.ts","webpack:///./src/store/repository/registry-extension-repository.ts","webpack:///external \"@common-stack/server-core\"","webpack:///external \"bunyan\"","webpack:///external \"inversify\"","webpack:///external \"lodash\"","webpack:///external \"mongoose\"","webpack:///external \"nanoid/generate\"","webpack:///external \"url\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","\nexport * from './types';\n","\nexport const TYPES = {\n IExtensionMongoConnection: Symbol('ExtensionMongoConnection'),\n IRegistryExtensionService: Symbol('IRegistryExtensionService'),\n IRegistryExtensionRepository: Symbol('IRegistryExtensionRepository'),\n};\n","export * from './module';\n","import { ContainerModule, interfaces } from 'inversify';\nimport { IRegistryExtensionRepository, IRegistryExtensionService } from '../interfaces';\nimport { TYPES } from '../constants';\nimport { RegistryExtensionService } from '../services';\nimport { RegistryExtensionRepository } from '../store';\nimport { TaggedType } from '@common-stack/core';\n\nexport const extensionModule: (settings: any) => interfaces.ContainerModule =\n (settings: any) => new ContainerModule((bind: interfaces.Bind) => {\n\n bind(TYPES.IExtensionMongoConnection).toConstantValue(settings.mongoConnection);\n // Extension Service\n bind<IRegistryExtensionService>(TYPES.IRegistryExtensionService)\n .to(RegistryExtensionService)\n .inSingletonScope()\n .whenTargetIsDefault();\n\n // Extension Repository\n bind<IRegistryExtensionRepository>(TYPES.IRegistryExtensionRepository)\n .to(RegistryExtensionRepository)\n .inSingletonScope()\n .whenTargetIsDefault();\n\n });\n","export * from './resolvers';\n","import { PubSub, withFilter } from 'graphql-subscriptions';\nimport * as Logger from 'bunyan';\nimport { IRegistryExtensionService } from '../../interfaces';\nimport * as _ from 'lodash';\nimport * as url from 'url';\n\ntype IContext = {\n registryExtensionService: IRegistryExtensionService;\n};\n\n\nconst bundleUrlGenerator = (extensionID, version) => url.resolve(process.env.BACKEND_URL, `_registry/${extensionID}/${version}`);\n\nexport const resolver: any = (pubsub: PubSub, logger?: Logger) => ({\n\n Contributes: {\n menus: (root) => {\n let result;\n // const manifest = JSON.parse(root.manifest);\n // console.log('manifest======>', manifest);\n const menus = root.menus;\n console.log('menus=========>', menus);\n try {\n result = {\n commandPalette: menus['commandPalette'] || [],\n explorer: { context: menus['explorer/context'] || [] },\n editor: {\n context: menus['editor/context'] || [],\n title: {\n own: menus['editor/title'] || [],\n context: menus['editor/title/context'] || [],\n },\n },\n debug: {\n callstack: {\n context: menus['debug/callstack/context'] || [],\n },\n toolbar: menus['debug/toolbar'] || [],\n },\n scm: {\n title: menus['scm/title'] || [],\n resourceGroup: {\n context: menus['scm/resourceGroup/context'] || [],\n },\n resource: {\n context: menus['scm/resource/context'] || [],\n },\n change: {\n title: menus['scm/change/title'] || [],\n },\n },\n view: {\n title: menus['view/title'] || [],\n item: {\n context: menus['view/item/context'] || [],\n },\n },\n touchBar: menus['touchBar'] || [],\n };\n } catch (err) {\n console.log('err', err);\n }\n console.log('result====>', result, result.editor);\n return result;\n },\n },\n ExtensionRegistry: {\n async extensions(root, args: { first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[] }, ctx: IContext) {\n logger && logger.debug('args [%j]', args);\n const nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);\n return { nodes };\n },\n\n async extension(root, args: { extensionID: string }, ctx: IContext) {\n return ctx.registryExtensionService.findExtension(args.extensionID);\n },\n\n async releases(root, args: { extensionID: string }, ctx: { registryExtensionService: any }) {\n return ctx.registryExtensionService.extensionReleases(args.extensionID);\n },\n\n async publishers(root, args, ctx: IContext) {\n\n },\n async viewerPublishers(root, args, ctx: IContext) {\n\n },\n async localExtensionIDPrefix(root, args, ctx: IContext) {\n\n },\n },\n ExtensionRelease: {\n bundleURL: (root) => bundleUrlGenerator(root.extensionID, root.version),\n },\n ExtensionManifest: {\n bundleURL: ({ version, extensionID }) => bundleUrlGenerator(extensionID, version),\n },\n RegistryExtension: {\n manifest: (root) => {\n let result;\n // console.log('root=================>', JSON.parse(root.manifest));\n try {\n result = {\n ...JSON.parse(root.manifest),\n extensionID: root.extensionID,\n raw: root.manifest,\n };\n } catch (err) {\n\n }\n return result;\n },\n url: (root) => bundleUrlGenerator(root.extensionID, root.version),\n },\n Query: {\n // namespace for running all extension registry queries\n extensionRegistry() {\n return {};\n },\n\n /// DEPRECATED: Remove all fo the following resolvers as they moved to namespace ExtensionRegistry\n async extensions(root, args: { first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[] }, ctx: IContext) {\n logger && logger.debug('args [%j]', args);\n let nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);\n // const res = { nodes: {...nodes, manifest: JSON.parse(nodes[0].manifest)} };\n // console.log('nodes==>', nodes);\n // nodes = nodes.map(el => {\n // return {\n // ...JSON.parse(JSON.stringify(el)),\n // manifest: JSON.parse(el.manifest),\n // };\n // });\n // console.log('nodes=======after>', nodes);\n return { nodes };\n },\n\n async extension(root, args: { extensionID: string }, ctx: IContext) {\n return ctx.registryExtensionService.findExtension(args.extensionID);\n },\n\n async releases(root, args: { extensionID: string }, ctx: { registryExtensionService: any }) {\n return ctx.registryExtensionService.extensionReleases(args.extensionID);\n },\n\n },\n Mutation: {\n async createExtension(root, args: { publisher: string, name: string }, ctx: IContext) {\n\n const extension = await ctx.registryExtensionService.createExtension(args.publisher, args.name);\n return { extension };\n },\n updateExtension(root, args: { extension: string, name: string }, ctx: IContext) {\n\n return ctx.registryExtensionService.updateExtensionName(args.extension, args.name);\n },\n\n deleteExtension(root, args: { extension: string }, ctx: IContext) {\n\n return ctx.registryExtensionService.deleteExtension(args.extension);\n },\n\n async publishExtension(root,\n args: { extensionID: string, manifest: string, version: any, bundle: string, sourceMap?: string, force?: boolean }, ctx: IContext) {\n const extension = await ctx.registryExtensionService.publishExtension({ ...args });\n return { extension };\n },\n },\n});\n","import schema from './schema.graphql';\n\nexport { schema };\n","export default \"\\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}\";","import { Feature } from '@common-stack/server-core';\nimport module from './module';\n\nexport * from './interfaces';\nexport * from './constants';\nexport default new Feature(module);\n","export * from './registry-extension-repository';\nexport * from './registry-extension-service';\n","import { interfaces } from 'inversify';\nimport * as _ from 'lodash';\nimport { Feature } from '@common-stack/server-core';\nimport { TYPES } from './constants';\nimport { schema } from './graphql/schemas';\nimport { resolver } from './graphql/resolvers';\nimport { IRegistryExtensionService } from './interfaces';\nimport { extensionModule } from './containers';\n\nconst extensionServiceGen = (container: interfaces.Container) => {\n const environment = container.get('Environment');\n return { registryExtensionService: container.get<IRegistryExtensionService>(TYPES.IRegistryExtensionService) };\n};\n\nexport default new Feature({\n schema,\n createResolversFunc: resolver,\n createContainerFunc: [extensionModule],\n createServiceFunc: extensionServiceGen,\n middleware: [\n (app) => {\n app.get(\n '/_registry/:accountName/:extension/:version?',\n (req, res, next) => {\n // TODO: Add validation of all params exist or not.\n // for example, if `extension` is missing we should throw some valid error.\n req.services.registryExtensionService.findExtension(`${req.params.accountName}/${req.params.extension}`, req.params.version)\n .then(data => {\n const release = _.find(data.releases, { version: req.params.version || data.version });\n const bundle = _.get(release, 'bundle');\n\n res.set('content-type', 'text/javascript');\n res.send(bundle);\n })\n .catch(err => res.status(500).json({ ok: false, error: err.stack }));\n });\n },\n ],\n});\n","import { IRegistryExtensionService, IRegistryExtensionRepository, IRepositoryDefault } from '../interfaces';\n\nimport { inject, injectable } from 'inversify';\nimport * as ILogger from 'bunyan';\nimport { TYPES } from '../constants';\n\n@injectable()\nexport class RegistryExtensionService implements IRegistryExtensionService {\n\n private logger: ILogger;\n\n constructor(\n @inject(TYPES.IRegistryExtensionRepository)\n private extensionRepository: IRegistryExtensionRepository,\n\n @inject('Logger')\n logger: ILogger,\n ) {\n this.logger = logger.child({ className: RegistryExtensionService });\n }\n\n public async createExtension(publisherId: string, name: string) {\n return this.extensionRepository.createExtension(publisherId, name);\n }\n\n public async updateExtensionName(extensionID: string, name: string) {\n return this.extensionRepository.updateExtensionName(extensionID, name);\n }\n\n\n // TODO: Add method to interface\n public async extensionReleases(extensionID: string) {\n this.logger.debug(`Fetching releases for ${extensionID}`);\n return this.extensionRepository.extensionReleases(extensionID);\n }\n\n public async deleteExtension(extensionID: string) {\n return this.extensionRepository.deleteExtension(extensionID);\n }\n\n public async publishExtension(request) {\n return this.extensionRepository.publishExtension(request);\n }\n\n public async findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]) {\n\n return this.extensionRepository.findExtensions(first, query, local, remote, prioritizeExtensionIDs);\n }\n\n public async findExtension(extensionID: string) {\n return this.extensionRepository.findExtension(extensionID);\n }\n}\n","export * from './extension-service';\n","export * from './models';\nexport * from './repository';\n","export * from './registry-extension-model';\n","import * as _ from 'lodash';\nimport { Schema, Model, Document, Mongoose, Connection } from 'mongoose';\nimport { IRegistryExtensionRecord } from '@adminide-stack/extension-api';\n// const generate = require('nanoid/generate');\nimport * as generate from 'nanoid/generate';\n\n\nexport interface IRegistryExtensionModel extends Document, IRegistryExtensionRecord {\n id: any;\n type: string;\n publisherId: string;\n}\n\n\nconst RegistryExtensionReleaseSchema = new Schema({\n creatorUserId: { type: String },\n releaseVersion: { type: String },\n extensionID: String,\n activationEvents: [String],\n type: String,\n manifest: { type: String },\n version: { type: String },\n bundle: { type: String },\n sourceMap: { type: String },\n}, { strict: false });\n\nconst RegistryExtensionSchema = new Schema<IRegistryExtensionModel>({\n type: String,\n version: String,\n extensionID: String,\n publisherId: String,\n activationEvents: [String],\n uuid: { type: String, default: () => generate('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 15)},\n name: { type: String, default: () => generate('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 6)},\n releases: [{ type: RegistryExtensionReleaseSchema}],\n}, { strict: false });\n\n\n\nRegistryExtensionSchema.virtual('manifest').get(function () {\n const release: any = _.find(this.releases, { version: this.version });\n return release.manifest || {};\n});\n\nRegistryExtensionSchema.virtual('id').get(function () {\n return this._id.toHexString();\n});\n\nRegistryExtensionSchema.set('toJSON', {\n virtuals: true,\n});\n\nRegistryExtensionSchema.set('toObject', {\n virtuals: true,\n});\n\n\nexport type RegistryExtensionModelType = Model<IRegistryExtensionModel>;\nexport const RegistryExtensionModelFunc: (db: Connection) => RegistryExtensionModelType = (db) =>\n db.model<IRegistryExtensionModel>('extension', RegistryExtensionSchema);\n\n","export * from './registry-extension-repository';\n","import * as ILogger from 'bunyan';\nimport * as _ from 'lodash';\nimport { injectable, inject, optional } from 'inversify';\nimport * as mongoose from 'mongoose';\nimport { IRegistryExtensionRepository } from '../../interfaces';\nimport { RegistryExtensionModelType, RegistryExtensionModelFunc } from '../models';\nimport { TYPES } from '../../constants';\nimport { IRegistryExtensionRelease } from '@adminide-stack/extension-api';\n\n@injectable()\nexport class RegistryExtensionRepository implements IRegistryExtensionRepository {\n\n private logger: ILogger;\n\n private repositoryExtensionModel: RegistryExtensionModelType;\n constructor(\n @inject(TYPES.IExtensionMongoConnection)\n db: mongoose.Connection,\n\n @inject('Logger')\n logger: ILogger,\n\n @inject('MongoOptions')\n @optional()\n options?,\n ) {\n this.logger = logger.child({ className: RegistryExtensionRepository });\n this.repositoryExtensionModel = RegistryExtensionModelFunc(db);\n }\n\n public async createExtension(publisherId: string, name: string) {\n this.logger.trace('createExtension with publisherId [%s], name [%s]', publisherId, name);\n return this.repositoryExtensionModel.create({\n publisherId,\n name,\n manifest: null,\n uuid: '', \n releases: null, \n extensionID: '',\n } as any);\n }\n\n public async updateExtensionName(extensionID: string, name: string) {\n this.logger.trace('updateExtensionName with extension [%s], name [%s]', extensionID, name);\n await this.repositoryExtensionModel.update({ extensionID }, { $set: { name } }, { upsert: true });\n return this.repositoryExtensionModel.findOne({ extensionID }).exec();\n }\n\n public async deleteExtension(extensionID) {\n try {\n this.logger.trace('deleteExtension with extensionID [%s]', extensionID);\n const deleteRecord = await this.repositoryExtensionModel.deleteOne({ extensionID }).exec();\n return deleteRecord.acknowledged && deleteRecord.deletedCount === 1;\n } catch (err) {\n this.logger.error('delete account with payload [%s] failed due to [%o]', extensionID, err);\n return false;\n }\n }\n\n public async extensionReleases(extensionID: string): Promise<IRegistryExtensionRelease[]> {\n const extension = await this.findExtension(extensionID);\n return extension.releases as any;\n }\n\n // TODO: change param to IPublishRequest\n public async publishExtension(request: any) {\n let extension = await this.repositoryExtensionModel.findOne({ extensionID: request.extensionID }).exec();\n const obj: any = _.pick(request, ['extensionID', 'name', 'description', 'publisher']);\n\n let manifest: any = {};\n try {\n manifest = JSON.parse(request.manifest);\n } catch (e) { }\n\n obj.type = _.get(manifest, 'extension.type');\n obj.activationEvents = manifest.activationEvents || [];\n\n if (!extension) {\n this.logger.debug('New extension created...');\n extension = await this.repositoryExtensionModel.create(obj);\n }\n\n const release = {\n bundle: request.bundle,\n version: request.version,\n manifest: request.manifest,\n sourceMap: request.sourceMap,\n extensionID: request.extensionID,\n activationEvents: manifest.activationEvents,\n };\n\n try {\n this.logger.trace('publishExtension with request [%j]', request);\n\n const releaseExists = await this.repositoryExtensionModel.findOne({ extensionID: request.extensionID, 'releases.version': request.version });\n\n if (!_.isEmpty(extension.releases) && (releaseExists && !request.force)) {\n this.logger.debug('Extension with same version already released. [%j]', request.force);\n throw new Error('Extension publish was failed: This version already released. Add `--force` flag.');\n } else {\n const releases = _.filter(\n extension.releases,\n (record: any) =>\n record.version !== request.version)\n .concat([release] as any[]);\n\n this.logger.trace('Release updates [%j]', releases);\n\n await this.repositoryExtensionModel.update({ extensionID: request.extensionID }, { $set: { ...obj, releases, version: request.version } }, { upsert: true });\n }\n\n return this.repositoryExtensionModel.findOne({ extensionID: request.extensionID }).exec();\n } catch (err) {\n this.logger.error('publishExtension was failed for request [%j] with error[%o]', request, err);\n throw new Error('Extension publish was failed');\n }\n }\n\n public async findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]) {\n\n return this.repositoryExtensionModel.find({}).exec();\n }\n\n public async findExtension(extensionID: string, version?: string) {\n const q: any = { extensionID };\n\n if (version) {\n q.version = version;\n }\n\n return this.repositoryExtensionModel.findOne(q);\n }\n}\n","module.exports = require(\"@common-stack/server-core\");","module.exports = require(\"bunyan\");","module.exports = require(\"inversify\");","module.exports = require(\"lodash\");","module.exports = require(\"mongoose\");","module.exports = require(\"nanoid/generate\");","module.exports = require(\"url\");"],"sourceRoot":""}
|
1
|
+
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@adminide-stack/marketplace-module-server/./src/graphql/schemas/schema.graphql","webpack://@adminide-stack/marketplace-module-server/./src/constants/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/constants/types.ts","webpack://@adminide-stack/marketplace-module-server/./src/containers/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/containers/module.ts","webpack://@adminide-stack/marketplace-module-server/./src/graphql/resolvers/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/graphql/resolvers/resolvers.ts","webpack://@adminide-stack/marketplace-module-server/./src/graphql/schemas/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/interfaces/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/interfaces/registry-extension-repository.ts","webpack://@adminide-stack/marketplace-module-server/./src/interfaces/registry-extension-service.ts","webpack://@adminide-stack/marketplace-module-server/./src/module.ts","webpack://@adminide-stack/marketplace-module-server/./src/services/extension-service.ts","webpack://@adminide-stack/marketplace-module-server/./src/services/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/store/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/store/models/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/store/models/registry-extension-model.ts","webpack://@adminide-stack/marketplace-module-server/./src/store/repository/index.ts","webpack://@adminide-stack/marketplace-module-server/./src/store/repository/registry-extension-repository.ts","webpack://@adminide-stack/marketplace-module-server/external commonjs \"@common-stack/server-core\"","webpack://@adminide-stack/marketplace-module-server/external commonjs \"bunyan\"","webpack://@adminide-stack/marketplace-module-server/external commonjs \"inversify\"","webpack://@adminide-stack/marketplace-module-server/external commonjs \"lodash\"","webpack://@adminide-stack/marketplace-module-server/external commonjs \"mongoose\"","webpack://@adminide-stack/marketplace-module-server/external commonjs \"nanoid/generate\"","webpack://@adminide-stack/marketplace-module-server/external commonjs \"url\"","webpack://@adminide-stack/marketplace-module-server/webpack/bootstrap","webpack://@adminide-stack/marketplace-module-server/webpack/runtime/define property getters","webpack://@adminide-stack/marketplace-module-server/webpack/runtime/hasOwnProperty shorthand","webpack://@adminide-stack/marketplace-module-server/webpack/runtime/make namespace object","webpack://@adminide-stack/marketplace-module-server/webpack/before-startup","webpack://@adminide-stack/marketplace-module-server/webpack/startup","webpack://@adminide-stack/marketplace-module-server/webpack/after-startup"],"sourcesContent":["export default \"\\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}\";","\nexport * from './types';\n","\nexport const TYPES = {\n IExtensionMongoConnection: Symbol('ExtensionMongoConnection'),\n IRegistryExtensionService: Symbol('IRegistryExtensionService'),\n IRegistryExtensionRepository: Symbol('IRegistryExtensionRepository'),\n};\n","export * from './module';\n","import { ContainerModule, interfaces } from 'inversify';\nimport { IRegistryExtensionRepository, IRegistryExtensionService } from '../interfaces';\nimport { TYPES } from '../constants';\nimport { RegistryExtensionService } from '../services';\nimport { RegistryExtensionRepository } from '../store';\n\nexport const extensionModule: (settings: any) => interfaces.ContainerModule =\n (settings: any) => new ContainerModule((bind: interfaces.Bind) => {\n\n bind(TYPES.IExtensionMongoConnection).toConstantValue(settings.mongoConnection);\n // Extension Service\n bind<IRegistryExtensionService>(TYPES.IRegistryExtensionService)\n .to(RegistryExtensionService)\n .inSingletonScope()\n .whenTargetIsDefault();\n\n // Extension Repository\n bind<IRegistryExtensionRepository>(TYPES.IRegistryExtensionRepository)\n .to(RegistryExtensionRepository)\n .inSingletonScope()\n .whenTargetIsDefault();\n\n });\n","export * from './resolvers';\n","import { PubSub, withFilter } from 'graphql-subscriptions';\nimport * as Logger from 'bunyan';\nimport { IRegistryExtensionService } from '../../interfaces';\nimport * as _ from 'lodash';\nimport * as url from 'url';\n\ntype IContext = {\n registryExtensionService: IRegistryExtensionService;\n};\n\n\nconst bundleUrlGenerator = (extensionID, version) => url.resolve(process.env.BACKEND_URL, `_registry/${extensionID}/${version}`);\n\nexport const resolver: any = (pubsub: PubSub, logger?: Logger) => ({\n\n Contributes: {\n menus: (root) => {\n let result;\n // const manifest = JSON.parse(root.manifest);\n // console.log('manifest======>', manifest);\n const menus = root.menus;\n console.log('menus=========>', menus);\n try {\n result = {\n commandPalette: menus['commandPalette'] || [],\n explorer: { context: menus['explorer/context'] || [] },\n editor: {\n context: menus['editor/context'] || [],\n title: {\n own: menus['editor/title'] || [],\n context: menus['editor/title/context'] || [],\n },\n },\n debug: {\n callstack: {\n context: menus['debug/callstack/context'] || [],\n },\n toolbar: menus['debug/toolbar'] || [],\n },\n scm: {\n title: menus['scm/title'] || [],\n resourceGroup: {\n context: menus['scm/resourceGroup/context'] || [],\n },\n resource: {\n context: menus['scm/resource/context'] || [],\n },\n change: {\n title: menus['scm/change/title'] || [],\n },\n },\n view: {\n title: menus['view/title'] || [],\n item: {\n context: menus['view/item/context'] || [],\n },\n },\n touchBar: menus['touchBar'] || [],\n };\n } catch (err) {\n console.log('err', err);\n }\n console.log('result====>', result, result.editor);\n return result;\n },\n },\n ExtensionRegistry: {\n async extensions(root, args: { first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[] }, ctx: IContext) {\n logger && logger.debug('args [%j]', args);\n const nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);\n return { nodes };\n },\n\n async extension(root, args: { extensionID: string }, ctx: IContext) {\n return ctx.registryExtensionService.findExtension(args.extensionID);\n },\n\n async releases(root, args: { extensionID: string }, ctx: { registryExtensionService: any }) {\n return ctx.registryExtensionService.extensionReleases(args.extensionID);\n },\n\n async publishers(root, args, ctx: IContext) {\n\n },\n async viewerPublishers(root, args, ctx: IContext) {\n\n },\n async localExtensionIDPrefix(root, args, ctx: IContext) {\n\n },\n },\n ExtensionRelease: {\n bundleURL: (root) => bundleUrlGenerator(root.extensionID, root.version),\n },\n ExtensionManifest: {\n bundleURL: ({ version, extensionID }) => bundleUrlGenerator(extensionID, version),\n },\n RegistryExtension: {\n manifest: (root) => {\n let result;\n // console.log('root=================>', JSON.parse(root.manifest));\n try {\n result = {\n ...JSON.parse(root.manifest),\n extensionID: root.extensionID,\n raw: root.manifest,\n };\n } catch (err) {\n\n }\n return result;\n },\n url: (root) => bundleUrlGenerator(root.extensionID, root.version),\n },\n Query: {\n // namespace for running all extension registry queries\n extensionRegistry() {\n return {};\n },\n\n /// DEPRECATED: Remove all fo the following resolvers as they moved to namespace ExtensionRegistry\n async extensions(root, args: { first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[] }, ctx: IContext) {\n logger && logger.debug('args [%j]', args);\n let nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);\n // const res = { nodes: {...nodes, manifest: JSON.parse(nodes[0].manifest)} };\n // console.log('nodes==>', nodes);\n // nodes = nodes.map(el => {\n // return {\n // ...JSON.parse(JSON.stringify(el)),\n // manifest: JSON.parse(el.manifest),\n // };\n // });\n // console.log('nodes=======after>', nodes);\n return { nodes };\n },\n\n async extension(root, args: { extensionID: string }, ctx: IContext) {\n return ctx.registryExtensionService.findExtension(args.extensionID);\n },\n\n async releases(root, args: { extensionID: string }, ctx: { registryExtensionService: any }) {\n return ctx.registryExtensionService.extensionReleases(args.extensionID);\n },\n\n },\n Mutation: {\n async createExtension(root, args: { publisher: string, name: string }, ctx: IContext) {\n\n const extension = await ctx.registryExtensionService.createExtension(args.publisher, args.name);\n return { extension };\n },\n updateExtension(root, args: { extension: string, name: string }, ctx: IContext) {\n\n return ctx.registryExtensionService.updateExtensionName(args.extension, args.name);\n },\n\n deleteExtension(root, args: { extension: string }, ctx: IContext) {\n\n return ctx.registryExtensionService.deleteExtension(args.extension);\n },\n\n async publishExtension(root,\n args: { extensionID: string, manifest: string, version: any, bundle: string, sourceMap?: string, force?: boolean }, ctx: IContext) {\n const extension = await ctx.registryExtensionService.publishExtension({ ...args });\n return { extension };\n },\n },\n});\n","import schema from './schema.graphql';\n\nexport { schema };\n","import { Feature } from '@common-stack/server-core';\nimport module from './module';\n\nexport * from './interfaces';\nexport * from './constants';\nexport default new Feature(module);\n","export * from './registry-extension-repository';\nexport * from './registry-extension-service';\n","import { IRegistryExtension, IPublishRequest, IRegistryExtensionRelease } from '@adminide-stack/extension-api';\n\n\n\nexport interface IRepositoryDefault {\n updatedAt?: string;\n createdAt?: string;\n}\n\nexport interface IRegistryExtensionRepository {\n extensionReleases(extensionID: string): Promise<IRegistryExtensionRelease[]>;\n\n createExtension(publisherId: string, name: string): Promise<IRegistryExtension & IRepositoryDefault>;\n\n updateExtensionName(extensionID: string, name: string);\n\n deleteExtension(extensionID: string): boolean | Promise<boolean>;\n\n publishExtension(request: IPublishRequest);\n\n findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]);\n\n findExtension(extensionID: string);\n}\n","import { IRegistryExtension, IPublishRequest, IRegistryExtensionRelease } from '@adminide-stack/extension-api';\n\n\n\nexport interface IRegistryExtensionService {\n extensionReleases(extensionID: string): Promise<IRegistryExtensionRelease[]>;\n\n createExtension(publisherId: string, name: string): Promise<IRegistryExtension>;\n\n updateExtensionName(extensionID: string, name: string);\n\n deleteExtension(extensionID: string): boolean | Promise<boolean>;\n\n publishExtension(request: IPublishRequest);\n\n findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]);\n\n findExtension(extensionID: string);\n}\n","import { interfaces } from 'inversify';\nimport * as _ from 'lodash';\nimport { Feature } from '@common-stack/server-core';\nimport { TYPES } from './constants';\nimport { schema } from './graphql/schemas';\nimport { resolver } from './graphql/resolvers';\nimport { IRegistryExtensionService } from './interfaces';\nimport { extensionModule } from './containers';\n\nconst extensionServiceGen = (container: interfaces.Container) => {\n const environment = container.get('Environment');\n return { registryExtensionService: container.get<IRegistryExtensionService>(TYPES.IRegistryExtensionService) };\n};\n\nexport default new Feature({\n schema,\n createResolversFunc: resolver,\n createContainerFunc: [extensionModule],\n createServiceFunc: extensionServiceGen,\n middleware: [\n (app) => {\n app.get(\n '/_registry/:accountName/:extension/:version?',\n (req, res, next) => {\n // TODO: Add validation of all params exist or not.\n // for example, if `extension` is missing we should throw some valid error.\n req.services.registryExtensionService.findExtension(`${req.params.accountName}/${req.params.extension}`, req.params.version)\n .then(data => {\n const release = _.find(data.releases, { version: req.params.version || data.version });\n const bundle = _.get(release, 'bundle');\n\n res.set('content-type', 'text/javascript');\n res.send(bundle);\n })\n .catch(err => res.status(500).json({ ok: false, error: err.stack }));\n });\n },\n ],\n});\n","import { IRegistryExtensionService, IRegistryExtensionRepository, IRepositoryDefault } from '../interfaces';\n\nimport { inject, injectable } from 'inversify';\nimport * as ILogger from 'bunyan';\nimport { TYPES } from '../constants';\n\n@injectable()\nexport class RegistryExtensionService implements IRegistryExtensionService {\n\n private logger: ILogger;\n\n constructor(\n @inject(TYPES.IRegistryExtensionRepository)\n private extensionRepository: IRegistryExtensionRepository,\n\n @inject('Logger')\n logger: ILogger,\n ) {\n this.logger = logger.child({ className: RegistryExtensionService });\n }\n\n public async createExtension(publisherId: string, name: string) {\n return this.extensionRepository.createExtension(publisherId, name);\n }\n\n public async updateExtensionName(extensionID: string, name: string) {\n return this.extensionRepository.updateExtensionName(extensionID, name);\n }\n\n\n // TODO: Add method to interface\n public async extensionReleases(extensionID: string) {\n this.logger.debug(`Fetching releases for ${extensionID}`);\n return this.extensionRepository.extensionReleases(extensionID);\n }\n\n public async deleteExtension(extensionID: string) {\n return this.extensionRepository.deleteExtension(extensionID);\n }\n\n public async publishExtension(request) {\n return this.extensionRepository.publishExtension(request);\n }\n\n public async findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]) {\n\n return this.extensionRepository.findExtensions(first, query, local, remote, prioritizeExtensionIDs);\n }\n\n public async findExtension(extensionID: string) {\n return this.extensionRepository.findExtension(extensionID);\n }\n}\n","export * from './extension-service';\n","export * from './models';\nexport * from './repository';\n","export * from './registry-extension-model';\n","import * as _ from 'lodash';\nimport { Schema, Model, Document, Mongoose, Connection } from 'mongoose';\nimport { IRegistryExtensionRecord } from '@adminide-stack/extension-api';\n// const generate = require('nanoid/generate');\nimport * as generate from 'nanoid/generate';\n\n\nexport interface IRegistryExtensionModel extends Document, IRegistryExtensionRecord {\n id: any;\n type: string;\n publisherId: string;\n}\n\n\nconst RegistryExtensionReleaseSchema = new Schema({\n creatorUserId: { type: String },\n releaseVersion: { type: String },\n extensionID: String,\n activationEvents: [String],\n type: String,\n manifest: { type: String },\n version: { type: String },\n bundle: { type: String },\n sourceMap: { type: String },\n}, { strict: false });\n\nconst RegistryExtensionSchema = new Schema<IRegistryExtensionModel>({\n type: String,\n version: String,\n extensionID: String,\n publisherId: String,\n activationEvents: [String],\n uuid: { type: String, default: () => generate('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 15)},\n name: { type: String, default: () => generate('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', 6)},\n releases: [{ type: RegistryExtensionReleaseSchema}],\n}, { strict: false });\n\n\n\nRegistryExtensionSchema.virtual('manifest').get(function () {\n const release: any = _.find(this.releases, { version: this.version });\n return release.manifest || {};\n});\n\nRegistryExtensionSchema.virtual('id').get(function () {\n return this._id.toHexString();\n});\n\nRegistryExtensionSchema.set('toJSON', {\n virtuals: true,\n});\n\nRegistryExtensionSchema.set('toObject', {\n virtuals: true,\n});\n\n\nexport type RegistryExtensionModelType = Model<IRegistryExtensionModel>;\nexport const RegistryExtensionModelFunc: (db: Connection) => RegistryExtensionModelType = (db) =>\n db.model<IRegistryExtensionModel>('extension', RegistryExtensionSchema);\n\n","export * from './registry-extension-repository';\n","import * as ILogger from 'bunyan';\nimport * as _ from 'lodash';\nimport { injectable, inject, optional } from 'inversify';\nimport * as mongoose from 'mongoose';\nimport { IRegistryExtensionRepository } from '../../interfaces';\nimport { RegistryExtensionModelType, RegistryExtensionModelFunc } from '../models';\nimport { TYPES } from '../../constants';\nimport { IRegistryExtensionRelease } from '@adminide-stack/extension-api';\n\n@injectable()\nexport class RegistryExtensionRepository implements IRegistryExtensionRepository {\n\n private logger: ILogger;\n\n private repositoryExtensionModel: RegistryExtensionModelType;\n constructor(\n @inject(TYPES.IExtensionMongoConnection)\n db: mongoose.Connection,\n\n @inject('Logger')\n logger: ILogger,\n\n @inject('MongoOptions')\n @optional()\n options?,\n ) {\n this.logger = logger.child({ className: RegistryExtensionRepository });\n this.repositoryExtensionModel = RegistryExtensionModelFunc(db);\n }\n\n public async createExtension(publisherId: string, name: string) {\n this.logger.trace('createExtension with publisherId [%s], name [%s]', publisherId, name);\n return this.repositoryExtensionModel.create({\n publisherId,\n name,\n manifest: null,\n uuid: '', \n releases: null, \n extensionID: '',\n });\n }\n\n public async updateExtensionName(extensionID: string, name: string) {\n this.logger.trace('updateExtensionName with extension [%s], name [%s]', extensionID, name);\n await this.repositoryExtensionModel.update({ extensionID }, { $set: { name } }, { upsert: true });\n return this.repositoryExtensionModel.findOne({ extensionID }).exec();\n }\n\n public async deleteExtension(extensionID) {\n try {\n this.logger.trace('deleteExtension with extensionID [%s]', extensionID);\n const deleteRecord = await this.repositoryExtensionModel.deleteOne({ extensionID }).exec();\n return deleteRecord.acknowledged && deleteRecord.deletedCount === 1;\n } catch (err) {\n this.logger.error('delete account with payload [%s] failed due to [%o]', extensionID, err);\n return false;\n }\n }\n\n public async extensionReleases(extensionID: string): Promise<IRegistryExtensionRelease[]> {\n const extension = await this.findExtension(extensionID);\n return extension.releases as any;\n }\n\n // TODO: change param to IPublishRequest\n public async publishExtension(request: any) {\n let extension = await this.repositoryExtensionModel.findOne({ extensionID: request.extensionID }).exec();\n const obj: any = _.pick(request, ['extensionID', 'name', 'description', 'publisher']);\n\n let manifest: any = {};\n try {\n manifest = JSON.parse(request.manifest);\n } catch (e) { }\n\n obj.type = _.get(manifest, 'extension.type');\n obj.activationEvents = manifest.activationEvents || [];\n\n if (!extension) {\n this.logger.debug('New extension created...');\n extension = await this.repositoryExtensionModel.create(obj) as any;\n }\n\n const release = {\n bundle: request.bundle,\n version: request.version,\n manifest: request.manifest,\n sourceMap: request.sourceMap,\n extensionID: request.extensionID,\n activationEvents: manifest.activationEvents,\n };\n\n try {\n this.logger.trace('publishExtension with request [%j]', request);\n\n const releaseExists = await this.repositoryExtensionModel.findOne({ extensionID: request.extensionID, 'releases.version': request.version });\n\n if (!_.isEmpty(extension.releases) && (releaseExists && !request.force)) {\n this.logger.debug('Extension with same version already released. [%j]', request.force);\n throw new Error('Extension publish was failed: This version already released. Add `--force` flag.');\n } else {\n const releases = _.filter(\n extension.releases,\n (record: any) =>\n record.version !== request.version)\n .concat([release] as any[]);\n\n this.logger.trace('Release updates [%j]', releases);\n\n await this.repositoryExtensionModel.update({ extensionID: request.extensionID }, { $set: { ...obj, releases, version: request.version } }, { upsert: true });\n }\n\n return this.repositoryExtensionModel.findOne({ extensionID: request.extensionID }).exec();\n } catch (err) {\n this.logger.error('publishExtension was failed for request [%j] with error[%o]', request, err);\n throw new Error('Extension publish was failed');\n }\n }\n\n public async findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]) {\n\n return this.repositoryExtensionModel.find({}).exec();\n }\n\n public async findExtension(extensionID: string, version?: string) {\n const q: any = { extensionID };\n\n if (version) {\n q.version = version;\n }\n\n return this.repositoryExtensionModel.findOne(q);\n }\n}\n","module.exports = require(\"@common-stack/server-core\");","module.exports = require(\"bunyan\");","module.exports = require(\"inversify\");","module.exports = require(\"lodash\");","module.exports = require(\"mongoose\");","module.exports = require(\"nanoid/generate\");","module.exports = require(\"url\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}
|
@@ -4,26 +4,26 @@ export declare class RegistryExtensionService implements IRegistryExtensionServi
|
|
4
4
|
private extensionRepository;
|
5
5
|
private logger;
|
6
6
|
constructor(extensionRepository: IRegistryExtensionRepository, logger: ILogger);
|
7
|
-
createExtension(publisherId: string, name: string): Promise<import("
|
7
|
+
createExtension(publisherId: string, name: string): Promise<import("@adminide-stack/extension-api").INode & {
|
8
8
|
__typename?: "RegistryExtension";
|
9
9
|
id: string;
|
10
10
|
uuid: string;
|
11
|
-
publisher?: import("
|
11
|
+
publisher?: import("@adminide-stack/extension-api").IRegistryPublisher;
|
12
12
|
extensionID?: string;
|
13
13
|
extensionIDWithoutRegistry?: string;
|
14
14
|
name: string;
|
15
15
|
version?: string;
|
16
16
|
activationEvents?: string[];
|
17
|
-
manifest?: import("
|
17
|
+
manifest?: import("@adminide-stack/extension-api").IExtensionManifest;
|
18
18
|
updatedAt?: string;
|
19
19
|
url?: string;
|
20
20
|
remoteURL?: string;
|
21
21
|
isLocal?: boolean;
|
22
22
|
viewerCanAdminister?: boolean;
|
23
|
-
releases?: import("
|
23
|
+
releases?: import("@adminide-stack/extension-api").IRegistryExtensionRelease[];
|
24
24
|
} & IRepositoryDefault>;
|
25
25
|
updateExtensionName(extensionID: string, name: string): Promise<any>;
|
26
|
-
extensionReleases(extensionID: string): Promise<import("
|
26
|
+
extensionReleases(extensionID: string): Promise<import("@adminide-stack/extension-api").IRegistryExtensionRelease[]>;
|
27
27
|
deleteExtension(extensionID: string): Promise<boolean>;
|
28
28
|
publishExtension(request: any): Promise<any>;
|
29
29
|
findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]): Promise<any>;
|
@@ -7,20 +7,20 @@ export declare class RegistryExtensionRepository implements IRegistryExtensionRe
|
|
7
7
|
private repositoryExtensionModel;
|
8
8
|
constructor(db: mongoose.Connection, logger: ILogger, options?: any);
|
9
9
|
createExtension(publisherId: string, name: string): Promise<import("../models").IRegistryExtensionModel & {
|
10
|
-
_id:
|
10
|
+
_id: mongoose.Types.ObjectId;
|
11
11
|
}>;
|
12
12
|
updateExtensionName(extensionID: string, name: string): Promise<import("../models").IRegistryExtensionModel & {
|
13
|
-
_id:
|
13
|
+
_id: mongoose.Types.ObjectId;
|
14
14
|
}>;
|
15
15
|
deleteExtension(extensionID: any): Promise<boolean>;
|
16
16
|
extensionReleases(extensionID: string): Promise<IRegistryExtensionRelease[]>;
|
17
17
|
publishExtension(request: any): Promise<import("../models").IRegistryExtensionModel & {
|
18
|
-
_id:
|
18
|
+
_id: mongoose.Types.ObjectId;
|
19
19
|
}>;
|
20
20
|
findExtensions(first: number, query: string, local?: boolean, remote?: boolean, prioritizeExtensionIDs?: string[]): Promise<(import("../models").IRegistryExtensionModel & {
|
21
|
-
_id:
|
21
|
+
_id: mongoose.Types.ObjectId;
|
22
22
|
})[]>;
|
23
23
|
findExtension(extensionID: string, version?: string): Promise<import("../models").IRegistryExtensionModel & {
|
24
|
-
_id:
|
24
|
+
_id: mongoose.Types.ObjectId;
|
25
25
|
}>;
|
26
26
|
}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@adminide-stack/marketplace-module-server",
|
3
|
-
"version": "1.1.3-alpha.
|
3
|
+
"version": "1.1.3-alpha.86",
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
5
5
|
"license": "ISC",
|
6
6
|
"author": "CDMBase LLC",
|
@@ -38,8 +38,8 @@
|
|
38
38
|
}
|
39
39
|
},
|
40
40
|
"dependencies": {
|
41
|
-
"@adminide-stack/extension-api": "1.1.3-alpha.
|
42
|
-
"@adminide-stack/marketplace-core": "1.1.3-alpha.
|
41
|
+
"@adminide-stack/extension-api": "1.1.3-alpha.86",
|
42
|
+
"@adminide-stack/marketplace-core": "1.1.3-alpha.86",
|
43
43
|
"nanoid": "^1.3.1"
|
44
44
|
},
|
45
45
|
"peerDependencies": {
|
@@ -51,5 +51,5 @@
|
|
51
51
|
"typescript": {
|
52
52
|
"definition": "lib/index.d.ts"
|
53
53
|
},
|
54
|
-
"gitHead": "
|
54
|
+
"gitHead": "a369d6109ea277828b106e014166f51b732c7a73"
|
55
55
|
}
|