@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
@@ -0,0 +1,305 @@
1
+ # Publisher Analytics Schema
2
+ # Provides comprehensive analytics and insights for extension publishers
3
+
4
+ type PublisherAnalytics {
5
+ """Publisher identifier"""
6
+ publisherId: String!
7
+
8
+ """Total number of extensions published"""
9
+ totalExtensions: Int!
10
+
11
+ """Total downloads across all extensions"""
12
+ totalDownloads: Int!
13
+
14
+ """Total active installations"""
15
+ totalInstallations: Int!
16
+
17
+ """Average rating across all extensions"""
18
+ averageRating: Float
19
+
20
+ """Analytics time period"""
21
+ period: AnalyticsPeriod!
22
+
23
+ """Detailed extension metrics"""
24
+ extensions: [ExtensionMetrics!]!
25
+
26
+ """Download trend over time"""
27
+ downloadTrend: [AnalyticsDataPoint!]!
28
+
29
+ """Installation trend over time"""
30
+ installationTrend: [AnalyticsDataPoint!]!
31
+
32
+ """Popular countries/regions"""
33
+ popularRegions: [RegionMetrics!]!
34
+ }
35
+
36
+ type ExtensionMetrics {
37
+ """Extension identifier"""
38
+ extensionSlug: String!
39
+
40
+ """Extension name"""
41
+ name: String!
42
+
43
+ """Current version"""
44
+ version: String
45
+
46
+ """Download count for the period"""
47
+ downloads: Int!
48
+
49
+ """Active installation count"""
50
+ installations: Int!
51
+
52
+ """Average rating"""
53
+ rating: Float
54
+
55
+ """Number of reviews"""
56
+ reviewCount: Int!
57
+
58
+ """Revenue generated (if applicable)"""
59
+ revenue: Float
60
+
61
+ """Last updated timestamp"""
62
+ lastUpdated: DateTime
63
+
64
+ """Version history metrics"""
65
+ versionMetrics: [VersionMetrics!]!
66
+ }
67
+
68
+ type VersionMetrics {
69
+ """Version string"""
70
+ version: String!
71
+
72
+ """Downloads for this version"""
73
+ downloads: Int!
74
+
75
+ """Installations for this version"""
76
+ installations: Int!
77
+
78
+ """Release date"""
79
+ releasedAt: DateTime!
80
+
81
+ """Adoption rate as percentage"""
82
+ adoptionRate: Float!
83
+ }
84
+
85
+ type AnalyticsDataPoint {
86
+ """Date/timestamp for the data point"""
87
+ timestamp: DateTime!
88
+
89
+ """Metric value"""
90
+ value: Int!
91
+
92
+ """Optional secondary value for comparison"""
93
+ secondaryValue: Int
94
+ }
95
+
96
+ type RegionMetrics {
97
+ """Country/region code"""
98
+ region: String!
99
+
100
+ """Country/region name"""
101
+ regionName: String!
102
+
103
+ """Download count from this region"""
104
+ downloads: Int!
105
+
106
+ """Installation count from this region"""
107
+ installations: Int!
108
+
109
+ """Percentage of total traffic"""
110
+ percentage: Float!
111
+ }
112
+
113
+ type PublisherRevenueAnalytics {
114
+ """Publisher identifier"""
115
+ publisherId: String!
116
+
117
+ """Total revenue for the period"""
118
+ totalRevenue: Float!
119
+
120
+ """Revenue currency"""
121
+ currency: String!
122
+
123
+ """Revenue by extension"""
124
+ extensionRevenue: [ExtensionRevenue!]!
125
+
126
+ """Revenue trend over time"""
127
+ revenueTrend: [RevenueDataPoint!]!
128
+
129
+ """Top earning extensions"""
130
+ topEarningExtensions: [ExtensionRevenue!]!
131
+ }
132
+
133
+ type ExtensionRevenue {
134
+ """Extension identifier"""
135
+ extensionSlug: String!
136
+
137
+ """Extension name"""
138
+ name: String!
139
+
140
+ """Revenue generated"""
141
+ revenue: Float!
142
+
143
+ """Number of paid installations"""
144
+ paidInstallations: Int!
145
+
146
+ """Average revenue per user"""
147
+ arpu: Float!
148
+ }
149
+
150
+ type RevenueDataPoint {
151
+ """Date/timestamp"""
152
+ timestamp: DateTime!
153
+
154
+ """Revenue amount"""
155
+ revenue: Float!
156
+
157
+ """Number of transactions"""
158
+ transactions: Int!
159
+ }
160
+
161
+ enum AnalyticsPeriod {
162
+ """Last 24 hours"""
163
+ DAILY
164
+
165
+ """Last 7 days"""
166
+ WEEKLY
167
+
168
+ """Last 30 days"""
169
+ MONTHLY
170
+
171
+ """Last 90 days"""
172
+ QUARTERLY
173
+
174
+ """Last 365 days"""
175
+ YEARLY
176
+
177
+ """All time"""
178
+ ALL_TIME
179
+ }
180
+
181
+ enum AnalyticsMetric {
182
+ """Download metrics"""
183
+ DOWNLOADS
184
+
185
+ """Installation metrics"""
186
+ INSTALLATIONS
187
+
188
+ """Rating metrics"""
189
+ RATINGS
190
+
191
+ """Revenue metrics"""
192
+ REVENUE
193
+
194
+ """User engagement metrics"""
195
+ ENGAGEMENT
196
+ }
197
+
198
+ input PublisherAnalyticsInput {
199
+ """Publisher ID to get analytics for"""
200
+ publisherId: String!
201
+
202
+ """Time period for analytics"""
203
+ period: AnalyticsPeriod!
204
+
205
+ """Specific extensions to include (optional)"""
206
+ extensionSlugs: [String!]
207
+
208
+ """Include revenue data"""
209
+ includeRevenue: Boolean
210
+
211
+ """Include regional breakdown"""
212
+ includeRegions: Boolean
213
+ }
214
+
215
+ input PublisherRevenueAnalyticsInput {
216
+ """Publisher ID"""
217
+ publisherId: String!
218
+
219
+ """Time period"""
220
+ period: AnalyticsPeriod!
221
+
222
+ """Currency for revenue display"""
223
+ currency: String
224
+ }
225
+
226
+ type AnalyticsEvent {
227
+ """Event type"""
228
+ eventType: String!
229
+
230
+ """Extension slug"""
231
+ extensionSlug: String!
232
+
233
+ """Publisher ID"""
234
+ publisherId: String!
235
+
236
+ """Event timestamp"""
237
+ timestamp: DateTime!
238
+
239
+ """Event metadata"""
240
+ metadata: String
241
+
242
+ """User country/region"""
243
+ region: String
244
+
245
+ """Version involved"""
246
+ version: String
247
+ }
248
+
249
+ input TrackAnalyticsEventInput {
250
+ """Event type (download, install, uninstall, etc.)"""
251
+ eventType: String!
252
+
253
+ """Extension being tracked"""
254
+ extensionSlug: String!
255
+
256
+ """User ID (optional)"""
257
+ userId: String
258
+
259
+ """Event metadata as JSON"""
260
+ metadata: String
261
+
262
+ """User's country/region"""
263
+ region: String
264
+
265
+ """Extension version"""
266
+ version: String
267
+ }
268
+
269
+ type TrackAnalyticsEventResult {
270
+ """Whether tracking was successful"""
271
+ success: Boolean!
272
+
273
+ """Error message if failed"""
274
+ message: String
275
+
276
+ """Event ID for reference"""
277
+ eventId: String
278
+ }
279
+
280
+ extend type Query {
281
+ """Get comprehensive analytics for a publisher"""
282
+ publisherAnalytics(input: PublisherAnalyticsInput!): PublisherAnalytics!
283
+
284
+ """Get revenue analytics for a publisher"""
285
+ publisherRevenueAnalytics(input: PublisherRevenueAnalyticsInput!): PublisherRevenueAnalytics!
286
+
287
+ """Get recent analytics events"""
288
+ recentAnalyticsEvents(publisherId: String!, limit: Int): [AnalyticsEvent!]!
289
+ }
290
+
291
+ extend type Mutation {
292
+ """Track an analytics event"""
293
+ trackAnalyticsEvent(input: TrackAnalyticsEventInput!): TrackAnalyticsEventResult!
294
+ }
295
+
296
+ extend type Subscription {
297
+ """Subscribe to real-time analytics events"""
298
+ analyticsEvents(publisherId: String!): AnalyticsEvent!
299
+
300
+ """Subscribe to download events"""
301
+ downloadEvents(publisherId: String!): AnalyticsEvent!
302
+
303
+ """Subscribe to installation events"""
304
+ installationEvents(publisherId: String!): AnalyticsEvent!
305
+ }
@@ -0,0 +1 @@
1
+ var publisherAnalyticsSchema = "# Publisher Analytics Schema\n# Provides comprehensive analytics and insights for extension publishers\n\ntype PublisherAnalytics {\n \"\"\"Publisher identifier\"\"\"\n publisherId: String!\n \n \"\"\"Total number of extensions published\"\"\"\n totalExtensions: Int!\n \n \"\"\"Total downloads across all extensions\"\"\"\n totalDownloads: Int!\n \n \"\"\"Total active installations\"\"\"\n totalInstallations: Int!\n \n \"\"\"Average rating across all extensions\"\"\"\n averageRating: Float\n \n \"\"\"Analytics time period\"\"\"\n period: AnalyticsPeriod!\n \n \"\"\"Detailed extension metrics\"\"\"\n extensions: [ExtensionMetrics!]!\n \n \"\"\"Download trend over time\"\"\"\n downloadTrend: [AnalyticsDataPoint!]!\n \n \"\"\"Installation trend over time\"\"\"\n installationTrend: [AnalyticsDataPoint!]!\n \n \"\"\"Popular countries/regions\"\"\"\n popularRegions: [RegionMetrics!]!\n}\n\ntype ExtensionMetrics {\n \"\"\"Extension identifier\"\"\"\n extensionSlug: String!\n \n \"\"\"Extension name\"\"\"\n name: String!\n \n \"\"\"Current version\"\"\"\n version: String\n \n \"\"\"Download count for the period\"\"\"\n downloads: Int!\n \n \"\"\"Active installation count\"\"\"\n installations: Int!\n \n \"\"\"Average rating\"\"\"\n rating: Float\n \n \"\"\"Number of reviews\"\"\"\n reviewCount: Int!\n \n \"\"\"Revenue generated (if applicable)\"\"\"\n revenue: Float\n \n \"\"\"Last updated timestamp\"\"\"\n lastUpdated: DateTime\n \n \"\"\"Version history metrics\"\"\"\n versionMetrics: [VersionMetrics!]!\n}\n\ntype VersionMetrics {\n \"\"\"Version string\"\"\"\n version: String!\n \n \"\"\"Downloads for this version\"\"\"\n downloads: Int!\n \n \"\"\"Installations for this version\"\"\"\n installations: Int!\n \n \"\"\"Release date\"\"\"\n releasedAt: DateTime!\n \n \"\"\"Adoption rate as percentage\"\"\"\n adoptionRate: Float!\n}\n\ntype AnalyticsDataPoint {\n \"\"\"Date/timestamp for the data point\"\"\"\n timestamp: DateTime!\n \n \"\"\"Metric value\"\"\"\n value: Int!\n \n \"\"\"Optional secondary value for comparison\"\"\"\n secondaryValue: Int\n}\n\ntype RegionMetrics {\n \"\"\"Country/region code\"\"\"\n region: String!\n \n \"\"\"Country/region name\"\"\"\n regionName: String!\n \n \"\"\"Download count from this region\"\"\"\n downloads: Int!\n \n \"\"\"Installation count from this region\"\"\"\n installations: Int!\n \n \"\"\"Percentage of total traffic\"\"\"\n percentage: Float!\n}\n\ntype PublisherRevenueAnalytics {\n \"\"\"Publisher identifier\"\"\"\n publisherId: String!\n \n \"\"\"Total revenue for the period\"\"\"\n totalRevenue: Float!\n \n \"\"\"Revenue currency\"\"\"\n currency: String!\n \n \"\"\"Revenue by extension\"\"\"\n extensionRevenue: [ExtensionRevenue!]!\n \n \"\"\"Revenue trend over time\"\"\"\n revenueTrend: [RevenueDataPoint!]!\n \n \"\"\"Top earning extensions\"\"\"\n topEarningExtensions: [ExtensionRevenue!]!\n}\n\ntype ExtensionRevenue {\n \"\"\"Extension identifier\"\"\"\n extensionSlug: String!\n \n \"\"\"Extension name\"\"\"\n name: String!\n \n \"\"\"Revenue generated\"\"\"\n revenue: Float!\n \n \"\"\"Number of paid installations\"\"\"\n paidInstallations: Int!\n \n \"\"\"Average revenue per user\"\"\"\n arpu: Float!\n}\n\ntype RevenueDataPoint {\n \"\"\"Date/timestamp\"\"\"\n timestamp: DateTime!\n \n \"\"\"Revenue amount\"\"\"\n revenue: Float!\n \n \"\"\"Number of transactions\"\"\"\n transactions: Int!\n}\n\nenum AnalyticsPeriod {\n \"\"\"Last 24 hours\"\"\"\n DAILY\n \n \"\"\"Last 7 days\"\"\"\n WEEKLY\n \n \"\"\"Last 30 days\"\"\"\n MONTHLY\n \n \"\"\"Last 90 days\"\"\"\n QUARTERLY\n \n \"\"\"Last 365 days\"\"\"\n YEARLY\n \n \"\"\"All time\"\"\"\n ALL_TIME\n}\n\nenum AnalyticsMetric {\n \"\"\"Download metrics\"\"\"\n DOWNLOADS\n \n \"\"\"Installation metrics\"\"\"\n INSTALLATIONS\n \n \"\"\"Rating metrics\"\"\"\n RATINGS\n \n \"\"\"Revenue metrics\"\"\"\n REVENUE\n \n \"\"\"User engagement metrics\"\"\"\n ENGAGEMENT\n}\n\ninput PublisherAnalyticsInput {\n \"\"\"Publisher ID to get analytics for\"\"\"\n publisherId: String!\n \n \"\"\"Time period for analytics\"\"\"\n period: AnalyticsPeriod!\n \n \"\"\"Specific extensions to include (optional)\"\"\"\n extensionSlugs: [String!]\n \n \"\"\"Include revenue data\"\"\"\n includeRevenue: Boolean\n \n \"\"\"Include regional breakdown\"\"\"\n includeRegions: Boolean\n}\n\ninput PublisherRevenueAnalyticsInput {\n \"\"\"Publisher ID\"\"\"\n publisherId: String!\n \n \"\"\"Time period\"\"\"\n period: AnalyticsPeriod!\n \n \"\"\"Currency for revenue display\"\"\"\n currency: String\n}\n\ntype AnalyticsEvent {\n \"\"\"Event type\"\"\"\n eventType: String!\n \n \"\"\"Extension slug\"\"\"\n extensionSlug: String!\n \n \"\"\"Publisher ID\"\"\"\n publisherId: String!\n \n \"\"\"Event timestamp\"\"\"\n timestamp: DateTime!\n \n \"\"\"Event metadata\"\"\"\n metadata: String\n \n \"\"\"User country/region\"\"\"\n region: String\n \n \"\"\"Version involved\"\"\"\n version: String\n}\n\ninput TrackAnalyticsEventInput {\n \"\"\"Event type (download, install, uninstall, etc.)\"\"\"\n eventType: String!\n \n \"\"\"Extension being tracked\"\"\"\n extensionSlug: String!\n \n \"\"\"User ID (optional)\"\"\"\n userId: String\n \n \"\"\"Event metadata as JSON\"\"\"\n metadata: String\n \n \"\"\"User's country/region\"\"\"\n region: String\n \n \"\"\"Extension version\"\"\"\n version: String\n}\n\ntype TrackAnalyticsEventResult {\n \"\"\"Whether tracking was successful\"\"\"\n success: Boolean!\n \n \"\"\"Error message if failed\"\"\"\n message: String\n \n \"\"\"Event ID for reference\"\"\"\n eventId: String\n}\n\nextend type Query {\n \"\"\"Get comprehensive analytics for a publisher\"\"\"\n publisherAnalytics(input: PublisherAnalyticsInput!): PublisherAnalytics!\n \n \"\"\"Get revenue analytics for a publisher\"\"\"\n publisherRevenueAnalytics(input: PublisherRevenueAnalyticsInput!): PublisherRevenueAnalytics!\n \n \"\"\"Get recent analytics events\"\"\"\n recentAnalyticsEvents(publisherId: String!, limit: Int): [AnalyticsEvent!]!\n}\n\nextend type Mutation {\n \"\"\"Track an analytics event\"\"\"\n trackAnalyticsEvent(input: TrackAnalyticsEventInput!): TrackAnalyticsEventResult!\n}\n\nextend type Subscription {\n \"\"\"Subscribe to real-time analytics events\"\"\"\n analyticsEvents(publisherId: String!): AnalyticsEvent!\n \n \"\"\"Subscribe to download events\"\"\"\n downloadEvents(publisherId: String!): AnalyticsEvent!\n \n \"\"\"Subscribe to installation events\"\"\"\n installationEvents(publisherId: String!): AnalyticsEvent!\n}\n";export{publisherAnalyticsSchema as default};//# sourceMappingURL=publisher-analytics.graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publisher-analytics.graphql.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}