@fleetbase/registry-bridge-engine 0.0.1

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 (211) hide show
  1. package/.php-cs-fixer.php +29 -0
  2. package/LICENSE.md +651 -0
  3. package/README.md +122 -0
  4. package/addon/adapters/registry-bridge.js +5 -0
  5. package/addon/adapters/registry-extension-bundle.js +1 -0
  6. package/addon/adapters/registry-extension.js +1 -0
  7. package/addon/components/extension-card.hbs +12 -0
  8. package/addon/components/extension-card.js +235 -0
  9. package/addon/components/extension-form.hbs +237 -0
  10. package/addon/components/extension-form.js +123 -0
  11. package/addon/components/extension-modal-title.hbs +14 -0
  12. package/addon/components/extension-modal-title.js +20 -0
  13. package/addon/components/extension-monetize-form.hbs +56 -0
  14. package/addon/components/extension-monetize-form.js +7 -0
  15. package/addon/components/extension-pending-publish-viewer.hbs +52 -0
  16. package/addon/components/extension-pending-publish-viewer.js +37 -0
  17. package/addon/components/extension-reviewer-control.hbs +68 -0
  18. package/addon/components/extension-reviewer-control.js +68 -0
  19. package/addon/components/modals/confirm-extension-purchase.hbs +5 -0
  20. package/addon/components/modals/confirm-extension-purchase.js +3 -0
  21. package/addon/components/modals/extension-details.hbs +69 -0
  22. package/addon/components/modals/extension-details.js +33 -0
  23. package/addon/components/modals/extension-purchase-form.hbs +5 -0
  24. package/addon/components/modals/extension-purchase-form.js +3 -0
  25. package/addon/components/modals/extension-uninstall.hbs +25 -0
  26. package/addon/components/modals/extension-uninstall.js +11 -0
  27. package/addon/components/modals/select-extension-bundle.hbs +43 -0
  28. package/addon/components/modals/select-extension-bundle.js +31 -0
  29. package/addon/components/progress-bar.hbs +12 -0
  30. package/addon/components/progress-bar.js +8 -0
  31. package/addon/controllers/application.js +6 -0
  32. package/addon/controllers/developers/analytics.js +26 -0
  33. package/addon/controllers/developers/extensions/edit/bundles.js +70 -0
  34. package/addon/controllers/developers/extensions/edit/index.js +3 -0
  35. package/addon/controllers/developers/extensions/edit/monetize.js +7 -0
  36. package/addon/controllers/developers/extensions/edit.js +107 -0
  37. package/addon/controllers/developers/extensions/index.js +3 -0
  38. package/addon/controllers/developers/extensions/new.js +32 -0
  39. package/addon/controllers/developers/payments/index.js +39 -0
  40. package/addon/controllers/developers/payments/onboard.js +67 -0
  41. package/addon/controllers/explore/category.js +22 -0
  42. package/addon/controllers/explore/index.js +15 -0
  43. package/addon/controllers/installed.js +86 -0
  44. package/addon/controllers/purchased.js +18 -0
  45. package/addon/engine.js +44 -0
  46. package/addon/models/registry-extension-bundle.js +62 -0
  47. package/addon/models/registry-extension.js +215 -0
  48. package/addon/routes/application.js +12 -0
  49. package/addon/routes/developers/analytics.js +10 -0
  50. package/addon/routes/developers/credentials.js +3 -0
  51. package/addon/routes/developers/extensions/edit/bundles.js +21 -0
  52. package/addon/routes/developers/extensions/edit/details.js +3 -0
  53. package/addon/routes/developers/extensions/edit/index.js +3 -0
  54. package/addon/routes/developers/extensions/edit/monetize.js +3 -0
  55. package/addon/routes/developers/extensions/edit.js +18 -0
  56. package/addon/routes/developers/extensions/index.js +10 -0
  57. package/addon/routes/developers/extensions/new.js +3 -0
  58. package/addon/routes/developers/extensions.js +3 -0
  59. package/addon/routes/developers/payments/index.js +26 -0
  60. package/addon/routes/developers/payments/onboard.js +21 -0
  61. package/addon/routes/developers/payments.js +3 -0
  62. package/addon/routes/developers.js +3 -0
  63. package/addon/routes/explore/category.js +27 -0
  64. package/addon/routes/explore/index.js +17 -0
  65. package/addon/routes/explore.js +3 -0
  66. package/addon/routes/installed.js +10 -0
  67. package/addon/routes/purchased.js +10 -0
  68. package/addon/routes.js +28 -0
  69. package/addon/serializers/registry-extension-bundle.js +15 -0
  70. package/addon/serializers/registry-extension.js +21 -0
  71. package/addon/services/stripe.js +83 -0
  72. package/addon/styles/registry-bridge-engine.css +142 -0
  73. package/addon/templates/application.hbs +26 -0
  74. package/addon/templates/developers/analytics.hbs +83 -0
  75. package/addon/templates/developers/credentials.hbs +1 -0
  76. package/addon/templates/developers/extensions/edit/bundles.hbs +71 -0
  77. package/addon/templates/developers/extensions/edit/details.hbs +16 -0
  78. package/addon/templates/developers/extensions/edit/index.hbs +1 -0
  79. package/addon/templates/developers/extensions/edit/monetize.hbs +3 -0
  80. package/addon/templates/developers/extensions/edit.hbs +48 -0
  81. package/addon/templates/developers/extensions/index.hbs +27 -0
  82. package/addon/templates/developers/extensions/new.hbs +39 -0
  83. package/addon/templates/developers/extensions.hbs +1 -0
  84. package/addon/templates/developers/payments/index.hbs +33 -0
  85. package/addon/templates/developers/payments/onboard.hbs +48 -0
  86. package/addon/templates/developers/payments.hbs +1 -0
  87. package/addon/templates/developers.hbs +1 -0
  88. package/addon/templates/explore/category.hbs +12 -0
  89. package/addon/templates/explore/index.hbs +12 -0
  90. package/addon/templates/explore.hbs +1 -0
  91. package/addon/templates/installed.hbs +32 -0
  92. package/addon/templates/purchased.hbs +34 -0
  93. package/app/adapters/registry-bridge.js +1 -0
  94. package/app/adapters/registry-extension-bundle.js +1 -0
  95. package/app/adapters/registry-extension.js +1 -0
  96. package/app/components/extension-card.js +1 -0
  97. package/app/components/extension-form.js +1 -0
  98. package/app/components/extension-modal-title.js +1 -0
  99. package/app/components/extension-monetize-form.js +1 -0
  100. package/app/components/extension-pending-publish-viewer.js +1 -0
  101. package/app/components/extension-reviewer-control.js +1 -0
  102. package/app/components/modals/confirm-extension-purchase.js +1 -0
  103. package/app/components/modals/extension-details.js +1 -0
  104. package/app/components/modals/extension-purchase-form.js +1 -0
  105. package/app/components/modals/extension-uninstall.js +1 -0
  106. package/app/components/modals/select-extension-bundle.js +1 -0
  107. package/app/components/progress-bar.js +1 -0
  108. package/app/controllers/application.js +1 -0
  109. package/app/controllers/developers/analytics.js +1 -0
  110. package/app/controllers/developers/extensions/edit/bundles.js +1 -0
  111. package/app/controllers/developers/extensions/edit/index.js +1 -0
  112. package/app/controllers/developers/extensions/edit/monetize.js +1 -0
  113. package/app/controllers/developers/extensions/edit.js +1 -0
  114. package/app/controllers/developers/extensions/index.js +1 -0
  115. package/app/controllers/developers/extensions/new.js +1 -0
  116. package/app/controllers/developers/payments/index.js +1 -0
  117. package/app/controllers/developers/payments/onboard.js +1 -0
  118. package/app/controllers/explore/category.js +1 -0
  119. package/app/controllers/explore/index.js +1 -0
  120. package/app/controllers/installed.js +1 -0
  121. package/app/controllers/purchased.js +1 -0
  122. package/app/models/registry-extension-bundle.js +1 -0
  123. package/app/models/registry-extension.js +1 -0
  124. package/app/routes/developers/analytics.js +1 -0
  125. package/app/routes/developers/credentials.js +1 -0
  126. package/app/routes/developers/extensions/edit/bundles.js +1 -0
  127. package/app/routes/developers/extensions/edit/details.js +1 -0
  128. package/app/routes/developers/extensions/edit/index.js +1 -0
  129. package/app/routes/developers/extensions/edit/monetize.js +1 -0
  130. package/app/routes/developers/extensions/edit.js +1 -0
  131. package/app/routes/developers/extensions/index.js +1 -0
  132. package/app/routes/developers/extensions/new.js +1 -0
  133. package/app/routes/developers/extensions.js +1 -0
  134. package/app/routes/developers/payments/index.js +1 -0
  135. package/app/routes/developers/payments/onboard.js +1 -0
  136. package/app/routes/developers/payments.js +1 -0
  137. package/app/routes/developers.js +1 -0
  138. package/app/routes/explore/category.js +1 -0
  139. package/app/routes/explore/index.js +1 -0
  140. package/app/routes/explore.js +1 -0
  141. package/app/routes/installed.js +1 -0
  142. package/app/routes/purchased.js +1 -0
  143. package/app/serializers/registry-extension-bundle.js +1 -0
  144. package/app/serializers/registry-extension.js +1 -0
  145. package/app/services/stripe.js +1 -0
  146. package/app/templates/developers/analytics.js +1 -0
  147. package/app/templates/developers/credentials.js +1 -0
  148. package/app/templates/developers/extensions/edit/bundles.js +1 -0
  149. package/app/templates/developers/extensions/edit/details.js +1 -0
  150. package/app/templates/developers/extensions/edit/index.js +1 -0
  151. package/app/templates/developers/extensions/edit/monetize.js +1 -0
  152. package/app/templates/developers/extensions/edit.js +1 -0
  153. package/app/templates/developers/extensions/index.js +1 -0
  154. package/app/templates/developers/extensions/new.js +1 -0
  155. package/app/templates/developers/extensions.js +1 -0
  156. package/app/templates/developers/payments/index.js +1 -0
  157. package/app/templates/developers/payments/onboard.js +1 -0
  158. package/app/templates/developers/payments.js +1 -0
  159. package/app/templates/developers.js +1 -0
  160. package/app/templates/explore/category.js +1 -0
  161. package/app/templates/explore/index.js +1 -0
  162. package/app/templates/explore.js +1 -0
  163. package/app/templates/installed.js +1 -0
  164. package/app/templates/purchased.js +1 -0
  165. package/composer.json +95 -0
  166. package/config/environment.js +28 -0
  167. package/extension.json +10 -0
  168. package/index.js +26 -0
  169. package/package.json +129 -0
  170. package/phpstan.neon.dist +8 -0
  171. package/phpunit.xml.dist +16 -0
  172. package/server/.gitattributes +14 -0
  173. package/server/config/registry-bridge.php +32 -0
  174. package/server/migrations/2024_03_19_060627_create_registry_users_table.php +42 -0
  175. package/server/migrations/2024_03_21_051614_create_registry_extensions_table.php +76 -0
  176. package/server/migrations/2024_03_25_044537_create_registry_extension_bundles_table.php +54 -0
  177. package/server/migrations/2024_03_29_072101_registry_extension_installs.php +35 -0
  178. package/server/migrations/2024_07_16_155000_create_registry_extension_purchases.php +41 -0
  179. package/server/seeders/ExtensionsCategorySeeder.php +359 -0
  180. package/server/src/Console/Commands/Initialize.php +35 -0
  181. package/server/src/Console/Commands/PostInstallExtension.php +84 -0
  182. package/server/src/Exceptions/InstallFailedException.php +21 -0
  183. package/server/src/Expansions/CategoryExpansion.php +30 -0
  184. package/server/src/Http/Controllers/Internal/v1/ExtensionInstallerController.php +153 -0
  185. package/server/src/Http/Controllers/Internal/v1/RegistryAuthController.php +230 -0
  186. package/server/src/Http/Controllers/Internal/v1/RegistryController.php +54 -0
  187. package/server/src/Http/Controllers/Internal/v1/RegistryExtensionBundleController.php +112 -0
  188. package/server/src/Http/Controllers/Internal/v1/RegistryExtensionController.php +257 -0
  189. package/server/src/Http/Controllers/Internal/v1/RegistryPaymentsController.php +227 -0
  190. package/server/src/Http/Controllers/RegistryBridgeController.php +13 -0
  191. package/server/src/Http/Filter/RegistryExtensionFilter.php +80 -0
  192. package/server/src/Http/Requests/AddRegistryUserRequest.php +47 -0
  193. package/server/src/Http/Requests/AuthenticateRegistryUserRequest.php +47 -0
  194. package/server/src/Http/Requests/CreateRegistryExtensionBundleRequest.php +42 -0
  195. package/server/src/Http/Requests/CreateRegistryExtensionRequest.php +31 -0
  196. package/server/src/Http/Requests/InstallExtensionRequest.php +30 -0
  197. package/server/src/Http/Requests/RegistryAuthRequest.php +46 -0
  198. package/server/src/Http/Requests/RegistryExtensionActionRequest.php +30 -0
  199. package/server/src/Http/Resources/RegistryUser.php +40 -0
  200. package/server/src/Models/RegistryExtension.php +656 -0
  201. package/server/src/Models/RegistryExtensionBundle.php +1015 -0
  202. package/server/src/Models/RegistryExtensionInstall.php +76 -0
  203. package/server/src/Models/RegistryExtensionPurchase.php +87 -0
  204. package/server/src/Models/RegistryUser.php +140 -0
  205. package/server/src/Providers/RegistryBridgeServiceProvider.php +117 -0
  206. package/server/src/Support/Bridge.php +53 -0
  207. package/server/src/Support/Utils.php +19 -0
  208. package/server/src/routes.php +58 -0
  209. package/server/tests/Feature.php +5 -0
  210. package/translations/en-us.yaml +119 -0
  211. package/tsconfig.declarations.json +10 -0
