diff --git a/frontends/dashboard/package.json b/frontends/dashboard/package.json index 3097d284..d3b31cf7 100644 --- a/frontends/dashboard/package.json +++ b/frontends/dashboard/package.json @@ -6,7 +6,7 @@ "scripts": { "check:types": "svelte-check", "preview": "npx http-server@latest ./build -P \"http://localhost:8080?\"", - "dev": "vite dev --force", + "dev": "vite dev --force --host=0.0.0.0", "build": "NODE_ENV=production vite build", "lint": "prettier --check .", "format": "prettier --write ." diff --git a/frontends/dashboard/src/pocketbase-client/PocketbaseClient.ts b/frontends/dashboard/src/pocketbase-client/PocketbaseClient.ts index 47912eba..976d0222 100644 --- a/frontends/dashboard/src/pocketbase-client/PocketbaseClient.ts +++ b/frontends/dashboard/src/pocketbase-client/PocketbaseClient.ts @@ -1,27 +1,19 @@ import { CreateInstancePayloadSchema, LoggerService, - RenameInstancePayloadSchema, - RpcCommands, - SaveSecretsPayloadSchema, - SaveVersionPayloadSchema, - SetInstanceMaintenancePayloadSchema, + RestCommands, + RestMethods, + UpdateInstancePayload, + UpdateInstancePayloadSchema, + UpdateInstanceResult, assertExists, - createRpcHelper, + createRestHelper, createWatchHelper, type CreateInstancePayload, type CreateInstanceResult, type InstanceFields, type InstanceId, type InstanceLogFields, - type RenameInstancePayload, - type RenameInstanceResult, - type SaveSecretsPayload, - type SaveSecretsResult, - type SaveVersionPayload, - type SaveVersionResult, - type SetInstanceMaintenancePayload, - type SetInstanceMaintenanceResult, } from '$shared' import { INSTANCE_URL } from '$src/env' import { createGenericSyncEvent } from '$util/events' @@ -108,35 +100,21 @@ export const createPocketbaseClient = (config: PocketbaseClientConfig) => { const watchHelper = createWatchHelper({ client }) const { watchById, watchAllById } = watchHelper - const rpcMixin = createRpcHelper({ client, watchHelper }) - const { mkRpc } = rpcMixin + const restMixin = createRestHelper({ client, watchHelper }) + const { mkRest } = restMixin - const createInstance = mkRpc( - RpcCommands.CreateInstance, + const createInstance = mkRest( + RestCommands.Instance, + RestMethods.Create, CreateInstancePayloadSchema, ) - const saveSecrets = mkRpc( - RpcCommands.SaveSecrets, - SaveSecretsPayloadSchema, + + const updateInstance = mkRest( + RestCommands.Instance, + RestMethods.Update, + UpdateInstancePayloadSchema, ) - const saveVersion = mkRpc( - RpcCommands.SaveVersion, - SaveVersionPayloadSchema, - ) - - const renameInstance = mkRpc( - RpcCommands.RenameInstance, - RenameInstancePayloadSchema, - ) - - const setInstanceMaintenance = mkRpc< - SetInstanceMaintenancePayload, - SetInstanceMaintenanceResult - >(RpcCommands.SetInstanceMaintenance, SetInstanceMaintenancePayloadSchema) - - // gen:mkRpc - const getInstanceById = ( id: InstanceId, ): Promise => @@ -295,7 +273,6 @@ export const createPocketbaseClient = (config: PocketbaseClientConfig) => { return { client, - saveSecrets, watchInstanceLog, getAuthStoreProps, parseError, @@ -313,9 +290,6 @@ export const createPocketbaseClient = (config: PocketbaseClientConfig) => { watchInstanceById, getAllInstancesById, resendVerificationEmail, - renameInstance, - setInstanceMaintenance, - // gen:export - saveVersion, + updateInstance, } } diff --git a/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/Maintenance.svelte b/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/Maintenance.svelte index 4417ff06..2a1104b3 100644 --- a/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/Maintenance.svelte +++ b/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/Maintenance.svelte @@ -5,7 +5,7 @@ import { client } from '$src/pocketbase-client' import { instance } from '../store' - const { setInstanceMaintenance } = client() + const { updateInstance } = client() $: ({ id, maintenance } = $instance) @@ -14,7 +14,7 @@ const isChecked = target.checked // Update the database with the new value - setInstanceMaintenance({ instanceId: id, maintenance: isChecked }).then( + updateInstance({ instanceId: id, fields: { maintenance: isChecked } }).then( () => 'saved', ) } diff --git a/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/RenameInstance.svelte b/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/RenameInstance.svelte index 8723ecea..b096a57f 100644 --- a/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/RenameInstance.svelte +++ b/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/RenameInstance.svelte @@ -6,7 +6,7 @@ import { slide } from 'svelte/transition' import { instance } from '../store' - const { renameInstance } = client() + const { updateInstance } = client() $: ({ subdomain, id } = $instance) @@ -39,9 +39,11 @@ // If they select yes, then update the version in pocketbase if (confirmVersionChange) { - renameInstance({ + updateInstance({ instanceId: id, - subdomain: instanceNameValidation, + fields: { + subdomain: instanceNameValidation, + }, }) .then(() => 'saved') .catch((error) => { diff --git a/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/VersionChange.svelte b/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/VersionChange.svelte index 6ebec547..bca3c90c 100644 --- a/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/VersionChange.svelte +++ b/frontends/dashboard/src/routes/app/instances/[instanceId]/Danger/VersionChange.svelte @@ -5,13 +5,14 @@ import { client } from '$src/pocketbase-client' import { slide } from 'svelte/transition' import { instance } from '../store' + import VersionPicker from './VersionPicker.svelte' $: ({ id, maintenance, version } = $instance) // Create a copy of the version - let instanceVersion = version + let selectedVersion = version $: { - instanceVersion = version + selectedVersion = version } // Controls the disabled state of the button @@ -29,14 +30,18 @@ // Prompt the user to confirm the version change const confirmVersionChange = confirm( - `Are you sure you want to change the version to ${instanceVersion}?`, + `Are you sure you want to change the version to ${selectedVersion}?`, ) // If they select yes, then update the version in pocketbase if (confirmVersionChange) { // Save to the database + errorMessage = '' client() - .saveVersion({ instanceId: id, version: instanceVersion }) + .updateInstance({ + instanceId: id, + fields: { version: selectedVersion }, + }) .then(() => { return 'saved' }) @@ -45,7 +50,7 @@ }) } else { // If they hit cancel, reset the version number back to what it was initially - instanceVersion = version + selectedVersion = version } // Set the button back to normal @@ -79,12 +84,8 @@ class="flex change-version-form-container-query gap-4" on:submit={handleSave} > - + +