diff --git a/addon/components/extension-card.js b/addon/components/extension-card.js index cabe10b..2767999 100644 --- a/addon/components/extension-card.js +++ b/addon/components/extension-card.js @@ -165,7 +165,7 @@ export default class ExtensionCardComponent extends Component { async selfManagedInstallInstructions(options = {}) { await this.modalsManager.done(); this.modalsManager.show('modals/self-managed-install-instructions', { - title: 'Install a Self Managed Extension', + title: 'Install Extension to Self-Hosted Instance', hideDeclineButton: true, acceptButtonText: 'Done', ...options, diff --git a/addon/components/extension-form.js b/addon/components/extension-form.js index 32f949f..3b71009 100644 --- a/addon/components/extension-form.js +++ b/addon/components/extension-form.js @@ -171,7 +171,7 @@ export default class ExtensionFormComponent extends Component { async selfManagedInstallInstructions(options = {}) { await this.modalsManager.done(); this.modalsManager.show('modals/self-managed-install-instructions', { - title: 'Install a Self Managed Extension', + title: 'Install Extension to Self-Hosted Instance', hideDeclineButton: true, acceptButtonText: 'Done', ...options, diff --git a/addon/components/modals/extension-details.hbs b/addon/components/modals/extension-details.hbs index 511cd40..28630ab 100644 --- a/addon/components/modals/extension-details.hbs +++ b/addon/components/modals/extension-details.hbs @@ -69,21 +69,21 @@ {{/if}} -
- {{#if this.extension.self_managed}} + {{#if @options.viewSelfManagesInstallInstructions}} +
- {{t - "registry-bridge.component.extension-details-modal.self-managed" - }} - {{#if @options.viewSelfManagesInstallInstructions}} - How to install - {{/if}} +
- {{/if}} -
+
+ {{/if}} diff --git a/composer.json b/composer.json index 4e2b879..dfa884f 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "fleetbase/registry-bridge", - "version": "0.0.17", + "version": "0.0.18", "description": "Internal Bridge between Fleetbase API and Extensions Registry", "keywords": [ "fleetbase-extension", @@ -33,12 +33,6 @@ "phpstan/phpstan": "^1.10.38", "symfony/var-dumper": "^5.4.29" }, - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/fleetbase/laravel-model-caching" - } - ], "autoload": { "psr-4": { "Fleetbase\\RegistryBridge\\": "server/src/", diff --git a/extension.json b/extension.json index bb7f1d8..4f8e6a3 100644 --- a/extension.json +++ b/extension.json @@ -1,6 +1,6 @@ { "name": "Registry Bridge", - "version": "0.0.17", + "version": "0.0.18", "description": "Internal Bridge between Fleetbase API and Extensions Registry", "repository": "https://github.com/fleetbase/registry-bridge", "license": "AGPL-3.0-or-later", diff --git a/package.json b/package.json index 06d60eb..5687fa9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fleetbase/registry-bridge-engine", - "version": "0.0.17", + "version": "0.0.18", "description": "Internal Bridge between Fleetbase API and Extensions Registry", "fleetbase": { "route": "extensions" @@ -39,8 +39,8 @@ }, "dependencies": { "@babel/core": "^7.23.2", - "@fleetbase/ember-core": "^0.2.21", - "@fleetbase/ember-ui": "^0.2.34", + "@fleetbase/ember-core": "latest", + "@fleetbase/ember-ui": "latest", "@fortawesome/ember-fontawesome": "^2.0.0", "@fortawesome/fontawesome-svg-core": "6.4.0", "@fortawesome/free-solid-svg-icons": "6.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 58e0e7d..fa01a52 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,11 +12,11 @@ importers: specifier: ^7.23.2 version: 7.25.2 '@fleetbase/ember-core': - specifier: ^0.2.21 + specifier: latest version: 0.2.21(@ember/string@3.1.1)(@ember/test-helpers@3.3.1(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0))(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)))(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0) '@fleetbase/ember-ui': - specifier: ^0.2.34 - version: 0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0))(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)))(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(postcss@8.4.41)(rollup@2.79.1)(tracked-built-ins@3.3.0)(webpack@5.94.0) + specifier: latest + version: 0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0))(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)))(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(postcss@8.4.41)(rollup@2.79.1)(tracked-built-ins@3.3.0)(webpack@5.94.0) '@fortawesome/ember-fontawesome': specifier: ^2.0.0 version: 2.0.0(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(rollup@2.79.1)(webpack@5.94.0) @@ -1351,8 +1351,8 @@ packages: resolution: {integrity: sha512-Jwe4ME+cJp24Oaf6wfd1QJK6g3D6/Ff+qUMinJ40yoMImpo3zKA+IAxfQSBPIf+9BrmNG31wquTz4WR7Um47LQ==} engines: {node: '>= 18'} - '@fleetbase/ember-ui@0.2.34': - resolution: {integrity: sha512-9uLCufgIaMFgGR+G4m73shaiRz+F16CDs7jj4jFzQGSUQByaBcbSetiMoGXSnx+3IncaKAn8rjAVPd+QrDDRMg==} + '@fleetbase/ember-ui@0.2.35': + resolution: {integrity: sha512-diJRlY92LTSFhf2bMlO2j8uyVabeTTC5YHuRqYYpTHk6GjLcVHUVeL4MrLnskKzkkbRsAgmoavkW9HcXNBN8Ow==} engines: {node: '>= 18'} '@floating-ui/core@1.6.7': @@ -9704,7 +9704,7 @@ snapshots: - utf-8-validate - webpack - '@fleetbase/ember-ui@0.2.34(@ember/test-helpers@3.3.1(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0))(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)))(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(postcss@8.4.41)(rollup@2.79.1)(tracked-built-ins@3.3.0)(webpack@5.94.0)': + '@fleetbase/ember-ui@0.2.35(@ember/test-helpers@3.3.1(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(webpack@5.94.0))(@glimmer/component@1.1.2(@babel/core@7.25.2))(@glimmer/tracking@1.1.2)(ember-resolver@11.0.1(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)))(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0))(postcss@8.4.41)(rollup@2.79.1)(tracked-built-ins@3.3.0)(webpack@5.94.0)': dependencies: '@babel/core': 7.25.2 '@ember/render-modifiers': 2.1.0(@babel/core@7.25.2)(ember-source@5.4.1(@babel/core@7.25.2)(@glimmer/component@1.1.2(@babel/core@7.25.2))(rsvp@4.8.5)(webpack@5.94.0)) diff --git a/server/src/Http/Controllers/Internal/v1/ExtensionInstallerController.php b/server/src/Http/Controllers/Internal/v1/ExtensionInstallerController.php index 5ba0a4a..fd5f23e 100644 --- a/server/src/Http/Controllers/Internal/v1/ExtensionInstallerController.php +++ b/server/src/Http/Controllers/Internal/v1/ExtensionInstallerController.php @@ -36,7 +36,7 @@ public function install(InstallExtensionRequest $request) $extension = RegistryExtension::where('public_id', $request->input('extension'))->first(); // Check if already installed - $installed = RegistryExtensionInstall::disableCache()->where(['company_uuid' => session('company'), 'extension_uuid' => $extension->uuid])->exists(); + $installed = RegistryExtensionInstall::where(['company_uuid' => session('company'), 'extension_uuid' => $extension->uuid])->exists(); if ($installed) { return response()->error('This extension is already installed.'); } @@ -105,7 +105,7 @@ public function uninstall(InstallExtensionRequest $request) $uninstalled = false; // Check if already uninstalled - $uninstalled = RegistryExtensionInstall::disableCache()->where(['company_uuid' => session('company'), 'extension_uuid' => $extension->uuid])->doesntExist(); + $uninstalled = RegistryExtensionInstall::where(['company_uuid' => session('company'), 'extension_uuid' => $extension->uuid])->doesntExist(); if ($uninstalled) { return response()->error('This extension is not installed.'); } diff --git a/server/src/Http/Controllers/Internal/v1/RegistryController.php b/server/src/Http/Controllers/Internal/v1/RegistryController.php index ceb14ff..6479787 100644 --- a/server/src/Http/Controllers/Internal/v1/RegistryController.php +++ b/server/src/Http/Controllers/Internal/v1/RegistryController.php @@ -49,7 +49,7 @@ public function categories() public function getInstalledEngines(Request $request) { if ($request->session()->has('company')) { - $installedExtensions = RegistryExtension::disableCache()->whereHas('installs', function ($query) { + $installedExtensions = RegistryExtension::whereHas('installs', function ($query) { $query->where('company_uuid', session('company')); })->get()->map(function ($extension) { return $extension->currentBundle->meta['package.json'] ?? []; @@ -77,8 +77,7 @@ public function getEngineInstallStatus(Request $request) $engine = $request->input('engine'); if ($request->session()->has('company') && $engine) { - $installed = RegistryExtension::disableCache() - ->whereHas( + $installed = RegistryExtension::whereHas( 'currentBundle', function ($query) use ($engine) { $query->where('meta->package.json->name', $engine); diff --git a/server/src/Http/Controllers/Internal/v1/RegistryExtensionController.php b/server/src/Http/Controllers/Internal/v1/RegistryExtensionController.php index b6df3eb..7344785 100644 --- a/server/src/Http/Controllers/Internal/v1/RegistryExtensionController.php +++ b/server/src/Http/Controllers/Internal/v1/RegistryExtensionController.php @@ -68,7 +68,7 @@ public function createRecord(Request $request) */ public function installed() { - $installedExtensions = RegistryExtension::disableCache()->whereHas('installs', function ($query) { + $installedExtensions = RegistryExtension::whereHas('installs', function ($query) { $query->where('company_uuid', session('company')); })->get(); @@ -92,7 +92,7 @@ public function installed() */ public function purchased() { - $purchasedExtensions = RegistryExtension::disableCache()->whereHas('purchases', function ($query) { + $purchasedExtensions = RegistryExtension::whereHas('purchases', function ($query) { $query->where('company_uuid', session('company')); })->get(); diff --git a/translations/en-us.yaml b/translations/en-us.yaml index 5a1796c..a93e927 100644 --- a/translations/en-us.yaml +++ b/translations/en-us.yaml @@ -21,6 +21,8 @@ registry-bridge: website: Website self-managed: Self Managed self-managed-help-text: A self-managed extension is designed for users who host Fleetbase on their own servers, outside of the cloud/SaaS environment. These extensions require manual installation and configuration. If you are using Fleetbase as a self-hosted instance, you can use these extensions to add additional features. However, they are not available for cloud/SaaS users. + self-hosted-install: Self Hosted Install + self-hosted-install-help-text: View self-hosted install instructions. extension-pending-publish-viewer: content-panel-title: Extensions Pending Publish focused-extension-title: >