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

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 (175) hide show
  1. package/lib/containers/module.d.ts +4 -4
  2. package/lib/containers/module.d.ts.map +1 -1
  3. package/lib/containers/module.js +12 -7
  4. package/lib/containers/module.js.map +1 -1
  5. package/lib/dataloaders/index.d.ts +1 -1
  6. package/lib/dataloaders/index.d.ts.map +1 -1
  7. package/lib/dataloaders/publisher-data-loader.d.ts +6 -0
  8. package/lib/dataloaders/publisher-data-loader.d.ts.map +1 -0
  9. package/lib/demo/test-graphql-examples.d.ts +73 -0
  10. package/lib/demo/test-graphql-examples.d.ts.map +1 -0
  11. package/lib/graphql/resolvers/form-templates-resolver.d.ts +220 -0
  12. package/lib/graphql/resolvers/form-templates-resolver.d.ts.map +1 -0
  13. package/lib/graphql/resolvers/form-templates-resolver.js +170 -0
  14. package/lib/graphql/resolvers/form-templates-resolver.js.map +1 -0
  15. package/lib/graphql/resolvers/gallery-resolver.d.ts +15 -0
  16. package/lib/graphql/resolvers/gallery-resolver.d.ts.map +1 -0
  17. package/lib/graphql/resolvers/gallery-resolver.js +35 -0
  18. package/lib/graphql/resolvers/gallery-resolver.js.map +1 -0
  19. package/lib/graphql/resolvers/index.d.ts +247 -1
  20. package/lib/graphql/resolvers/index.d.ts.map +1 -1
  21. package/lib/graphql/resolvers/index.js +1 -1
  22. package/lib/graphql/resolvers/installed-extension-resolver.d.ts.map +1 -1
  23. package/lib/graphql/resolvers/installed-extension-resolver.js +161 -35
  24. package/lib/graphql/resolvers/installed-extension-resolver.js.map +1 -1
  25. package/lib/graphql/resolvers/marketplace-form-resolver.d.ts +13 -0
  26. package/lib/graphql/resolvers/marketplace-form-resolver.d.ts.map +1 -0
  27. package/lib/graphql/resolvers/marketplace-form-resolver.js +90 -0
  28. package/lib/graphql/resolvers/marketplace-form-resolver.js.map +1 -0
  29. package/lib/graphql/resolvers/publisher-analytics-resolver.d.ts +14 -0
  30. package/lib/graphql/resolvers/publisher-analytics-resolver.d.ts.map +1 -0
  31. package/lib/graphql/resolvers/publisher-analytics-resolver.js +221 -0
  32. package/lib/graphql/resolvers/publisher-analytics-resolver.js.map +1 -0
  33. package/lib/graphql/resolvers/publisher-resolver.d.ts +5 -0
  34. package/lib/graphql/resolvers/publisher-resolver.d.ts.map +1 -0
  35. package/lib/graphql/resolvers/publisher-resolver.js +183 -0
  36. package/lib/graphql/resolvers/publisher-resolver.js.map +1 -0
  37. package/lib/graphql/resolvers/registry-extension-resolver.d.ts.map +1 -1
  38. package/lib/graphql/resolvers/registry-extension-resolver.js +34 -167
  39. package/lib/graphql/resolvers/registry-extension-resolver.js.map +1 -1
  40. package/lib/graphql/schemas/extension-pricing.graphql +546 -0
  41. package/lib/graphql/schemas/extension-pricing.graphql.js +1 -0
  42. package/lib/graphql/schemas/extension-pricing.graphql.js.map +1 -0
  43. package/lib/graphql/schemas/extension-registry.graphql +91 -58
  44. package/lib/graphql/schemas/extension-registry.graphql.js +1 -1
  45. package/lib/graphql/schemas/form-templates.graphql +269 -0
  46. package/lib/graphql/schemas/form-templates.graphql.js +1 -0
  47. package/lib/graphql/schemas/form-templates.graphql.js.map +1 -0
  48. package/lib/graphql/schemas/gallery-schema.graphql +247 -0
  49. package/lib/graphql/schemas/gallery-schema.graphql.js +1 -0
  50. package/lib/graphql/schemas/gallery-schema.graphql.js.map +1 -0
  51. package/lib/graphql/schemas/index.d.ts.map +1 -1
  52. package/lib/graphql/schemas/index.js +3 -1
  53. package/lib/graphql/schemas/index.js.map +1 -1
  54. package/lib/graphql/schemas/installed-extension.graphql +37 -7
  55. package/lib/graphql/schemas/installed-extension.graphql.js +1 -1
  56. package/lib/graphql/schemas/publisher-analytics.graphql +305 -0
  57. package/lib/graphql/schemas/publisher-analytics.graphql.js +1 -0
  58. package/lib/graphql/schemas/publisher-analytics.graphql.js.map +1 -0
  59. package/lib/graphql/schemas/publisher.graphql +584 -0
  60. package/lib/graphql/schemas/publisher.graphql.js +1 -0
  61. package/lib/graphql/schemas/publisher.graphql.js.map +1 -0
  62. package/lib/graphql/schemas/service.graphql +15 -0
  63. package/lib/index.d.ts +1 -1
  64. package/lib/index.js +1 -1
  65. package/lib/index.js.map +1 -1
  66. package/lib/migrations/dbMigrations/DropOldPublisherIndexMigration.d.ts +20 -0
  67. package/lib/migrations/dbMigrations/DropOldPublisherIndexMigration.d.ts.map +1 -0
  68. package/lib/migrations/dbMigrations/DropOldPublisherIndexMigration.js +61 -0
  69. package/lib/migrations/dbMigrations/DropOldPublisherIndexMigration.js.map +1 -0
  70. package/lib/migrations/index.d.ts +2 -0
  71. package/lib/migrations/index.d.ts.map +1 -0
  72. package/lib/module.d.ts +1 -1
  73. package/lib/module.d.ts.map +1 -1
  74. package/lib/module.js +11 -26
  75. package/lib/module.js.map +1 -1
  76. package/lib/services/extension-gallery-repository.d.ts +17 -0
  77. package/lib/services/extension-gallery-repository.d.ts.map +1 -0
  78. package/lib/services/extension-gallery-repository.js +192 -0
  79. package/lib/services/extension-gallery-repository.js.map +1 -0
  80. package/lib/services/extension-gallery-service-new.d.ts +39 -0
  81. package/lib/services/extension-gallery-service-new.d.ts.map +1 -0
  82. package/lib/services/extension-gallery-service.d.ts +30 -0
  83. package/lib/services/extension-gallery-service.d.ts.map +1 -0
  84. package/lib/services/extension-gallery-service.js +334 -0
  85. package/lib/services/extension-gallery-service.js.map +1 -0
  86. package/lib/services/index.d.ts +4 -1
  87. package/lib/services/index.d.ts.map +1 -1
  88. package/lib/services/installed-extension-service-ext.d.ts +5 -2
  89. package/lib/services/installed-extension-service-ext.d.ts.map +1 -1
  90. package/lib/services/installed-extension-service-ext.js +364 -117
  91. package/lib/services/installed-extension-service-ext.js.map +1 -1
  92. package/lib/services/installed-extension-service.d.ts +30 -13
  93. package/lib/services/installed-extension-service.d.ts.map +1 -1
  94. package/lib/services/installed-extension-service.js +301 -68
  95. package/lib/services/installed-extension-service.js.map +1 -1
  96. package/lib/services/installed-extension-service.test.d.ts +0 -1
  97. package/lib/services/publisher-analytics-service.d.ts +128 -0
  98. package/lib/services/publisher-analytics-service.d.ts.map +1 -0
  99. package/lib/services/publisher-event-service.d.ts +48 -0
  100. package/lib/services/publisher-event-service.d.ts.map +1 -0
  101. package/lib/services/publisher-event-service.js +296 -0
  102. package/lib/services/publisher-event-service.js.map +1 -0
  103. package/lib/services/publisher-service-context.d.ts +1 -0
  104. package/lib/services/publisher-service-context.d.ts.map +1 -0
  105. package/lib/services/publisher-service.d.ts +62 -0
  106. package/lib/services/publisher-service.d.ts.map +1 -0
  107. package/lib/services/publisher-service.js +135 -0
  108. package/lib/services/publisher-service.js.map +1 -0
  109. package/lib/store/models/index.d.ts +1 -1
  110. package/lib/store/models/index.d.ts.map +1 -1
  111. package/lib/store/models/installed-extension-model.d.ts.map +1 -1
  112. package/lib/store/models/installed-extension-model.js +17 -45
  113. package/lib/store/models/installed-extension-model.js.map +1 -1
  114. package/lib/store/models/publisher-event-model.d.ts +11 -0
  115. package/lib/store/models/publisher-event-model.d.ts.map +1 -0
  116. package/lib/store/models/publisher-model.d.ts +5 -0
  117. package/lib/store/models/publisher-model.d.ts.map +1 -0
  118. package/lib/store/models/publisher-model.js +117 -0
  119. package/lib/store/models/publisher-model.js.map +1 -0
  120. package/lib/store/models/publisher-stats-model.d.ts +1 -0
  121. package/lib/store/models/publisher-stats-model.d.ts.map +1 -0
  122. package/lib/store/repositories/index.d.ts +1 -1
  123. package/lib/store/repositories/index.d.ts.map +1 -1
  124. package/lib/store/repositories/installed-extension-repository.d.ts +17 -11
  125. package/lib/store/repositories/installed-extension-repository.d.ts.map +1 -1
  126. package/lib/store/repositories/installed-extension-repository.js +123 -75
  127. package/lib/store/repositories/installed-extension-repository.js.map +1 -1
  128. package/lib/store/repositories/publisher-analytics-repository.d.ts +1 -0
  129. package/lib/store/repositories/publisher-analytics-repository.d.ts.map +1 -0
  130. package/lib/store/repositories/publisher-repository.d.ts +19 -0
  131. package/lib/store/repositories/publisher-repository.d.ts.map +1 -0
  132. package/lib/store/repositories/publisher-repository.js +87 -0
  133. package/lib/store/repositories/publisher-repository.js.map +1 -0
  134. package/lib/templates/constants/DB_COLL_NAMES.ts.template +1 -1
  135. package/lib/templates/constants/SERVER_TYPES.ts.template +8 -5
  136. package/lib/templates/repositories/ExtensionGalleryRepository.ts.template +44 -0
  137. package/lib/templates/repositories/InstalledExtensionRepository.ts.template +19 -14
  138. package/lib/templates/repositories/MarketplacePublisherRepository.ts.template +24 -0
  139. package/lib/templates/repositories/RegistryExtensionRepository.ts.template +2 -2
  140. package/lib/templates/services/ExtensionGalleryDataLoader.ts.template +2 -0
  141. package/lib/templates/services/ExtensionGalleryService.ts.template +79 -0
  142. package/lib/templates/services/InstalledExtensionService.ts.template +63 -32
  143. package/lib/templates/services/MarketplacePublisherService.ts.template +51 -0
  144. package/lib/templates/services/PublisherDataLoader.ts.template +3 -0
  145. package/lib/templates/services/PublisherEventService.ts.template +56 -0
  146. package/lib/templates/services/RegistryExtensionService.ts.template +46 -2
  147. package/lib/tests/extension-integration.test.d.ts +0 -1
  148. package/lib/tests/install-extension-graphql.test.d.ts +2 -0
  149. package/lib/tests/install-extension-graphql.test.d.ts.map +1 -0
  150. package/lib/utils/publisherValidation.d.ts +23 -0
  151. package/lib/utils/publisherValidation.d.ts.map +1 -0
  152. package/lib/utils/publisherValidation.js +144 -0
  153. package/lib/utils/publisherValidation.js.map +1 -0
  154. package/package.json +13 -9
  155. package/lib/constants/extension-events.d.ts +0 -136
  156. package/lib/constants/extension-events.d.ts.map +0 -1
  157. package/lib/dataloaders/registry-extension-data-loader.d.ts +0 -6
  158. package/lib/dataloaders/registry-extension-data-loader.d.ts.map +0 -1
  159. package/lib/dataloaders/registry-extension-data-loader.js +0 -6
  160. package/lib/dataloaders/registry-extension-data-loader.js.map +0 -1
  161. package/lib/graphql/schemas/service.graphql.js +0 -1
  162. package/lib/graphql/schemas/service.graphql.js.map +0 -1
  163. package/lib/services/extension-service.d.ts +0 -42
  164. package/lib/services/extension-service.d.ts.map +0 -1
  165. package/lib/services/extension-service.js +0 -60
  166. package/lib/services/extension-service.js.map +0 -1
  167. package/lib/store/models/registry-extension-model.d.ts +0 -5
  168. package/lib/store/models/registry-extension-model.d.ts.map +0 -1
  169. package/lib/store/models/registry-extension-model.js +0 -83
  170. package/lib/store/models/registry-extension-model.js.map +0 -1
  171. package/lib/store/repositories/registry-extension-repository.d.ts +0 -54
  172. package/lib/store/repositories/registry-extension-repository.d.ts.map +0 -1
  173. package/lib/store/repositories/registry-extension-repository.js +0 -137
  174. package/lib/store/repositories/registry-extension-repository.js.map +0 -1
  175. package/lib/templates/services/RegistryExtensionDataLoader.ts.template +0 -2
