@adminide-stack/marketplace-module-server 12.0.4-alpha.91 → 12.0.4-alpha.95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/Readme.md +321 -0
  2. package/lib/constants/extension-events.d.ts +136 -0
  3. package/lib/constants/extension-events.d.ts.map +1 -0
  4. package/lib/containers/module.d.ts +8 -0
  5. package/lib/containers/module.d.ts.map +1 -1
  6. package/lib/containers/module.js +9 -3
  7. package/lib/containers/module.js.map +1 -1
  8. package/lib/dataloaders/index.d.ts +2 -0
  9. package/lib/dataloaders/index.d.ts.map +1 -0
  10. package/lib/dataloaders/registry-extension-data-loader.d.ts +6 -0
  11. package/lib/dataloaders/registry-extension-data-loader.d.ts.map +1 -0
  12. package/lib/dataloaders/registry-extension-data-loader.js +6 -0
  13. package/lib/dataloaders/registry-extension-data-loader.js.map +1 -0
  14. package/lib/graphql/resolvers/index.d.ts +1 -1
  15. package/lib/graphql/resolvers/index.d.ts.map +1 -1
  16. package/lib/graphql/resolvers/index.js +1 -0
  17. package/lib/graphql/resolvers/index.js.map +1 -0
  18. package/lib/graphql/resolvers/installed-extension-resolver.d.ts +5 -0
  19. package/lib/graphql/resolvers/installed-extension-resolver.d.ts.map +1 -0
  20. package/lib/graphql/resolvers/installed-extension-resolver.js +183 -0
  21. package/lib/graphql/resolvers/installed-extension-resolver.js.map +1 -0
  22. package/lib/graphql/resolvers/registry-extension-resolver.d.ts +5 -0
  23. package/lib/graphql/resolvers/registry-extension-resolver.d.ts.map +1 -0
  24. package/lib/graphql/resolvers/{resolvers.js → registry-extension-resolver.js} +59 -47
  25. package/lib/graphql/resolvers/registry-extension-resolver.js.map +1 -0
  26. package/lib/graphql/schemas/extension-registry.graphql +74 -0
  27. package/lib/graphql/schemas/extension-registry.graphql.js +1 -0
  28. package/lib/graphql/schemas/extension-registry.graphql.js.map +1 -0
  29. package/lib/graphql/schemas/index.d.ts.map +1 -1
  30. package/lib/graphql/schemas/index.js +1 -4
  31. package/lib/graphql/schemas/index.js.map +1 -1
  32. package/lib/graphql/schemas/installed-extension.graphql +294 -0
  33. package/lib/graphql/schemas/installed-extension.graphql.js +1 -0
  34. package/lib/graphql/schemas/installed-extension.graphql.js.map +1 -0
  35. package/lib/graphql/schemas/service.graphql +181 -0
  36. package/lib/graphql/schemas/service.graphql.js +1 -0
  37. package/lib/graphql/schemas/service.graphql.js.map +1 -0
  38. package/lib/index.d.ts +2 -0
  39. package/lib/index.d.ts.map +1 -1
  40. package/lib/index.js +1 -1
  41. package/lib/index.js.map +1 -1
  42. package/lib/module.d.ts.map +1 -1
  43. package/lib/module.js +6 -4
  44. package/lib/module.js.map +1 -1
  45. package/lib/plugins/extension-moleculer-service.d.ts +86 -0
  46. package/lib/plugins/extension-moleculer-service.d.ts.map +1 -0
  47. package/lib/plugins/index.d.ts +2 -0
  48. package/lib/plugins/index.d.ts.map +1 -0
  49. package/lib/services/extension-service.d.ts +35 -47
  50. package/lib/services/extension-service.d.ts.map +1 -1
  51. package/lib/services/extension-service.js +33 -15
  52. package/lib/services/extension-service.js.map +1 -1
  53. package/lib/services/index.d.ts +2 -0
  54. package/lib/services/index.d.ts.map +1 -1
  55. package/lib/services/installed-extension-service-ext.d.ts +13 -0
  56. package/lib/services/installed-extension-service-ext.d.ts.map +1 -0
  57. package/lib/services/installed-extension-service-ext.js +271 -0
  58. package/lib/services/installed-extension-service-ext.js.map +1 -0
  59. package/lib/services/installed-extension-service.d.ts +93 -0
  60. package/lib/services/installed-extension-service.d.ts.map +1 -0
  61. package/lib/services/installed-extension-service.js +400 -0
  62. package/lib/services/installed-extension-service.js.map +1 -0
  63. package/lib/services/installed-extension-service.test.d.ts +2 -0
  64. package/lib/services/installed-extension-service.test.d.ts.map +1 -0
  65. package/lib/store/index.d.ts +1 -1
  66. package/lib/store/index.d.ts.map +1 -1
  67. package/lib/store/models/index.d.ts +1 -0
  68. package/lib/store/models/index.d.ts.map +1 -1
  69. package/lib/store/models/installed-extension-model.d.ts +4 -0
  70. package/lib/store/models/installed-extension-model.d.ts.map +1 -0
  71. package/lib/store/models/installed-extension-model.js +297 -0
  72. package/lib/store/models/installed-extension-model.js.map +1 -0
  73. package/lib/store/models/registry-extension-model.d.ts +2 -7
  74. package/lib/store/models/registry-extension-model.d.ts.map +1 -1
  75. package/lib/store/models/registry-extension-model.js +40 -19
  76. package/lib/store/models/registry-extension-model.js.map +1 -1
  77. package/lib/store/repositories/index.d.ts +3 -0
  78. package/lib/store/repositories/index.d.ts.map +1 -0
  79. package/lib/store/repositories/installed-extension-repository.d.ts +71 -0
  80. package/lib/store/repositories/installed-extension-repository.d.ts.map +1 -0
  81. package/lib/store/repositories/installed-extension-repository.js +414 -0
  82. package/lib/store/repositories/installed-extension-repository.js.map +1 -0
  83. package/lib/store/repositories/registry-extension-repository.d.ts +54 -0
  84. package/lib/store/repositories/registry-extension-repository.d.ts.map +1 -0
  85. package/lib/store/{repository → repositories}/registry-extension-repository.js +44 -42
  86. package/lib/store/repositories/registry-extension-repository.js.map +1 -0
  87. package/lib/templates/constants/DB_COLL_NAMES.ts.template +5 -0
  88. package/lib/templates/constants/SERVER_TYPES.ts.template +3 -0
  89. package/lib/templates/repositories/InstalledExtensionRepository.ts.template +94 -0
  90. package/lib/templates/repositories/RegistryExtensionRepository.ts.template +10 -15
  91. package/lib/templates/services/InstalledExtensionDataLoader.ts.template +2 -0
  92. package/lib/templates/services/InstalledExtensionService.ts.template +168 -0
  93. package/lib/templates/services/RegistryExtensionDataLoader.ts.template +2 -0
  94. package/lib/templates/services/RegistryExtensionService.ts.template +10 -10
  95. package/lib/tests/extension-integration.test.d.ts +2 -0
  96. package/lib/tests/extension-integration.test.d.ts.map +1 -0
  97. package/lib/tests/test-extension-services.d.ts +1 -0
  98. package/lib/tests/test-extension-services.d.ts.map +1 -0
  99. package/package.json +12 -7
  100. package/lib/graphql/resolvers/resolvers.d.ts +0 -2
  101. package/lib/graphql/resolvers/resolvers.d.ts.map +0 -1
  102. package/lib/graphql/resolvers/resolvers.js.map +0 -1
  103. package/lib/graphql/schemas/extension.graphql +0 -57
  104. package/lib/graphql/schemas/extension.graphql.js +0 -1
  105. package/lib/graphql/schemas/extension.graphql.js.map +0 -1
  106. package/lib/store/repository/index.d.ts +0 -2
  107. package/lib/store/repository/index.d.ts.map +0 -1
  108. package/lib/store/repository/registry-extension-repository.d.ts +0 -31
  109. package/lib/store/repository/registry-extension-repository.d.ts.map +0 -1
  110. package/lib/store/repository/registry-extension-repository.js.map +0 -1