@@ -0,0 +1,34 @@
1
+ <Layout::Section::Header @title={{t "registry-bridge.purchased.title"}} />
2
+
3
+ <Layout::Section::Body class="overflow-y-scroll h-full">
4
+ <div class="m-auto p-8">
5
+ <div class="extension-card-grid-container">
6
+ {{#each @model as |extension|}}
7
+ <div class="extension-card-container">
8
+ <div class="extension-card-icon-container">
9
+ <Image src={{extension.icon_url}} alt={{extension.name}} @fallbackSrc={{config "defaultValues.extensionIcon"}} />
10
+ </div>
11
+ <div class="extension-card-body-container">
12
+ <div class="flex flex-col">
13
+ <div class="font-semibold text-sm block">{{extension.name}}</div>
14
+ <div class="text-xs">{{n-a extension.description}}</div>
15
+ </div>
16
+ {{#if extension.is_installed}}
17
+ <Badge @status="success" @hideStatusDot={{true}} class="mt-1"><FaIcon @icon="check" class="mr-1" /> Installed</Badge>
18
+ {{/if}}
19
+ <div class="pt-1 space-y-2">
20
+ <Button
21
+ @type="default"
22
+ @text={{t "registry-bridge.common.about-extension" extensionName=extension.name}}
23
+ @icon="circle-info"
24
+ @onClick={{fn this.about extension}}
25
+ class="w-full"
26
+ />
27
+ </div>
28
+ </div>
29
+ </div>
30
+ {{/each}}
31
+ </div>
32
+ </div>
33
+ <Spacer @height="300px" />
34
+ </Layout::Section::Body>
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/adapters/registry-bridge';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/adapters/registry-extension-bundle';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/adapters/registry-extension';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/extension-card';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/extension-form';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/extension-modal-title';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/extension-monetize-form';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/extension-pending-publish-viewer';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/extension-reviewer-control';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/modals/confirm-extension-purchase';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/modals/extension-details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/modals/extension-purchase-form';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/modals/extension-uninstall';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/modals/select-extension-bundle';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/components/progress-bar';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/application';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/analytics';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/extensions/edit/bundles';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/extensions/edit/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/extensions/edit/monetize';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/extensions/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/extensions/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/extensions/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/payments/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/developers/payments/onboard';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/explore/category';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/explore/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/installed';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/controllers/purchased';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/models/registry-extension-bundle';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/models/registry-extension';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/analytics';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/credentials';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions/edit/bundles';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions/edit/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions/edit/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions/edit/monetize';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/extensions';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/payments/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/payments/onboard';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers/payments';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/developers';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/explore/category';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/explore/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/explore';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/installed';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/routes/purchased';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/serializers/registry-extension-bundle';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/serializers/registry-extension';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/services/stripe';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/analytics';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/credentials';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions/edit/bundles';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions/edit/details';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions/edit/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions/edit/monetize';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions/edit';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions/new';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/extensions';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/payments/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/payments/onboard';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers/payments';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/developers';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/explore/category';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/explore/index';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/explore';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/installed';
@@ -0,0 +1 @@
1
+ export { default } from '@fleetbase/registry-bridge-engine/templates/purchased';
package/composer.json ADDED
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "fleetbase/registry-bridge",
3
+ "version": "0.0.1",
4
+ "description": "Internal Bridge between Fleetbase API and Extensions Registry",
5
+ "keywords": [
6
+ "fleetbase-extension",
7
+ "fleetbase-registry-bridge",
8
+ "fleetbase"
9
+ ],
10
+ "license": "AGPL-3.0-or-later",
11
+ "authors": [
12
+ {
13
+ "name": "Fleetbase Pte Ltd.",
14
+ "email": "hello@fleetbase.io"
15
+ },
16
+ {
17
+ "name": "Ronald A. Richardson",
18
+ "email": "ron@fleetbase.io"
19
+ }
20
+ ],
21
+ "require": {
22
+ "php": "^8.0",
23
+ "fleetbase/core-api": "^1.4.28",
24
+ "laravel/cashier": "^15.2.1",
25
+ "php-http/guzzle7-adapter": "^1.0",
26
+ "psr/http-factory-implementation": "*",
27
+ "stripe/stripe-php": "^13.0"
28
+ },
29
+ "require-dev": {
30
+ "friendsofphp/php-cs-fixer": "^3.34.1",
31
+ "nunomaduro/collision": "^7.0",
32
+ "pestphp/pest": "^2.33.2",
33
+ "phpstan/phpstan": "^1.10.38",
34
+ "symfony/var-dumper": "^5.4.29"
35
+ },
36
+ "repositories": [
37
+ {
38
+ "type": "vcs",
39
+ "url": "https://github.com/fleetbase/laravel-model-caching"
40
+ }
41
+ ],
42
+ "autoload": {
43
+ "psr-4": {
44
+ "Fleetbase\\RegistryBridge\\": "server/src/",
45
+ "Fleetbase\\RegistryBridge\\Seeders\\": "server/seeders/"
46
+ }
47
+ },
48
+ "autoload-dev": {
49
+ "psr-4": {
50
+ "Fleetbase\\RegistryBridge\\Tests\\": "server/tests/"
51
+ }
52
+ },
53
+ "minimum-stability": "dev",
54
+ "prefer-stable": true,
55
+ "extra": {
56
+ "laravel": {
57
+ "providers": [
58
+ "Fleetbase\\RegistryBridge\\Providers\\RegistryBridgeServiceProvider"
59
+ ]
60
+ },
61
+ "fleetbase": {
62
+ "sandbox-migrations": false
63
+ },
64
+ "fleetbase/registry-bridge": {
65
+ "excludes": [
66
+ "addon",
67
+ "app",
68
+ "assets",
69
+ "config",
70
+ "tests",
71
+ "vendor"
72
+ ]
73
+ }
74
+ },
75
+ "config": {
76
+ "vendor-dir": "./server_vendor",
77
+ "sort-packages": true,
78
+ "preferred-install": "dist",
79
+ "allow-plugins": {
80
+ "pestphp/pest-plugin": true,
81
+ "php-http/discovery": true
82
+ }
83
+ },
84
+ "scripts": {
85
+ "lint": "php-cs-fixer fix -v",
86
+ "test:lint": "php-cs-fixer fix -v --dry-run",
87
+ "test:types": "phpstan analyse --ansi --memory-limit=0",
88
+ "test:unit": "pest --colors=always",
89
+ "test": [
90
+ "@test:lint",
91
+ "@test:types",
92
+ "@test:unit"
93
+ ]
94
+ }
95
+ }
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+ const { name, fleetbase } = require('../package');
3
+
4
+ function getenv(variable, defaultValue = null) {
5
+ return process.env[variable] !== undefined ? process.env[variable] : defaultValue;
6
+ }
7
+
8
+ module.exports = function (environment) {
9
+ let ENV = {
10
+ modulePrefix: name,
11
+ environment,
12
+ mountedEngineRoutePrefix: getMountedEngineRoutePrefix(),
13
+ stripe: {
14
+ publishableKey: getenv('STRIPE_KEY'),
15
+ },
16
+ };
17
+
18
+ return ENV;
19
+ };
20
+
21
+ function getMountedEngineRoutePrefix() {
22
+ let mountedEngineRoutePrefix = 'extensions';
23
+ if (fleetbase && typeof fleetbase.route === 'string') {
24
+ mountedEngineRoutePrefix = fleetbase.route;
25
+ }
26
+
27
+ return `console.${mountedEngineRoutePrefix}.`;
28
+ }
package/extension.json ADDED
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "Registry Bridge",
3
+ "version": "0.0.1",
4
+ "description": "Internal Bridge between Fleetbase API and Extensions Registry",
5
+ "repository": "https://github.com/fleetbase/registry-bridge",
6
+ "license": "AGPL-3.0-or-later",
7
+ "author": "Fleetbase Pte Ltd <hello@fleetbase.io>",
8
+ "engine": "package.json",
9
+ "api": "composer.json"
10
+ }
package/index.js ADDED
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+ const { buildEngine } = require('ember-engines/lib/engine-addon');
3
+ const { name } = require('./package');
4
+ const Funnel = require('broccoli-funnel');
5
+
6
+ module.exports = buildEngine({
7
+ name,
8
+
9
+ postprocessTree(type, tree) {
10
+ if (type === 'css') {
11
+ tree = new Funnel(tree, {
12
+ exclude: ['**/@fleetbase/ember-ui/**/*.css'],
13
+ });
14
+ }
15
+
16
+ return tree;
17
+ },
18
+
19
+ lazyLoading: {
20
+ enabled: true,
21
+ },
22
+
23
+ isDevelopingAddon() {
24
+ return true;
25
+ },
26
+ });
package/package.json ADDED
@@ -0,0 +1,129 @@
1
+ {
2
+ "name": "@fleetbase/registry-bridge-engine",
3
+ "version": "0.0.1",
4
+ "description": "Internal Bridge between Fleetbase API and Extensions Registry",
5
+ "fleetbase": {
6
+ "route": "extensions"
7
+ },
8
+ "keywords": [
9
+ "fleetbase-extension",
10
+ "fleetbase-registry-bridge",
11
+ "fleetbase",
12
+ "ember-addon",
13
+ "ember-engine"
14
+ ],
15
+ "repository": "https://github.com/fleetbase/registry-bridge",
16
+ "license": "AGPL-3.0-or-later",
17
+ "author": "Fleetbase Pte Ltd <hello@fleetbase.io>",
18
+ "directories": {
19
+ "app": "app",
20
+ "addon": "addon",
21
+ "tests": "tests"
22
+ },
23
+ "scripts": {
24
+ "build": "ember build --environment=production",
25
+ "lint": "concurrently \"npm:lint:*(!fix)\" --names \"lint:\"",
26
+ "lint:css": "stylelint \"**/*.css\"",
27
+ "lint:css:fix": "concurrently \"npm:lint:css -- --fix\"",
28
+ "lint:fix": "concurrently \"npm:lint:*:fix\" --names \"fix:\"",
29
+ "lint:hbs": "ember-template-lint .",
30
+ "lint:hbs:fix": "ember-template-lint . --fix",
31
+ "lint:js": "eslint . --cache",
32
+ "lint:js:fix": "eslint . --fix",
33
+ "start": "ember serve",
34
+ "test": "concurrently \"npm:lint\" \"npm:test:*\" --names \"lint,test:\"",
35
+ "test:ember": "ember test",
36
+ "test:ember-compatibility": "ember try:each",
37
+ "publish:npm": "npm config set registry https://registry.npmjs.org/ && npm publish --access restricted",
38
+ "publish:github": "npm config set '@fleetbase:registry' https://npm.pkg.github.com/ && npm publish --access restricted"
39
+ },
40
+ "dependencies": {
41
+ "@babel/core": "^7.23.2",
42
+ "@fleetbase/ember-core": "^0.2.13",
43
+ "@fleetbase/ember-ui": "^0.2.18",
44
+ "@fortawesome/ember-fontawesome": "^0.4.1",
45
+ "@fortawesome/fontawesome-svg-core": "^6.5.2",
46
+ "@fortawesome/free-solid-svg-icons": "^6.5.2",
47
+ "@stripe/connect-js": "^3.3.10",
48
+ "ember-auto-import": "^2.6.3",
49
+ "ember-cli-babel": "^8.2.0",
50
+ "ember-cli-htmlbars": "^6.3.0",
51
+ "ember-intl": "6.3.2",
52
+ "ember-radio-button": "^3.0.0-beta.1",
53
+ "ember-tag-input": "^3.1.0",
54
+ "ember-wormhole": "^0.6.0"
55
+ },
56
+ "devDependencies": {
57
+ "@babel/eslint-parser": "^7.22.15",
58
+ "@babel/plugin-proposal-decorators": "^7.23.2",
59
+ "@ember/optional-features": "^2.0.0",
60
+ "@ember/test-helpers": "^3.2.0",
61
+ "@embroider/test-setup": "^3.0.2",
62
+ "@glimmer/component": "^1.1.2",
63
+ "@glimmer/tracking": "^1.1.2",
64
+ "broccoli-asset-rev": "^3.0.0",
65
+ "broccoli-funnel": "^3.0.8",
66
+ "concurrently": "^8.2.2",
67
+ "ember-cli": "~5.4.1",
68
+ "ember-cli-clean-css": "^3.0.0",
69
+ "ember-cli-dependency-checker": "^3.3.2",
70
+ "ember-cli-inject-live-reload": "^2.1.0",
71
+ "ember-cli-sri": "^2.1.1",
72
+ "ember-cli-terser": "^4.0.2",
73
+ "ember-composable-helpers": "^5.0.0",
74
+ "ember-concurrency": "^2.3.7",
75
+ "ember-concurrency-decorators": "^2.0.3",
76
+ "ember-data": "~5.3.0",
77
+ "ember-engines": "^0.9.0",
78
+ "ember-load-initializers": "^2.1.2",
79
+ "ember-math-helpers": "^4.0.0",
80
+ "ember-page-title": "^8.0.0",
81
+ "ember-qunit": "^8.0.1",
82
+ "ember-resolver": "^11.0.1",
83
+ "ember-source": "~5.4.0",
84
+ "ember-source-channel-url": "^3.0.0",
85
+ "ember-template-lint": "^5.11.2",
86
+ "ember-try": "^3.0.0",
87
+ "eslint": "^8.52.0",
88
+ "eslint-config-prettier": "^9.0.0",
89
+ "eslint-plugin-ember": "^11.11.1",
90
+ "eslint-plugin-n": "^16.2.0",
91
+ "eslint-plugin-prettier": "^5.0.1",
92
+ "eslint-plugin-qunit": "^8.0.1",
93
+ "loader.js": "^4.7.0",
94
+ "prettier": "^3.0.3",
95
+ "qunit": "^2.20.0",
96
+ "qunit-dom": "^2.0.0",
97
+ "stylelint": "^15.11.0",
98
+ "stylelint-config-standard": "^34.0.0",
99
+ "stylelint-prettier": "^4.0.2",
100
+ "webpack": "^5.89.0"
101
+ },
102
+ "peerDependencies": {
103
+ "ember-engines": "^0.9.0"
104
+ },
105
+ "engines": {
106
+ "node": ">= 18"
107
+ },
108
+ "ember": {
109
+ "edition": "octane"
110
+ },
111
+ "ember-addon": {
112
+ "configPath": "tests/dummy/config"
113
+ },
114
+ "prettier": {
115
+ "trailingComma": "es5",
116
+ "tabWidth": 4,
117
+ "semi": true,
118
+ "singleQuote": true,
119
+ "printWidth": 190,
120
+ "overrides": [
121
+ {
122
+ "files": "*.hbs",
123
+ "options": {
124
+ "singleQuote": false
125
+ }
126
+ }
127
+ ]
128
+ }
129
+ }
@@ -0,0 +1,8 @@
1
+ parameters:
2
+ level: max
3
+ paths:
4
+ - server/src
5
+
6
+ checkMissingIterableValueType: true
7
+ checkGenericClassInNonGenericObjectType: false
8
+ reportUnmatchedIgnoredErrors: true
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
+ xsi:noNamespaceSchemaLocation="./server_vendor/phpunit/phpunit/phpunit.xsd"
4
+ colors="true"
5
+ >
6
+ <testsuites>
7
+ <testsuite name="default">
8
+ <directory suffix=".php">./server/tests</directory>
9
+ </testsuite>
10
+ </testsuites>
11
+ <filter>
12
+ <whitelist processUncoveredFilesFromWhitelist="true">
13
+ <directory suffix=".php">./server/src</directory>
14
+ </whitelist>
15
+ </filter>
16
+ </phpunit>
@@ -0,0 +1,14 @@
1
+ /art export-ignore
2
+ /docs export-ignore
3
+ /tests export-ignore
4
+ /scripts export-ignore
5
+ /.github export-ignore
6
+ /.php_cs export-ignore
7
+ .editorconfig export-ignore
8
+ .gitattributes export-ignore
9
+ .gitignore export-ignore
10
+ phpstan.neon.dist export-ignore
11
+ phpunit.xml.dist export-ignore
12
+ CHANGELOG.md export-ignore
13
+ CONTRIBUTING.md export-ignore
14
+ README.md export-ignore