@@ -1,11 +1,11 @@
1
1
  import { interfaces } from 'inversify';
2
- import { IRegistryExtensionService, IInstalledExtensionService } from 'common/server';
3
- import { RegistryExtensionDataLoader } from '../dataloaders';
2
+ import { IInstalledExtensionService, IMarketplacePublisherService, IPublisherEventService, IExtensionGalleryService } from 'common/server';
4
3
  export declare const extensionModule: (settings: any) => interfaces.ContainerModule;
5
4
  declare const createServiceFunc: (container: interfaces.Container) => {
6
- registryExtensionService: IRegistryExtensionService;
7
5
  installedExtensionService: IInstalledExtensionService;
8
- registryExtensionDataLoader: RegistryExtensionDataLoader;
6
+ publisherService: IMarketplacePublisherService;
7
+ publisherEventService: IPublisherEventService;
8
+ extensionGalleryService: IExtensionGalleryService;
9
9
  };
10
10
  export { createServiceFunc };
11
11
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/containers/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAEH,yBAAyB,EAEzB,0BAA0B,EAE7B,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAE7D,eAAO,MAAM,eAAe,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,UAAU,CAAC,eAgCtD,CAAC;AAGP,QAAA,MAAM,iBAAiB,GAAI,WAAW,UAAU,CAAC,SAAS;;;;CAIxD,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/containers/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAEH,0BAA0B,EAG1B,4BAA4B,EAC5B,sBAAsB,EACtB,wBAAwB,EAE3B,MAAM,eAAe,CAAC;AAWvB,eAAO,MAAM,eAAe,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,UAAU,CAAC,eAgDtD,CAAC;AAGP,QAAA,MAAM,iBAAiB,GAAI,WAAW,UAAU,CAAC,SAAS;;;;;CAKxD,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,13 +1,18 @@
1
- import {ContainerModule}from'inversify';import {SERVER_TYPES}from'common/server';import {RegistryExtensionService}from'../services/extension-service.js';import'../services/installed-extension-service.js';import {InstalledExtensionServiceExt}from'../services/installed-extension-service-ext.js';import'../store/models/registry-extension-model.js';import'../store/models/installed-extension-model.js';import {RegistryExtensionRepository}from'../store/repositories/registry-extension-repository.js';import {InstalledExtensionRepository}from'../store/repositories/installed-extension-repository.js';import {RegistryExtensionDataLoader}from'../dataloaders/registry-extension-data-loader.js';const extensionModule = settings => new ContainerModule(bind => {
1
+ import {ContainerModule}from'inversify';import {SERVER_TYPES}from'common/server';import'../services/installed-extension-service.js';import {InstalledExtensionServiceExt}from'../services/installed-extension-service-ext.js';import {MarketplacePublisherService}from'../services/publisher-service.js';import {PublisherEventService}from'../services/publisher-event-service.js';import {ExtensionGalleryService}from'../services/extension-gallery-service.js';import {ExtensionGalleryRepository}from'../services/extension-gallery-repository.js';import'../store/models/installed-extension-model.js';import'../store/models/publisher-model.js';import {InstalledExtensionRepository}from'../store/repositories/installed-extension-repository.js';import {MarketplacePublisherRepository}from'../store/repositories/publisher-repository.js';import {DropOldPublisherNameIndexMigration}from'../migrations/dbMigrations/DropOldPublisherIndexMigration.js';const extensionModule = settings => new ContainerModule(bind => {
2
2
  bind(SERVER_TYPES.IExtensionMongoConnection).toConstantValue(settings.mongoConnection);
3
- // Registry Extension Service
4
- bind(SERVER_TYPES.IRegistryExtensionService).to(RegistryExtensionService).inSingletonScope().whenTargetIsDefault();
5
- // Registry Extension Repository
6
- bind(SERVER_TYPES.IRegistryExtensionRepository).to(RegistryExtensionRepository).inSingletonScope().whenTargetIsDefault();
7
3
  // Installed Extension Service
8
4
  bind(SERVER_TYPES.IInstalledExtensionService).to(InstalledExtensionServiceExt).inSingletonScope().whenTargetIsDefault();
9
5
  // Installed Extension Repository
10
6
  bind(SERVER_TYPES.IInstalledExtensionRepository).to(InstalledExtensionRepository).inSingletonScope().whenTargetIsDefault();
11
- // DataLoaders
12
- bind(SERVER_TYPES.IRegistryExtensionDataLoader).to(RegistryExtensionDataLoader).inRequestScope(); // Important: Request scope for DataLoader caching
7
+ // Publisher Service
8
+ bind(SERVER_TYPES.IMarketplacePublisherService).to(MarketplacePublisherService).inSingletonScope().whenTargetIsDefault();
9
+ // Publisher Repository
10
+ bind(SERVER_TYPES.IMarketplacePublisherRepository).to(MarketplacePublisherRepository).inSingletonScope().whenTargetIsDefault();
11
+ // Publisher Event Service
12
+ bind(SERVER_TYPES.IPublisherEventService).to(PublisherEventService).inSingletonScope().whenTargetIsDefault();
13
+ // Extension Gallery Repository
14
+ bind(SERVER_TYPES.IExtensionGalleryRepository).to(ExtensionGalleryRepository).inSingletonScope().whenTargetIsDefault();
15
+ // Extension Gallery Service
16
+ bind(SERVER_TYPES.IExtensionGalleryService).to(ExtensionGalleryService).inSingletonScope().whenTargetIsDefault();
17
+ bind('MongodbMigration').to(DropOldPublisherNameIndexMigration).whenTargetNamed(DropOldPublisherNameIndexMigration.name);
13
18
  });export{extensionModule};//# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sources":["../../src/containers/module.ts"],"sourcesContent":[null],"names":[],"mappings":";;;EAmDG,IAAA,CAAA,YAAA,CAAA,yBAAA,CAAA,CAAA,EAAA,CAAA,wBAAA,CAAA,CAAA,gBAAA,EAAA,CAAA,mBAAA,EAAA;AAEH;;;;;;;;"}
1
+ {"version":3,"file":"module.js","sources":["../../src/containers/module.ts"],"sourcesContent":[null],"names":[],"mappings":";;;EA6EG,IAAA,CAAA,YAAA,CAAA,0BAAA,CAAA,CAAA,EAAA,CAAA,4BAAA,CAAA,CAAA,gBAAA,EAAA,CAAA,mBAAA,EAAA;AAEH;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- export { RegistryExtensionDataLoader } from './registry-extension-data-loader';
1
+ export * from './publisher-data-loader';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataloaders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dataloaders/index.ts"],"names":[],"mappings":"AACA,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { IPublisherEventService, AsDomainType, IMarketplacePublisherModel } from 'common/server';
2
+ import { BulkDataLoader2 } from '@common-stack/store-mongo';
3
+ export declare class PublisherDataLoader extends BulkDataLoader2<AsDomainType<IMarketplacePublisherModel>> {
4
+ constructor(publisherService: IPublisherEventService);
5
+ }
6
+ //# sourceMappingURL=publisher-data-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publisher-data-loader.d.ts","sourceRoot":"","sources":["../../src/dataloaders/publisher-data-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,sBAAsB,EAGtB,YAAY,EACZ,0BAA0B,EAC7B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,qBACa,mBAAoB,SAAQ,eAAe,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;gBAG1F,gBAAgB,EAAE,sBAAsB;CAI/C"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Example GraphQL calls for testing the installExtension mutation
3
+ * with the new orgName parameter support
4
+ */
5
+ declare const basicInstallExample: {
6
+ query: string;
7
+ variables: {
8
+ input: {
9
+ extensionSlug: string;
10
+ version: string;
11
+ settings: {
12
+ enabled: boolean;
13
+ };
14
+ };
15
+ };
16
+ };
17
+ declare const orgInstallExample: {
18
+ query: string;
19
+ variables: {
20
+ input: {
21
+ extensionSlug: string;
22
+ version: string;
23
+ orgName: string;
24
+ settings: {
25
+ enabled: boolean;
26
+ userConfig: {
27
+ theme: string;
28
+ notifications: boolean;
29
+ autoSave: boolean;
30
+ };
31
+ };
32
+ policies: {
33
+ autoUpdate: boolean;
34
+ allowBeta: boolean;
35
+ };
36
+ };
37
+ };
38
+ };
39
+ declare const queryExtensionsExample: {
40
+ query: string;
41
+ variables: {
42
+ orgName: string;
43
+ enabled: boolean;
44
+ };
45
+ };
46
+ declare const expectedResponse: {
47
+ data: {
48
+ installExtension: {
49
+ success: boolean;
50
+ message: string;
51
+ extension: {
52
+ id: string;
53
+ status: string;
54
+ installedVersion: string;
55
+ extension: {
56
+ extensionSlug: string;
57
+ name: string;
58
+ version: string;
59
+ };
60
+ settings: {
61
+ effectiveEnabled: boolean;
62
+ userConfig: {
63
+ theme: string;
64
+ notifications: boolean;
65
+ autoSave: boolean;
66
+ };
67
+ };
68
+ };
69
+ };
70
+ };
71
+ };
72
+ export { basicInstallExample, orgInstallExample, queryExtensionsExample, expectedResponse };
73
+ //# sourceMappingURL=test-graphql-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-graphql-examples.d.ts","sourceRoot":"","sources":["../../src/demo/test-graphql-examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,QAAA,MAAM,mBAAmB;;;;;;;;;;;CAgCxB,CAAC;AAQF,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;CA0CtB,CAAC;AAOF,QAAA,MAAM,sBAAsB;;;;;;CAuB3B,CAAC;AAOF,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBrB,CAAC;AAqBF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,220 @@
1
+ type Context = {
2
+ user?: {
3
+ id: string;
4
+ name: string;
5
+ email: string;
6
+ };
7
+ };
8
+ type FormTemplatesInput = {
9
+ search?: string;
10
+ category?: string;
11
+ publisherId?: string;
12
+ installed?: boolean;
13
+ limit?: number;
14
+ offset?: number;
15
+ };
16
+ export declare const formTemplateResolvers: () => {
17
+ Query: {
18
+ marketplaceFormTemplates: (_: unknown, { input }: {
19
+ input?: FormTemplatesInput;
20
+ }, context: Context) => Promise<{
21
+ nodes: {
22
+ id: string;
23
+ name: string;
24
+ description: string;
25
+ category: string;
26
+ version: string;
27
+ author: string;
28
+ publisherId: string;
29
+ tags: string[];
30
+ schema: string;
31
+ uiSchema: string;
32
+ downloads: number;
33
+ rating: number;
34
+ reviewCount: number;
35
+ createdAt: Date;
36
+ updatedAt: Date;
37
+ installed: boolean;
38
+ preview: any;
39
+ publisher: {
40
+ id: string;
41
+ name: string;
42
+ email: string;
43
+ };
44
+ }[];
45
+ totalCount: number;
46
+ pageInfo: {
47
+ hasNextPage: boolean;
48
+ hasPreviousPage: boolean;
49
+ startCursor: string;
50
+ endCursor: string;
51
+ };
52
+ }>;
53
+ marketplaceFormTemplate: (_: unknown, { id }: {
54
+ id: string;
55
+ }, context: Context) => Promise<{
56
+ id: string;
57
+ name: string;
58
+ description: string;
59
+ category: string;
60
+ version: string;
61
+ author: string;
62
+ publisherId: string;
63
+ tags: string[];
64
+ schema: string;
65
+ uiSchema: string;
66
+ downloads: number;
67
+ rating: number;
68
+ reviewCount: number;
69
+ createdAt: Date;
70
+ updatedAt: Date;
71
+ installed: boolean;
72
+ preview: any;
73
+ publisher: {
74
+ id: string;
75
+ name: string;
76
+ email: string;
77
+ };
78
+ }>;
79
+ marketplaceInstalledFormTemplates: () => Promise<{
80
+ id: string;
81
+ name: string;
82
+ description: string;
83
+ category: string;
84
+ version: string;
85
+ author: string;
86
+ publisherId: string;
87
+ tags: string[];
88
+ schema: string;
89
+ uiSchema: string;
90
+ downloads: number;
91
+ rating: number;
92
+ reviewCount: number;
93
+ createdAt: Date;
94
+ updatedAt: Date;
95
+ installed: boolean;
96
+ preview: any;
97
+ publisher: {
98
+ id: string;
99
+ name: string;
100
+ email: string;
101
+ };
102
+ }[]>;
103
+ marketplaceMyFormTemplates: () => Promise<any[]>;
104
+ marketplacePopularFormTemplates: () => Promise<any[]>;
105
+ marketplaceRecentFormTemplates: () => Promise<any[]>;
106
+ };
107
+ Mutation: {
108
+ marketplacePublishFormTemplate: (_: unknown, { input }: {
109
+ input: unknown;
110
+ }, context: Context) => Promise<{
111
+ success: boolean;
112
+ message: string;
113
+ formTemplate: {
114
+ id: string;
115
+ name: string;
116
+ description: string;
117
+ category: string;
118
+ version: string;
119
+ author: string;
120
+ publisherId: string;
121
+ tags: string[];
122
+ schema: string;
123
+ uiSchema: string;
124
+ downloads: number;
125
+ rating: number;
126
+ reviewCount: number;
127
+ createdAt: Date;
128
+ updatedAt: Date;
129
+ installed: boolean;
130
+ preview: any;
131
+ publisher: {
132
+ id: string;
133
+ name: string;
134
+ email: string;
135
+ };
136
+ };
137
+ }>;
138
+ marketplaceInstallFormTemplate: (_: unknown, { input }: {
139
+ input: {
140
+ id: string;
141
+ };
142
+ }, context: Context) => Promise<{
143
+ success: boolean;
144
+ message: string;
145
+ formTemplate: {
146
+ id: string;
147
+ name: string;
148
+ description: string;
149
+ category: string;
150
+ version: string;
151
+ author: string;
152
+ publisherId: string;
153
+ tags: string[];
154
+ schema: string;
155
+ uiSchema: string;
156
+ downloads: number;
157
+ rating: number;
158
+ reviewCount: number;
159
+ createdAt: Date;
160
+ updatedAt: Date;
161
+ installed: boolean;
162
+ preview: any;
163
+ publisher: {
164
+ id: string;
165
+ name: string;
166
+ email: string;
167
+ };
168
+ };
169
+ }>;
170
+ marketplaceUninstallFormTemplate: () => Promise<{
171
+ success: boolean;
172
+ message: string;
173
+ }>;
174
+ marketplaceUpdateFormTemplate: () => Promise<{
175
+ success: boolean;
176
+ message: string;
177
+ formTemplate: {
178
+ id: string;
179
+ name: string;
180
+ description: string;
181
+ category: string;
182
+ version: string;
183
+ author: string;
184
+ publisherId: string;
185
+ tags: string[];
186
+ schema: string;
187
+ uiSchema: string;
188
+ downloads: number;
189
+ rating: number;
190
+ reviewCount: number;
191
+ createdAt: Date;
192
+ updatedAt: Date;
193
+ installed: boolean;
194
+ preview: any;
195
+ publisher: {
196
+ id: string;
197
+ name: string;
198
+ email: string;
199
+ };
200
+ };
201
+ }>;
202
+ marketplaceDeleteFormTemplate: () => Promise<{
203
+ success: boolean;
204
+ message: string;
205
+ }>;
206
+ marketplaceRateFormTemplate: () => Promise<{
207
+ success: boolean;
208
+ message: string;
209
+ }>;
210
+ };
211
+ Subscription: {
212
+ marketplaceFormTemplateEvents: {
213
+ subscribe: (_: unknown, { publisherId }: {
214
+ publisherId?: string;
215
+ }) => AsyncIterator<unknown, any, any>;
216
+ };
217
+ };
218
+ };
219
+ export {};
220
+ //# sourceMappingURL=form-templates-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-templates-resolver.d.ts","sourceRoot":"","sources":["../../../src/graphql/resolvers/form-templates-resolver.ts"],"names":[],"mappings":"AAIA,KAAK,OAAO,GAAG;IACX,IAAI,CAAC,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACjB,CAAC;CACL,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAwCF,eAAO,MAAM,qBAAqB;;sCAInB,OAAO,aACC;YAAE,KAAK,CAAC,EAAE,kBAAkB,CAAA;SAAE,WAEhC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAsCb,OAAO,UACF;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,WAEb,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAeb,OAAO,aAEC;YAAE,KAAK,EAAE,OAAO,CAAA;SAAE,WAEpB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA4Bb,OAAO,aACC;YAAE,KAAK,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,WAE3B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiCT,OAAO,mBACO;gBAAE,WAAW,CAAC,EAAE,MAAM,CAAA;aAAE;;;CASvD,CAAC"}
@@ -0,0 +1,170 @@
1
+ import {PubSub}from'graphql-subscriptions';const pubsub = new PubSub();
2
+ const mockFormTemplates = [{
3
+ id: '1',
4
+ name: 'Contact Form',
5
+ description: 'A comprehensive contact form with validation for business websites',
6
+ category: 'Contact Forms',
7
+ version: '1.2.0',
8
+ author: 'FormBuilder Team',
9
+ publisherId: 'formbuilder-team',
10
+ tags: ['contact', 'business', 'validation', 'responsive'],
11
+ schema: JSON.stringify({
12
+ type: 'object',
13
+ title: 'Contact Form',
14
+ properties: {
15
+ name: {
16
+ type: 'string',
17
+ title: 'Full Name'
18
+ },
19
+ email: {
20
+ type: 'string',
21
+ title: 'Email',
22
+ format: 'email'
23
+ },
24
+ message: {
25
+ type: 'string',
26
+ title: 'Message'
27
+ }
28
+ },
29
+ required: ['name', 'email', 'message']
30
+ }),
31
+ uiSchema: JSON.stringify({
32
+ message: {
33
+ 'ui:widget': 'textarea'
34
+ }
35
+ }),
36
+ downloads: 1250,
37
+ rating: 4.5,
38
+ reviewCount: 28,
39
+ createdAt: new Date('2024-01-15'),
40
+ updatedAt: new Date('2024-08-20'),
41
+ installed: false,
42
+ preview: null,
43
+ publisher: {
44
+ id: 'formbuilder-team',
45
+ name: 'FormBuilder Team',
46
+ email: 'team@formbuilder.com'
47
+ }
48
+ }];
49
+ const formTemplateResolvers = () => ({
50
+ Query: {
51
+ marketplaceFormTemplates: async (
52
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
53
+ _, {
54
+ input
55
+ },
56
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
57
+ context) => {
58
+ let filteredTemplates = mockFormTemplates;
59
+ if (input?.search) {
60
+ const searchTerm = input.search.toLowerCase();
61
+ filteredTemplates = filteredTemplates.filter(template => template.name.toLowerCase().includes(searchTerm) || template.description.toLowerCase().includes(searchTerm) || template.tags.some(tag => tag.toLowerCase().includes(searchTerm)));
62
+ }
63
+ if (input?.category) {
64
+ filteredTemplates = filteredTemplates.filter(template => template.category === input.category);
65
+ }
66
+ const limit = input?.limit || 10;
67
+ const offset = input?.offset || 0;
68
+ const totalCount = filteredTemplates.length;
69
+ const paginatedTemplates = filteredTemplates.slice(offset, offset + limit);
70
+ return {
71
+ nodes: paginatedTemplates,
72
+ totalCount,
73
+ pageInfo: {
74
+ hasNextPage: offset + limit < totalCount,
75
+ hasPreviousPage: offset > 0,
76
+ startCursor: paginatedTemplates.length > 0 ? paginatedTemplates[0].id : null,
77
+ endCursor: paginatedTemplates.length > 0 ? paginatedTemplates[paginatedTemplates.length - 1].id : null
78
+ }
79
+ };
80
+ },
81
+ marketplaceFormTemplate: async (
82
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
83
+ _, {
84
+ id
85
+ },
86
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
87
+ context) => mockFormTemplates.find(template => template.id === id) || null,
88
+ marketplaceInstalledFormTemplates: async () => mockFormTemplates.filter(template => template.installed),
89
+ marketplaceMyFormTemplates: async () => [],
90
+ marketplacePopularFormTemplates: async () => [],
91
+ marketplaceRecentFormTemplates: async () => []
92
+ },
93
+ Mutation: {
94
+ marketplacePublishFormTemplate: async (
95
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
96
+ _,
97
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
98
+ {
99
+ input
100
+ },
101
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
102
+ context) => {
103
+ try {
104
+ await pubsub.publish('FORM_TEMPLATE_EVENTS', {
105
+ formTemplateEvents: {
106
+ eventType: 'PUBLISHED',
107
+ formTemplate: {
108
+ id: '1'
109
+ },
110
+ timestamp: new Date(),
111
+ metadata: '{}'
112
+ }
113
+ });
114
+ return {
115
+ success: true,
116
+ message: 'Form template published successfully',
117
+ formTemplate: mockFormTemplates[0]
118
+ };
119
+ } catch {
120
+ return {
121
+ success: false,
122
+ message: 'Failed to publish form template',
123
+ formTemplate: null
124
+ };
125
+ }
126
+ },
127
+ marketplaceInstallFormTemplate: async (
128
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
129
+ _, {
130
+ input
131
+ },
132
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
133
+ context) => ({
134
+ success: true,
135
+ message: 'Form template installed successfully',
136
+ formTemplate: mockFormTemplates.find(t => t.id === input.id)
137
+ }),
138
+ marketplaceUninstallFormTemplate: async () => ({
139
+ success: true,
140
+ message: 'Form template uninstalled successfully'
141
+ }),
142
+ marketplaceUpdateFormTemplate: async () => ({
143
+ success: true,
144
+ message: 'Form template updated successfully',
145
+ formTemplate: mockFormTemplates[0]
146
+ }),
147
+ marketplaceDeleteFormTemplate: async () => ({
148
+ success: true,
149
+ message: 'Form template deleted successfully'
150
+ }),
151
+ marketplaceRateFormTemplate: async () => ({
152
+ success: true,
153
+ message: 'Rating submitted successfully'
154
+ })
155
+ },
156
+ Subscription: {
157
+ marketplaceFormTemplateEvents: {
158
+ subscribe: (
159
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
160
+ _, {
161
+ publisherId
162
+ }) => {
163
+ if (publisherId) {
164
+ return pubsub.asyncIterator(`FORM_TEMPLATE_EVENTS_${publisherId}`);
165
+ }
166
+ return pubsub.asyncIterator('FORM_TEMPLATE_EVENTS');
167
+ }
168
+ }
169
+ }
170
+ });export{formTemplateResolvers};//# sourceMappingURL=form-templates-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-templates-resolver.js","sources":["../../../src/graphql/resolvers/form-templates-resolver.ts"],"sourcesContent":[null],"names":[],"mappings":"2CAKI,MAAA,MAAO,GAAA,IAAA,MAAA,EAAA;uBACQ,GAAA,CAAA;SACX;QACA,cAAc;aAChB,EAAA,oEAAA;EACJ,QAAA,EAAA,eAAA;AAEF,EAAA;QACI,EAAM,kBAAU;aACP,EAAE,kBAAO;MAClB,EAAA,CAAA,SAAc,EAAA,UAAO,EAAA,YAAA,EAAA,YAAA,CAAA;QACrB,EAAA,IAAU,CAAA,SAAU,CAAA;IACpB,IAAA,EAAM,QAAQ;IACd,KAAA,EAAO,cAAS;IAClB,UAAA,EAAA;AAwCF,MAAA,IAAA,EAAA;;AAIe,QAAA,KAAA,EAAA;;AACsC,MAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCtC;;AACmB,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBnB,YAAA,YAAA,EAAA;cAEU,EAAA,EAAK;AAAW,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8B1B,KAAA,CAAA;AACU,IAAA,gCAAO,EAAA,aAAA;mBAAI;aAAU,EAAA;AAAE,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,15 @@
1
+ export declare const resolver: () => {
2
+ Query: {
3
+ instances: (root: any, args: any, ctx: any) => Promise<any>;
4
+ gallery: (root: any, { query }: {
5
+ query?: {};
6
+ }, ctx: any) => Promise<any>;
7
+ galleryExtension: (root: any, { extensionSlug }: {
8
+ extensionSlug: any;
9
+ }, ctx: any) => Promise<any>;
10
+ };
11
+ Mutation: {
12
+ startExtensionHost: (root: any, args: any, ctx: any) => Promise<boolean>;
13
+ };
14
+ };
15
+ //# sourceMappingURL=gallery-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gallery-resolver.d.ts","sourceRoot":"","sources":["../../../src/graphql/resolvers/gallery-resolver.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CA6BnB,CAAC"}
@@ -0,0 +1,35 @@
1
+ const resolver = () => ({
2
+ Query: {
3
+ instances: async (root, args, ctx) => ctx.extensionInstanceManager.extensions({}),
4
+ gallery: async (root, {
5
+ query = {}
6
+ }, ctx) => ctx.extensionGalleryService?.query(query) || null,
7
+ galleryExtension: async (root, {
8
+ extensionSlug
9
+ }, ctx) => ctx.extensionGalleryService?.getExtension({
10
+ id: extensionSlug
11
+ }) || null
12
+ },
13
+ Mutation: {
14
+ // removeExtension: async (root, { id }, ctx) =>
15
+ // ctx.extensionManagementService.removeIfExists(id).then(() => true),
16
+ // install: async (root, { vsix }, ctx: { extensionManagementService: IExtensionManagementService }) =>
17
+ // ctx.extensionManagementService.install(vsix),
18
+ startExtensionHost: async (root, args, ctx) => {
19
+ await ctx.extensionService.startExtensionHost();
20
+ return true;
21
+ }
22
+ }
23
+ // GalleryExtension: {
24
+ // id: (root: IGalleryExtension, args, ctx) => `${root.publisher}.${root.name}`,
25
+ // icon: (root, args, ctx) => ctx.gallery.getIcon(root, CancellationToken.None),
26
+ // resources: async (root, args, ctx /*: { gallery: IExtensionGalleryService } */) => ({
27
+ // icon: await ctx.gallery.getIcon(root, CancellationToken.None),
28
+ // readme: await ctx.gallery.getReadme(root, CancellationToken.None),
29
+ // license: await ctx.gallery.getLicense(root, CancellationToken.None),
30
+ // changelog: await ctx.gallery.getChangelog(root, CancellationToken.None),
31
+ // download: await ctx.gallery.getDownloadUrl(root, CancellationToken.None),
32
+ // manifest: await ctx.gallery.getTextManifest(root, CancellationToken.None),
33
+ // }),
34
+ // },
35
+ });export{resolver};//# sourceMappingURL=gallery-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gallery-resolver.js","sources":["../../../src/graphql/resolvers/gallery-resolver.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAA,QAAa,GAAA,OAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}