@@ -0,0 +1,183 @@
1
+ const resolver = (pubsub, logger) => ({
2
+ InstalledExtension: {
3
+ extension: (root, args, ctx) => {
4
+ // Check if extension exists and is not null/undefined before calling dataloader
5
+ if (!root.extension || root.extension === null || root.extension === undefined) {
6
+ return null;
7
+ }
8
+ const extensionSlug = String(root.extension); // Convert ObjectId to string
9
+ return ctx.registryExtensionDataLoader.load(extensionSlug);
10
+ }
11
+ },
12
+ Query: {
13
+ /**
14
+ * Get all installed extensions for the current tenant
15
+ */
16
+ async installedExtensions(root, args, {
17
+ userContext,
18
+ installedExtensionService
19
+ }) {
20
+ const query = {
21
+ tenantId: userContext.tenantId
22
+ };
23
+ if (args.enabled !== undefined) {
24
+ query['settings.effectiveEnabled'] = args.enabled;
25
+ }
26
+ const results = await installedExtensionService.getInstalledExtensions(query);
27
+ return results;
28
+ },
29
+ /**
30
+ * Get a specific installed extension
31
+ */
32
+ async installedExtension(root, args, {
33
+ userContext,
34
+ installedExtensionService
35
+ }) {
36
+ return installedExtensionService.getInstalledExtension(userContext.tenantId, args.extensionSlug);
37
+ },
38
+ /**
39
+ * Get installed extensions that need attention (updates, deprecated, etc.)
40
+ */
41
+ async extensionsNeedingAttention(root, args, {
42
+ userContext,
43
+ installedExtensionService
44
+ }) {
45
+ return installedExtensionService.getExtensionsNeedingAttention(userContext.tenantId);
46
+ },
47
+ /**
48
+ * Check for available updates
49
+ */
50
+ async extensionUpdates(root, args, {
51
+ userContext,
52
+ installedExtensionService
53
+ }) {
54
+ return installedExtensionService.checkForUpdates(userContext.tenantId, args.extensionSlug);
55
+ }
56
+ },
57
+ Mutation: {
58
+ /**
59
+ * Install an extension from the registry
60
+ */
61
+ async installExtension(root, args, {
62
+ userContext,
63
+ installedExtensionService,
64
+ registryExtensionService
65
+ }) {
66
+ try {
67
+ const installedExtension = await installedExtensionService.installExtension({
68
+ ...args.input,
69
+ tenantId: userContext.tenantId,
70
+ installedVersion: args.input.version,
71
+ installedBy: userContext.accountId
72
+ });
73
+ return {
74
+ success: true,
75
+ extension: installedExtension,
76
+ message: `Extension ${args.input.extensionSlug} installed successfully`
77
+ };
78
+ } catch (error) {
79
+ return {
80
+ success: false,
81
+ extension: null,
82
+ message: error.message || `Failed to install extension ${args.input.extensionSlug}`
83
+ };
84
+ }
85
+ },
86
+ /**
87
+ * Uninstall an extension
88
+ */
89
+ async uninstallExtension(root, args, {
90
+ userContext,
91
+ installedExtensionService,
92
+ registryExtensionService
93
+ }) {
94
+ try {
95
+ const success = await installedExtensionService.uninstallExtension(userContext.tenantId, args.extensionSlug, userContext.accountId);
96
+ if (success) {
97
+ // Update the registry extension as uninstalled
98
+ await registryExtensionService.updateExtension(args.extensionSlug, {
99
+ installed: false
100
+ });
101
+ }
102
+ return {
103
+ success,
104
+ message: success ? `Extension ${args.extensionSlug} uninstalled successfully` : `Failed to uninstall extension ${args.extensionSlug}`
105
+ };
106
+ } catch (error) {
107
+ return {
108
+ success: false,
109
+ message: error.message || `Failed to uninstall extension ${args.extensionSlug}`
110
+ };
111
+ }
112
+ },
113
+ /**
114
+ * Enable or disable an extension
115
+ */
116
+ async toggleExtension(root, args, {
117
+ userContext,
118
+ installedExtensionService
119
+ }) {
120
+ const extension = await installedExtensionService.toggleExtension(userContext.tenantId, args.extensionSlug, args.enabled, userContext.accountId);
121
+ return {
122
+ success: true,
123
+ extension: extension,
124
+ message: `Extension ${args.extensionSlug} ${args.enabled ? 'enabled' : 'disabled'} successfully`
125
+ };
126
+ },
127
+ /**
128
+ * Update extension settings
129
+ */
130
+ async updateExtensionSettings(root, args, {
131
+ userContext,
132
+ installedExtensionService
133
+ }) {
134
+ const extension = await installedExtensionService.updateExtensionSettings(userContext.tenantId, args.extensionSlug, args.settings, userContext.accountId);
135
+ return {
136
+ success: true,
137
+ extension: extension,
138
+ message: `Extension ${args.extensionSlug} settings updated successfully`
139
+ };
140
+ },
141
+ /**
142
+ * Update an extension to a newer version
143
+ */
144
+ async updateExtensionVersion(root, args, {
145
+ userContext,
146
+ installedExtensionService
147
+ }) {
148
+ const extension = await installedExtensionService.updateExtensionVersion(userContext.tenantId, args.extensionSlug, args.version, userContext.accountId);
149
+ return {
150
+ success: true,
151
+ extension: extension,
152
+ message: `Extension ${args.extensionSlug} updated to version ${args.version} successfully`
153
+ };
154
+ },
155
+ /**
156
+ * Sync installed extensions with registry
157
+ */
158
+ async syncExtensionsWithRegistry(root, args, {
159
+ userContext,
160
+ installedExtensionService
161
+ }) {
162
+ await installedExtensionService.syncWithRegistry(userContext.tenantId);
163
+ return {
164
+ success: true,
165
+ message: 'Extensions synced with registry successfully'
166
+ };
167
+ },
168
+ /**
169
+ * Clean up deprecated or removed extensions
170
+ */
171
+ async cleanupExtensions(root, args, {
172
+ userContext,
173
+ installedExtensionService
174
+ }) {
175
+ const result = await installedExtensionService.cleanupExtensions(userContext.tenantId, args.dryRun || false);
176
+ return {
177
+ success: true,
178
+ result,
179
+ message: args.dryRun ? 'Cleanup preview completed' : `Cleanup completed: ${result.removed.length} removed, ${result.deprecated.length} deprecated`
180
+ };
181
+ }
182
+ }
183
+ });export{resolver};//# sourceMappingURL=installed-extension-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installed-extension-resolver.js","sources":["../../../src/graphql/resolvers/installed-extension-resolver.ts"],"sourcesContent":[null],"names":[],"mappings":"AAES,MAAA,QAAQ;AACjB,EAAA,kBAAoB,EAAA;AACpB,IAAA,SAA8B,EAAA,CAAA,IAAY,EAAA,IAAA;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,5 @@
1
+ import { PubSub } from 'graphql-subscriptions';
2
+ import { CdmLogger } from '@cdm-logger/core';
3
+ import { IResolvers } from 'common/server';
4
+ export declare const resolver: (pubsub: PubSub, logger?: CdmLogger.ILogger) => IResolvers;
5
+ //# sourceMappingURL=registry-extension-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-extension-resolver.d.ts","sourceRoot":"","sources":["../../../src/graphql/resolvers/registry-extension-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAsB,UAAU,EAAE,MAAM,eAAe,CAAC;AAK/D,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,SAAS,SAAS,CAAC,OAAO,KAAG,UA+LpE,CAAC"}
@@ -1,15 +1,18 @@
1
- import*as url from'url';const bundleUrlGenerator = (extensionID, version) => url.resolve(process.env.BACKEND_URL, `_registry/${extensionID}/${version}`);
1
+ import*as url from'url';/* eslint-disable no-unused-expressions */
2
+ const bundleUrlGenerator = (extensionSlug, version) => url.resolve(process.env.BACKEND_URL, `_registry/${extensionSlug}/${version}`);
2
3
  const resolver = (pubsub, logger) => ({
3
4
  Contributes: {
4
5
  menus: root => {
5
6
  let result;
6
7
  // const manifest = JSON.parse(root.manifest);
7
8
  // console.log('manifest======>', manifest);
8
- const menus = root.menus;
9
+ const {
10
+ menus
11
+ } = root;
9
12
  console.log('menus=========>', menus);
10
13
  try {
11
14
  result = {
12
- commandPalette: menus['commandPalette'] || [],
15
+ commandPalette: menus.commandPalette || [],
13
16
  explorer: {
14
17
  context: menus['explorer/context'] || []
15
18
  },
@@ -44,7 +47,7 @@ const resolver = (pubsub, logger) => ({
44
47
  context: menus['view/item/context'] || []
45
48
  }
46
49
  },
47
- touchBar: menus['touchBar'] || []
50
+ touchBar: menus.touchBar || []
48
51
  };
49
52
  } catch (err) {
50
53
  console.log('err', err);
@@ -58,27 +61,45 @@ const resolver = (pubsub, logger) => ({
58
61
  logger && logger.debug('args [%j]', args);
59
62
  const nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);
60
63
  return {
61
- nodes
64
+ nodes: nodes,
65
+ pageInfo: {
66
+ hasNextPage: false,
67
+ hasPreviousPage: false
68
+ },
69
+ totalCount: nodes.length
62
70
  };
63
71
  },
64
72
  async extension(root, args, ctx) {
65
- return ctx.registryExtensionService.findExtension(args.extensionID);
73
+ return ctx.registryExtensionService.findExtension(args.extensionSlug);
66
74
  },
67
75
  async releases(root, args, ctx) {
68
- return ctx.registryExtensionService.extensionReleases(args.extensionID);
76
+ return ctx.registryExtensionService.extensionReleases(args.extensionSlug);
69
77
  },
70
- async publishers(root, args, ctx) {},
71
- async viewerPublishers(root, args, ctx) {},
72
- async localExtensionIDPrefix(root, args, ctx) {}
78
+ async publishers(root, args, ctx) {
79
+ return {
80
+ nodes: [],
81
+ pageInfo: {
82
+ hasNextPage: false,
83
+ hasPreviousPage: false
84
+ },
85
+ totalCount: 0
86
+ };
87
+ },
88
+ async viewerPublishers(root, args, ctx) {
89
+ return [];
90
+ },
91
+ async localExtensionIDPrefix(root, args, ctx) {
92
+ return null;
93
+ }
73
94
  },
74
95
  ExtensionRelease: {
75
- bundleURL: root => bundleUrlGenerator(root.extensionID, root.version)
96
+ bundleURL: root => bundleUrlGenerator(root.extensionSlug, root.version)
76
97
  },
77
98
  ExtensionManifest: {
78
99
  bundleURL: ({
79
100
  version,
80
- extensionID
81
- }) => bundleUrlGenerator(extensionID, version)
101
+ extensionSlug
102
+ }) => bundleUrlGenerator(extensionSlug, version)
82
103
  },
83
104
  RegistryExtension: {
84
105
  manifest: root => {
@@ -86,14 +107,16 @@ const resolver = (pubsub, logger) => ({
86
107
  // console.log('root=================>', JSON.parse(root.manifest));
87
108
  try {
88
109
  result = {
89
- ...JSON.parse(root.manifest),
90
- extensionID: root.extensionID,
91
- raw: root.manifest
110
+ ...root.manifest,
111
+ extensionSlug: root.extensionSlug,
112
+ raw: JSON.stringify(root.manifest)
92
113
  };
93
- } catch (err) {}
114
+ } catch (err) {
115
+ result = {};
116
+ }
94
117
  return result;
95
118
  },
96
- url: root => bundleUrlGenerator(root.extensionID, root.version)
119
+ url: root => bundleUrlGenerator(root.extensionSlug, root.version)
97
120
  },
98
121
  Query: {
99
122
  // namespace for running all extension registry queries
@@ -103,7 +126,7 @@ const resolver = (pubsub, logger) => ({
103
126
  /// DEPRECATED: Remove all fo the following resolvers as they moved to namespace ExtensionRegistry
104
127
  async extensions(root, args, ctx) {
105
128
  logger && logger.debug('args [%j]', args);
106
- let nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);
129
+ const nodes = await ctx.registryExtensionService.findExtensions(args.first, args.query, args.local, args.remote, args.prioritizeExtensionIDs);
107
130
  // const res = { nodes: {...nodes, manifest: JSON.parse(nodes[0].manifest)} };
108
131
  // console.log('nodes==>', nodes);
109
132
  // nodes = nodes.map(el => {
@@ -114,54 +137,43 @@ const resolver = (pubsub, logger) => ({
114
137
  // });
115
138
  // console.log('nodes=======after>', nodes);
116
139
  return {
117
- nodes
140
+ nodes: nodes,
141
+ pageInfo: {
142
+ hasNextPage: false,
143
+ hasPreviousPage: false
144
+ },
145
+ totalCount: nodes.length
118
146
  };
119
147
  },
120
148
  async extension(root, args, ctx) {
121
- return ctx.registryExtensionService.findExtension(args.extensionID);
149
+ return ctx.registryExtensionService.findExtension(args.extensionSlug);
122
150
  },
123
151
  async releases(root, args, ctx) {
124
- return ctx.registryExtensionService.extensionReleases(args.extensionID);
152
+ return ctx.registryExtensionService.extensionReleases(args.extensionSlug);
125
153
  }
126
154
  },
127
155
  Mutation: {
128
156
  async createExtension(root, args, ctx) {
129
157
  const extension = await ctx.registryExtensionService.createExtension(args.publisher, args.name);
130
- return {
131
- extension
132
- };
158
+ return extension;
133
159
  },
134
160
  updateExtension(root, args, ctx) {
135
161
  return ctx.registryExtensionService.updateExtensionName(args.extension, args.name);
136
162
  },
137
- deleteExtension(root, args, ctx) {
138
- return ctx.registryExtensionService.deleteExtension(args.extension);
139
- },
140
- async installExtension(root, args, ctx) {
141
- const extension = await ctx.registryExtensionService.findExtension(args.extensionID);
142
- if (!extension) {
143
- throw new Error(`Extension ${args.extensionID} not found`);
144
- }
145
- return ctx.registryExtensionService.updateExtension(args.extensionID, {
146
- installed: true
147
- });
148
- },
149
- async uninstallExtension(root, args, ctx) {
150
- const extension = await ctx.registryExtensionService.findExtension(args.extensionID);
151
- if (!extension) {
152
- throw new Error(`Extension ${args.extensionID} not found`);
153
- }
154
- return ctx.registryExtensionService.updateExtension(args.extensionID, {
155
- installed: false
156
- });
163
+ async deleteExtension(root, args, ctx) {
164
+ const result = await ctx.registryExtensionService.deleteExtension(args.extension);
165
+ return {
166
+ success: !!result,
167
+ message: 'Extension deleted successfully'
168
+ };
157
169
  },
158
170
  async publishExtension(root, args, ctx) {
159
171
  const extension = await ctx.registryExtensionService.publishExtension({
160
172
  ...args
161
173
  });
162
174
  return {
163
- extension
175
+ extension: extension
164
176
  };
165
177
  }
166
178
  }
167
- });export{resolver};//# sourceMappingURL=resolvers.js.map
179
+ });export{resolver};//# sourceMappingURL=registry-extension-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-extension-resolver.js","sources":["../../../src/graphql/resolvers/registry-extension-resolver.ts"],"sourcesContent":[null],"names":[],"mappings":"wBAEA;AAEA,MAAA,kBAAyC,GAAM,gBAAgB,OAAA,KAAA,GAAA,CAAA,OAAA,CAAA,OAAA,CAAA,GAAA,CAAA,WAAA,EAAA,CAAA,UAAA,EAAA,aAAA,CAAA,CAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAK/D,MAAA,QAAa,GAAA,CAAA,MAAY,EAAA,MAAA,MAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,74 @@
1
+
2
+ type ExtensionRelease @entity(embedded: true) {
3
+ id: ID @id
4
+ bundle: String @column
5
+ bundleURL: String @column
6
+ version: String @column
7
+ manifest: String! @column
8
+ sourceMap: String @column
9
+ extensionSlug: String @column
10
+ creatorUserId: String @column
11
+ releaseVersion: String @column
12
+ }
13
+
14
+ enum ExtensionStatus {
15
+ """The extension is active and available for use."""
16
+ ACTIVE
17
+
18
+ """The extension is inactive and not available for use."""
19
+ INACTIVE
20
+
21
+ """The extension is deprecated and should not be used."""
22
+ DEPRECATED
23
+ }
24
+
25
+ type RegistryExtension implements Node @entity {
26
+ """The unique, opaque, permanent ID of the extension."""
27
+ id: ID! @id
28
+
29
+ """The UUID of the extension. This identifies the extension externally (along with the origin). The UUID maps
30
+ 1-t0-1 to RegistryExtension.id."""
31
+ uuid: String! @column
32
+
33
+ """ The publisher of the extension. If this extension is from a remote registry, the publisher may be null."""
34
+ publisher: RegistryPublisher
35
+
36
+ """ The qualified, unique name that refers to this extension, consisting of the registry name (if non-default),
37
+ publisher's name, and the extension's name, all joined by "/" (for example, "cdecode/my-extension-name")."""
38
+ extensionSlug: String @column
39
+
40
+ status: ExtensionStatus @column
41
+
42
+ """The extension ID without the registry name."""
43
+ extensionIDWithoutRegistry: String @column
44
+
45
+ """The name of the extension."""
46
+ name: String! @column
47
+
48
+ """Latest Published version."""
49
+ version: String
50
+
51
+ """The extension manifest."""
52
+ manifest: ExtensionManifest
53
+
54
+ """The date when this extension was last updated on the registry."""
55
+ updatedAt: DateTime @column(overrideType: "Date")
56
+
57
+ """The URL to the extension on this CDECode site."""
58
+ url: String @column
59
+
60
+ """The URL to the extension on the extension registry where it lives."""
61
+ remoteURL: String @column
62
+
63
+ """Whether the registry extension is published on this CDECode site."""
64
+ isLocal: Boolean @column
65
+
66
+ """Whether the viewer has admin privileges on this registry extension."""
67
+ viewerCanAdminister: Boolean @column
68
+
69
+ """Extension Releases."""
70
+ releases: [ExtensionRelease!] @embedded
71
+
72
+ """Whether the extension is installed."""
73
+ installed: Boolean
74
+ }
@@ -0,0 +1 @@
1
+ var extensionRegistrySchema = "\ntype ExtensionRelease @entity(embedded: true) {\n id: ID @id\n bundle: String @column\n bundleURL: String @column\n version: String @column\n manifest: String! @column\n sourceMap: String @column\n extensionSlug: String @column\n creatorUserId: String @column\n releaseVersion: String @column\n}\n\nenum ExtensionStatus {\n \"\"\"The extension is active and available for use.\"\"\"\n ACTIVE\n\n \"\"\"The extension is inactive and not available for use.\"\"\"\n INACTIVE\n\n \"\"\"The extension is deprecated and should not be used.\"\"\"\n DEPRECATED\n}\n\ntype RegistryExtension implements Node @entity {\n \"\"\"The unique, opaque, permanent ID of the extension.\"\"\"\n id: 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 uuid: String! @column\n\n \"\"\" The publisher of the extension. If this extension is from a remote registry, the publisher may be null.\"\"\"\n publisher: RegistryPublisher\n\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 extensionSlug: String @column\n\n status: ExtensionStatus @column\n\n \"\"\"The extension ID without the registry name.\"\"\"\n extensionIDWithoutRegistry: String @column\n\n \"\"\"The name of the extension.\"\"\"\n name: String! @column\n\n \"\"\"Latest Published version.\"\"\"\n version: String\n\n \"\"\"The extension manifest.\"\"\"\n manifest: ExtensionManifest\n\n \"\"\"The date when this extension was last updated on the registry.\"\"\"\n updatedAt: DateTime @column(overrideType: \"Date\")\n\n \"\"\"The URL to the extension on this CDECode site.\"\"\"\n url: String @column\n\n \"\"\"The URL to the extension on the extension registry where it lives.\"\"\"\n remoteURL: String @column\n\n \"\"\"Whether the registry extension is published on this CDECode site.\"\"\"\n isLocal: Boolean @column\n\n \"\"\"Whether the viewer has admin privileges on this registry extension.\"\"\"\n viewerCanAdminister: Boolean @column\n\n \"\"\"Extension Releases.\"\"\"\n releases: [ExtensionRelease!] @embedded\n\n \"\"\"Whether the extension is installed.\"\"\"\n installed: Boolean\n}\n";export{extensionRegistrySchema as default};//# sourceMappingURL=extension-registry.graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-registry.graphql.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/schemas/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,QAGA,CAAC;AACb,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/graphql/schemas/index.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,MAAM,QAAgF,CAAC;AAC7F,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,4 +1 @@
1
- import extensionSchema from'./extension.graphql.js';// import marketplaceSchema from './marketplace.graphql';
2
- const schema = [
3
- // marketplaceSchema,
4
- extensionSchema].join('\n');export{schema};//# sourceMappingURL=index.js.map
1
+ import extensionRegistrySchema from'./extension-registry.graphql.js';import installedExtensionSchema from'./installed-extension.graphql.js';import serviceSchema from'./service.graphql.js';const schema = [extensionRegistrySchema, installedExtensionSchema, serviceSchema].join('\n');export{schema};//# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/graphql/schemas/index.ts"],"sourcesContent":[null],"names":[],"mappings":"oDAOA;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}