@adminide-stack/marketplace-module-server 12.0.4-alpha.372 → 12.0.4-alpha.375

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.
@@ -1 +1 @@
1
- {"version":3,"file":"installed-extension-resolver.d.ts","sourceRoot":"","sources":["../../../src/graphql/resolvers/installed-extension-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAuB,UAAU,EAA0C,MAAM,eAAe,CAAC;AAExG,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,SAAS,SAAS,CAAC,OAAO,KAAG,UAyUpE,CAAC"}
1
+ {"version":3,"file":"installed-extension-resolver.d.ts","sourceRoot":"","sources":["../../../src/graphql/resolvers/installed-extension-resolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAuB,UAAU,EAA0C,MAAM,eAAe,CAAC;AAExG,eAAO,MAAM,QAAQ,GAAI,QAAQ,MAAM,EAAE,SAAS,SAAS,CAAC,OAAO,KAAG,UAyVpE,CAAC"}
@@ -22,6 +22,19 @@ const resolver = (pubsub, logger) => ({
22
22
  // Convert ObjectId to string for the dataloader
23
23
  const extensionId = String(root.extension);
24
24
  return registryExtensionDataLoader.load(extensionId);
25
+ },
26
+ sourceDocument: async (root, _args, ctx) => {
27
+ if (!root.sourceCollection || !root.sourceDocumentId) {
28
+ return null;
29
+ }
30
+ try {
31
+ return await ctx.extensionSourceDocumentDataLoader.load(root.sourceCollection, root.sourceDocumentId);
32
+ } catch (error) {
33
+ if (logger) {
34
+ logger.error('Error loading source document for InstalledExtension:', error);
35
+ }
36
+ return null;
37
+ }
25
38
  }
26
39
  },
27
40
  Query: {
@@ -1 +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,YAA8B,EAAA,CAAU,IAA0C,EAAA,mBAAsB,KAAA;AAExG,MAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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,YAA8B,EAAA,CAAU,IAA0C,EAAA,mBAAsB,KAAA;AAExG,MAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -45,6 +45,9 @@ input MarketplacePublishExtensionInput {
45
45
  releaseNotes: String
46
46
  force: Boolean
47
47
  preRelease: Boolean
48
+ sourceCollection: ExtensionSourceCollection
49
+ sourceDocumentId: String
50
+ metadata: JSON
48
51
  }
49
52
 
50
53
  type MarketplacePublishExtensionResult {
@@ -1 +1 @@
1
- var extensionRegistrySchema = "\n# Form submission and validation types for marketplace operations\ninput MarketplaceFormSubmissionInput {\n extensionSlug: String!\n formData: String! # JSON stringified form data\n submissionType: String! # e.g., \"extension-publish\", \"extension-validate\"\n metadata: String # Optional metadata JSON\n}\n\ntype MarketplaceFormSubmissionResult {\n success: Boolean!\n message: String\n errors: [String!]\n submissionId: String\n data: String # JSON stringified result data\n}\n\ninput MarketplaceValidateExtensionInput {\n manifest: String!\n bundle: String\n sourceMap: String\n extensionSlug: String\n version: String\n}\n\ntype MarketplaceValidationError {\n field: String!\n message: String!\n code: String\n}\n\ntype MarketplaceValidationResult {\n isValid: Boolean!\n errors: [MarketplaceValidationError!]\n warnings: [MarketplaceValidationError!]\n metadata: String # JSON stringified validation metadata\n}\n\ninput MarketplacePublishExtensionInput {\n extensionSlug: String!\n manifest: String!\n bundle: String!\n sourceMap: String\n version: String!\n releaseNotes: String\n force: Boolean\n preRelease: Boolean\n}\n\ntype MarketplacePublishExtensionResult {\n success: Boolean!\n extension: RegistryExtension\n message: String\n errors: [String!]\n releaseId: String\n}\n\n\"\"\"\nMarketplace-specific registry statistics with publisher and marketplace data\n\"\"\"\ntype MarketplaceRegistryStats {\n totalExtensions: Int!\n totalPublishers: Int!\n extensionsByStatus: ExtensionRegistryStatusStats!\n recentPublications: [RegistryExtension!]\n topPublishers: [PublisherStats!]\n totalDownloads: Int!\n monthlyDownloads: Int!\n}\n\ntype PublisherStats {\n \"\"\"The marketplace publisher information.\"\"\"\n publisher: MarketplacePublisher!\n extensionCount: Int!\n totalDownloads: Int!\n monthlyDownloads: Int!\n averageRating: Float\n}\n\nextend type Query {\n \"\"\"\n Get marketplace-specific registry statistics\n Includes publisher data and marketplace metrics\n \"\"\"\n marketplaceRegistryStats: MarketplaceRegistryStats\n \n \"\"\"\n Get extensions by publisher for marketplace management\n \"\"\"\n extensionsByPublisher(publisherId: String!, first: Int): RegistryExtensionConnection!\n \n \"\"\"\n Get publisher performance metrics for marketplace analytics\n \"\"\"\n publisherExtensionStats(publisherId: String!): PublisherStats\n}\n\nextend type Mutation {\n marketplaceFormSubmission(input: MarketplaceFormSubmissionInput!): MarketplaceFormSubmissionResult!\n\n marketplaceValidateExtension(input: MarketplaceValidateExtensionInput!): MarketplaceValidationResult!\n\n marketplacePublishExtension(input: MarketplacePublishExtensionInput!): MarketplacePublishExtensionResult!\n}\n";export{extensionRegistrySchema as default};//# sourceMappingURL=extension-registry.graphql.js.map
1
+ var extensionRegistrySchema = "\n# Form submission and validation types for marketplace operations\ninput MarketplaceFormSubmissionInput {\n extensionSlug: String!\n formData: String! # JSON stringified form data\n submissionType: String! # e.g., \"extension-publish\", \"extension-validate\"\n metadata: String # Optional metadata JSON\n}\n\ntype MarketplaceFormSubmissionResult {\n success: Boolean!\n message: String\n errors: [String!]\n submissionId: String\n data: String # JSON stringified result data\n}\n\ninput MarketplaceValidateExtensionInput {\n manifest: String!\n bundle: String\n sourceMap: String\n extensionSlug: String\n version: String\n}\n\ntype MarketplaceValidationError {\n field: String!\n message: String!\n code: String\n}\n\ntype MarketplaceValidationResult {\n isValid: Boolean!\n errors: [MarketplaceValidationError!]\n warnings: [MarketplaceValidationError!]\n metadata: String # JSON stringified validation metadata\n}\n\ninput MarketplacePublishExtensionInput {\n extensionSlug: String!\n manifest: String!\n bundle: String!\n sourceMap: String\n version: String!\n releaseNotes: String\n force: Boolean\n preRelease: Boolean\n sourceCollection: ExtensionSourceCollection\n sourceDocumentId: String\n metadata: JSON\n}\n\ntype MarketplacePublishExtensionResult {\n success: Boolean!\n extension: RegistryExtension\n message: String\n errors: [String!]\n releaseId: String\n}\n\n\"\"\"\nMarketplace-specific registry statistics with publisher and marketplace data\n\"\"\"\ntype MarketplaceRegistryStats {\n totalExtensions: Int!\n totalPublishers: Int!\n extensionsByStatus: ExtensionRegistryStatusStats!\n recentPublications: [RegistryExtension!]\n topPublishers: [PublisherStats!]\n totalDownloads: Int!\n monthlyDownloads: Int!\n}\n\ntype PublisherStats {\n \"\"\"The marketplace publisher information.\"\"\"\n publisher: MarketplacePublisher!\n extensionCount: Int!\n totalDownloads: Int!\n monthlyDownloads: Int!\n averageRating: Float\n}\n\nextend type Query {\n \"\"\"\n Get marketplace-specific registry statistics\n Includes publisher data and marketplace metrics\n \"\"\"\n marketplaceRegistryStats: MarketplaceRegistryStats\n \n \"\"\"\n Get extensions by publisher for marketplace management\n \"\"\"\n extensionsByPublisher(publisherId: String!, first: Int): RegistryExtensionConnection!\n \n \"\"\"\n Get publisher performance metrics for marketplace analytics\n \"\"\"\n publisherExtensionStats(publisherId: String!): PublisherStats\n}\n\nextend type Mutation {\n marketplaceFormSubmission(input: MarketplaceFormSubmissionInput!): MarketplaceFormSubmissionResult!\n\n marketplaceValidateExtension(input: MarketplaceValidateExtensionInput!): MarketplaceValidationResult!\n\n marketplacePublishExtension(input: MarketplacePublishExtensionInput!): MarketplacePublishExtensionResult!\n}\n";export{extensionRegistrySchema as default};//# sourceMappingURL=extension-registry.graphql.js.map
@@ -123,6 +123,14 @@ type InstalledExtension implements Node @entity {
123
123
  dependencies: [String!] @column
124
124
  dependents: [String!] @column
125
125
  auditLog: [ExtensionAuditEntry!] @embedded
126
+ """The source database collection this installed extension references"""
127
+ sourceCollection: String @column
128
+ """The ObjectId of the specific document in the source collection"""
129
+ sourceDocumentId: String @column
130
+ """Additional metadata for the installed extension"""
131
+ metadata: JSON @column
132
+ """The actual document from the source collection (resolved via DataLoader, returns null if not found or no reference)"""
133
+ sourceDocument: JSON
126
134
  }
127
135
 
128
136
  """
@@ -187,6 +195,12 @@ input InstallExtensionInput {
187
195
  orgName: String
188
196
  policies: ExtensionPoliciesInput
189
197
  settings: ExtensionSettingsInput
198
+ """The source database collection this extension references"""
199
+ sourceCollection: String
200
+ """The ObjectId of the specific document in the source collection"""
201
+ sourceDocumentId: String
202
+ """Additional metadata for the installation"""
203
+ metadata: JSON
190
204
  }
191
205
 
192
206
  """
@@ -1 +1 @@
1
- var installedExtensionSchema = "\"\"\"\nInstalled extension status enumeration\n\"\"\"\nenum InstalledExtensionStatus {\n installed\n deprecated_installed\n suspended\n orphaned\n force_disabled\n}\n\n\"\"\"\nRegistry status cached from extensionRegistry\n\"\"\"\nenum ExtensionRegistryStatus {\n active\n deprecated\n suspended\n removed\n emergency_removed\n}\n\n\"\"\"\nRuntime activation state\n\"\"\"\nenum ExtensionActivationState {\n enabled\n disabled\n disabled_by_user\n disabled_by_admin\n disabled_by_policy\n}\n\n\"\"\"\nExtension lifecycle management information\n\"\"\"\ntype ExtensionLifecycle @entity(embedded: true) {\n registryStatus: ExtensionRegistryStatus! @column\n isOrphaned: Boolean! @column\n deprecationWarningShown: Boolean! @column\n autoUpdateBlocked: Boolean! @column\n lastRegistryCheck: String! @column\n}\n\n\"\"\"\nAdmin policies for extension behavior\n\"\"\"\ntype ExtensionPolicies @entity(embedded: true) {\n allowOrphanedExecution: Boolean! @column\n requireSecurityUpdates: Boolean! @column\n autoRemoveDeprecated: Boolean! @column\n deprecationGracePeriod: Int! @column\n}\n\n\"\"\"\nExtension settings for user preferences and system state\n\"\"\"\ntype ExtensionSettings @entity(embedded: true) {\n userEnabled: Boolean! @column\n systemEnabled: Boolean! @column\n effectiveEnabled: Boolean! @column\n userConfig: JSON @column\n systemConfig: JSON @column\n}\n\n\"\"\"\nRuntime activation error information\n\"\"\"\ntype ExtensionActivationError @entity(embedded: true) {\n message: String! @column\n code: String! @column\n timestamp: String! @column\n}\n\n\"\"\"\nPerformance metrics\n\"\"\"\ntype ExtensionMetrics @entity(embedded: true) {\n activationTime: Float! @column\n memoryUsage: Float! @column\n lastMeasured: String! @column\n}\n\n\"\"\"\nRuntime information about extension execution\n\"\"\"\ntype ExtensionRuntime @entity(embedded: true) {\n activationState: ExtensionActivationState! @column\n lastActivated: DateTime @column(overrideType: \"Date\")\n lastDeactivated: DateTime @column(overrideType: \"Date\")\n activationError: ExtensionActivationError @embedded\n metrics: ExtensionMetrics @embedded\n}\n\n\"\"\"\nAudit log entry for extension actions\n\"\"\"\ntype ExtensionAuditEntry @entity(embedded: true) {\n action: String! @column\n timestamp: DateTime! @column(overrideType: \"Date\")\n user: UserAccount! @column(overrideType: \"ObjectId\")\n details: JSON @column\n}\n\n\"\"\"\nMain installed extension type\n\"\"\"\ntype InstalledExtension implements Node @entity {\n id: ID! @id\n organization: Organization @column(overrideType: \"ObjectId\")\n extension: RegistryExtension! @column(overrideType: \"ObjectId\")\n installedVersion: String! @column\n status: InstalledExtensionStatus! @column\n lifecycle: ExtensionLifecycle! @embedded\n policies: ExtensionPolicies! @embedded\n settings: ExtensionSettings! @embedded\n runtime: ExtensionRuntime! @embedded\n installedAt: DateTime! @column(overrideType: \"Date\")\n installedBy: UserAccount! @column(overrideType: \"ObjectId\")\n lastUpdated: DateTime @column(overrideType: \"Date\")\n lastUpdatedBy: UserAccount @column(overrideType: \"ObjectId\")\n availableVersion: String @column\n dependencies: [String!] @column\n dependents: [String!] @column\n auditLog: [ExtensionAuditEntry!] @embedded\n}\n\n\"\"\"\nRegistry information for display\n\"\"\"\ntype ExtensionRegistryInfo {\n displayName: String!\n description: String!\n publisher: String!\n latestVersion: String!\n tags: [String!]!\n categories: [String!]!\n deprecation: JSON\n suspension: JSON\n}\n\n\"\"\"\nNotification action\n\"\"\"\ntype NotificationAction {\n label: String!\n action: String!\n url: String\n extensionSlug: String\n}\n\n\"\"\"\nExtension notification\n\"\"\"\ntype ExtensionNotification {\n type: String!\n severity: String!\n message: String!\n actions: [NotificationAction!]\n}\n\n\"\"\"\nExtension update information\n\"\"\"\ntype ExtensionUpdate {\n extensionSlug: String!\n currentVersion: String!\n availableVersion: String!\n isSecurityUpdate: Boolean!\n}\n\n\"\"\"\nExtension cleanup result\n\"\"\"\ntype ExtensionCleanupResult {\n removed: [String!]!\n deprecated: [String!]!\n warnings: [String!]!\n}\n\n\"\"\"\nInput for installing an extension\n\"\"\"\ninput InstallExtensionInput {\n extensionSlug: String!\n version: String!\n orgName: String\n policies: ExtensionPoliciesInput\n settings: ExtensionSettingsInput\n}\n\n\"\"\"\nInput for extension policies\n\"\"\"\ninput ExtensionPoliciesInput {\n allowOrphanedExecution: Boolean\n requireSecurityUpdates: Boolean\n autoRemoveDeprecated: Boolean\n deprecationGracePeriod: Int\n}\n\n\"\"\"\nInput for extension settings\n\"\"\"\ninput ExtensionSettingsInput {\n userEnabled: Boolean\n systemEnabled: Boolean\n userConfig: JSON\n systemConfig: JSON\n}\n\n\"\"\"\nResponse type for extension mutations\n\"\"\"\ntype ExtensionMutationResponse {\n success: Boolean!\n extension: InstalledExtension\n message: String!\n}\n\n\"\"\"\nResponse type for cleanup operations\n\"\"\"\ntype ExtensionCleanupResponse {\n success: Boolean!\n result: ExtensionCleanupResult\n message: String!\n}\n\n\"\"\"\nResponse type for sync operations\n\"\"\"\ntype ExtensionSyncResponse {\n success: Boolean!\n message: String!\n}\n\nextend type Query {\n \"\"\"\n Get all installed extensions for the current tenant\n \"\"\"\n installedExtensions(enabled: Boolean, orgName: String): [InstalledExtension!]!\n\n \"\"\"\n Get a specific installed extension\n \"\"\"\n installedExtension(extensionSlug: String!): InstalledExtension\n\n \"\"\"\n Get installed extensions that need attention\n \"\"\"\n extensionsNeedingAttention: [InstalledExtension!]!\n\n \"\"\"\n Check for available updates\n \"\"\"\n extensionUpdates(extensionSlug: String): [ExtensionUpdate!]!\n}\n\nextend type Mutation {\n \"\"\"\n Install an extension from the registry\n \"\"\"\n installExtension(input: InstallExtensionInput!): ExtensionMutationResponse!\n\n \"\"\"\n Uninstall an extension\n \"\"\"\n uninstallExtension(extensionSlug: String!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Enable or disable an extension\n \"\"\"\n toggleExtension(extensionSlug: String!, enabled: Boolean!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Update extension settings\n \"\"\"\n updateExtensionSettings(extensionSlug: String!, settings: JSON!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Update an extension to a newer version\n \"\"\"\n updateExtensionVersion(extensionSlug: String!, version: String!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Sync installed extensions with registry\n \"\"\"\n syncExtensionsWithRegistry: ExtensionSyncResponse!\n\n \"\"\"\n Clean up deprecated or removed extensions\n \"\"\"\n cleanupExtensions(dryRun: Boolean): ExtensionCleanupResponse!\n}\n";export{installedExtensionSchema as default};//# sourceMappingURL=installed-extension.graphql.js.map
1
+ var installedExtensionSchema = "\"\"\"\nInstalled extension status enumeration\n\"\"\"\nenum InstalledExtensionStatus {\n installed\n deprecated_installed\n suspended\n orphaned\n force_disabled\n}\n\n\"\"\"\nRegistry status cached from extensionRegistry\n\"\"\"\nenum ExtensionRegistryStatus {\n active\n deprecated\n suspended\n removed\n emergency_removed\n}\n\n\"\"\"\nRuntime activation state\n\"\"\"\nenum ExtensionActivationState {\n enabled\n disabled\n disabled_by_user\n disabled_by_admin\n disabled_by_policy\n}\n\n\"\"\"\nExtension lifecycle management information\n\"\"\"\ntype ExtensionLifecycle @entity(embedded: true) {\n registryStatus: ExtensionRegistryStatus! @column\n isOrphaned: Boolean! @column\n deprecationWarningShown: Boolean! @column\n autoUpdateBlocked: Boolean! @column\n lastRegistryCheck: String! @column\n}\n\n\"\"\"\nAdmin policies for extension behavior\n\"\"\"\ntype ExtensionPolicies @entity(embedded: true) {\n allowOrphanedExecution: Boolean! @column\n requireSecurityUpdates: Boolean! @column\n autoRemoveDeprecated: Boolean! @column\n deprecationGracePeriod: Int! @column\n}\n\n\"\"\"\nExtension settings for user preferences and system state\n\"\"\"\ntype ExtensionSettings @entity(embedded: true) {\n userEnabled: Boolean! @column\n systemEnabled: Boolean! @column\n effectiveEnabled: Boolean! @column\n userConfig: JSON @column\n systemConfig: JSON @column\n}\n\n\"\"\"\nRuntime activation error information\n\"\"\"\ntype ExtensionActivationError @entity(embedded: true) {\n message: String! @column\n code: String! @column\n timestamp: String! @column\n}\n\n\"\"\"\nPerformance metrics\n\"\"\"\ntype ExtensionMetrics @entity(embedded: true) {\n activationTime: Float! @column\n memoryUsage: Float! @column\n lastMeasured: String! @column\n}\n\n\"\"\"\nRuntime information about extension execution\n\"\"\"\ntype ExtensionRuntime @entity(embedded: true) {\n activationState: ExtensionActivationState! @column\n lastActivated: DateTime @column(overrideType: \"Date\")\n lastDeactivated: DateTime @column(overrideType: \"Date\")\n activationError: ExtensionActivationError @embedded\n metrics: ExtensionMetrics @embedded\n}\n\n\"\"\"\nAudit log entry for extension actions\n\"\"\"\ntype ExtensionAuditEntry @entity(embedded: true) {\n action: String! @column\n timestamp: DateTime! @column(overrideType: \"Date\")\n user: UserAccount! @column(overrideType: \"ObjectId\")\n details: JSON @column\n}\n\n\"\"\"\nMain installed extension type\n\"\"\"\ntype InstalledExtension implements Node @entity {\n id: ID! @id\n organization: Organization @column(overrideType: \"ObjectId\")\n extension: RegistryExtension! @column(overrideType: \"ObjectId\")\n installedVersion: String! @column\n status: InstalledExtensionStatus! @column\n lifecycle: ExtensionLifecycle! @embedded\n policies: ExtensionPolicies! @embedded\n settings: ExtensionSettings! @embedded\n runtime: ExtensionRuntime! @embedded\n installedAt: DateTime! @column(overrideType: \"Date\")\n installedBy: UserAccount! @column(overrideType: \"ObjectId\")\n lastUpdated: DateTime @column(overrideType: \"Date\")\n lastUpdatedBy: UserAccount @column(overrideType: \"ObjectId\")\n availableVersion: String @column\n dependencies: [String!] @column\n dependents: [String!] @column\n auditLog: [ExtensionAuditEntry!] @embedded\n \"\"\"The source database collection this installed extension references\"\"\"\n sourceCollection: String @column\n \"\"\"The ObjectId of the specific document in the source collection\"\"\"\n sourceDocumentId: String @column\n \"\"\"Additional metadata for the installed extension\"\"\"\n metadata: JSON @column\n \"\"\"The actual document from the source collection (resolved via DataLoader, returns null if not found or no reference)\"\"\"\n sourceDocument: JSON\n}\n\n\"\"\"\nRegistry information for display\n\"\"\"\ntype ExtensionRegistryInfo {\n displayName: String!\n description: String!\n publisher: String!\n latestVersion: String!\n tags: [String!]!\n categories: [String!]!\n deprecation: JSON\n suspension: JSON\n}\n\n\"\"\"\nNotification action\n\"\"\"\ntype NotificationAction {\n label: String!\n action: String!\n url: String\n extensionSlug: String\n}\n\n\"\"\"\nExtension notification\n\"\"\"\ntype ExtensionNotification {\n type: String!\n severity: String!\n message: String!\n actions: [NotificationAction!]\n}\n\n\"\"\"\nExtension update information\n\"\"\"\ntype ExtensionUpdate {\n extensionSlug: String!\n currentVersion: String!\n availableVersion: String!\n isSecurityUpdate: Boolean!\n}\n\n\"\"\"\nExtension cleanup result\n\"\"\"\ntype ExtensionCleanupResult {\n removed: [String!]!\n deprecated: [String!]!\n warnings: [String!]!\n}\n\n\"\"\"\nInput for installing an extension\n\"\"\"\ninput InstallExtensionInput {\n extensionSlug: String!\n version: String!\n orgName: String\n policies: ExtensionPoliciesInput\n settings: ExtensionSettingsInput\n \"\"\"The source database collection this extension references\"\"\"\n sourceCollection: String\n \"\"\"The ObjectId of the specific document in the source collection\"\"\"\n sourceDocumentId: String\n \"\"\"Additional metadata for the installation\"\"\"\n metadata: JSON\n}\n\n\"\"\"\nInput for extension policies\n\"\"\"\ninput ExtensionPoliciesInput {\n allowOrphanedExecution: Boolean\n requireSecurityUpdates: Boolean\n autoRemoveDeprecated: Boolean\n deprecationGracePeriod: Int\n}\n\n\"\"\"\nInput for extension settings\n\"\"\"\ninput ExtensionSettingsInput {\n userEnabled: Boolean\n systemEnabled: Boolean\n userConfig: JSON\n systemConfig: JSON\n}\n\n\"\"\"\nResponse type for extension mutations\n\"\"\"\ntype ExtensionMutationResponse {\n success: Boolean!\n extension: InstalledExtension\n message: String!\n}\n\n\"\"\"\nResponse type for cleanup operations\n\"\"\"\ntype ExtensionCleanupResponse {\n success: Boolean!\n result: ExtensionCleanupResult\n message: String!\n}\n\n\"\"\"\nResponse type for sync operations\n\"\"\"\ntype ExtensionSyncResponse {\n success: Boolean!\n message: String!\n}\n\nextend type Query {\n \"\"\"\n Get all installed extensions for the current tenant\n \"\"\"\n installedExtensions(enabled: Boolean, orgName: String): [InstalledExtension!]!\n\n \"\"\"\n Get a specific installed extension\n \"\"\"\n installedExtension(extensionSlug: String!): InstalledExtension\n\n \"\"\"\n Get installed extensions that need attention\n \"\"\"\n extensionsNeedingAttention: [InstalledExtension!]!\n\n \"\"\"\n Check for available updates\n \"\"\"\n extensionUpdates(extensionSlug: String): [ExtensionUpdate!]!\n}\n\nextend type Mutation {\n \"\"\"\n Install an extension from the registry\n \"\"\"\n installExtension(input: InstallExtensionInput!): ExtensionMutationResponse!\n\n \"\"\"\n Uninstall an extension\n \"\"\"\n uninstallExtension(extensionSlug: String!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Enable or disable an extension\n \"\"\"\n toggleExtension(extensionSlug: String!, enabled: Boolean!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Update extension settings\n \"\"\"\n updateExtensionSettings(extensionSlug: String!, settings: JSON!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Update an extension to a newer version\n \"\"\"\n updateExtensionVersion(extensionSlug: String!, version: String!, orgName: String): ExtensionMutationResponse!\n\n \"\"\"\n Sync installed extensions with registry\n \"\"\"\n syncExtensionsWithRegistry: ExtensionSyncResponse!\n\n \"\"\"\n Clean up deprecated or removed extensions\n \"\"\"\n cleanupExtensions(dryRun: Boolean): ExtensionCleanupResponse!\n}\n";export{installedExtensionSchema as default};//# sourceMappingURL=installed-extension.graphql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installed-extension-model.d.ts","sourceRoot":"","sources":["../../../src/store/models/installed-extension-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,wBAAwB,EAQ3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA4O9C,eAAO,MAAM,2BAA2B,GAAI,IAAI,UAAU,gQACe,CAAC"}
1
+ {"version":3,"file":"installed-extension-model.d.ts","sourceRoot":"","sources":["../../../src/store/models/installed-extension-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,wBAAwB,EAQ3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAqP9C,eAAO,MAAM,2BAA2B,GAAI,IAAI,UAAU,gQACe,CAAC"}
@@ -204,6 +204,15 @@ const InstalledExtensionSchema = new Schema({
204
204
  auditLog: {
205
205
  type: [AuditLogSchema],
206
206
  default: []
207
+ },
208
+ sourceCollection: {
209
+ type: String
210
+ },
211
+ sourceDocumentId: {
212
+ type: String
213
+ },
214
+ metadata: {
215
+ type: Schema.Types.Mixed
207
216
  }
208
217
  });
209
218
  // Create virtual for id
@@ -1 +1 @@
1
- {"version":3,"file":"installed-extension-model.js","sources":["../../../src/store/models/installed-extension-model.ts"],"sourcesContent":[null],"names":[],"mappings":"wEAuPA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"installed-extension-model.js","sources":["../../../src/store/models/installed-extension-model.ts"],"sourcesContent":[null],"names":[],"mappings":"wEAgQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminide-stack/marketplace-module-server",
3
- "version": "12.0.4-alpha.372",
3
+ "version": "12.0.4-alpha.375",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "UNLICENSED",
6
6
  "author": "CDMBase LLC",
@@ -21,11 +21,11 @@
21
21
  "watch": "yarn build:lib:watch"
22
22
  },
23
23
  "dependencies": {
24
- "@adminide-stack/extension-api": "12.0.4-alpha.372",
24
+ "@adminide-stack/extension-api": "12.0.4-alpha.375",
25
25
  "nanoid": "^5.1.5"
26
26
  },
27
27
  "devDependencies": {
28
- "common": "12.0.4-alpha.372"
28
+ "common": "12.0.4-alpha.375"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "graphql-tag": ">=2.0.0"
@@ -57,5 +57,5 @@
57
57
  "typescript": {
58
58
  "definition": "lib/index.d.ts"
59
59
  },
60
- "gitHead": "73ca4255612b4288db63ce8bc44e60ddd8a62ffe"
60
+ "gitHead": "e0663f453877f0e6bebceb7299162c0007de7fba"
61
61
  }