Unused and untested peripheral endpoint updated to protobufs

This commit is contained in:
Niklas Jensen
2026-01-30 15:08:26 +01:00
committed by nikguin04
parent 72e2522dcd
commit 56d81f75cb
7 changed files with 98 additions and 54 deletions
@@ -1,25 +1,31 @@
<script lang="ts">
import { Cancel, Edit, EditOff, Power } from '$lib/components/icons'
import { socket } from '$lib/stores'
import { api } from '$lib/api'
import { onMount } from 'svelte'
import { modals } from 'svelte-modals'
import ConfirmDialog from '$lib/components/ConfirmDialog.svelte'
import {
PeripheralSettingsData,
PeripheralSettingsDataRequest
} from '$lib/platform_shared/message'
type PeripheralSettings,
Request,
type Response as ProtoResponse
} from '$lib/platform_shared/api'
let settings: PeripheralSettingsData | null = $state(null)
let settings = $state<PeripheralSettings | null>(null)
let isEditing = $state(false)
onMount(() => {
let unsub = socket.on(PeripheralSettingsData, handleSettings)
socket.emit(PeripheralSettingsDataRequest, {})
return unsub
getPeripheralSettings()
})
const handleSettings = (data: PeripheralSettingsData) => {
settings = data
const getPeripheralSettings = async () => {
const result = await api.get<ProtoResponse>('/api/peripherals/settings')
if (result.isErr()) {
console.error('Error:', result.inner)
return
}
if (result.inner.peripheralSettings) {
settings = result.inner.peripheralSettings
}
}
const handleSave = () => {
@@ -31,9 +37,21 @@
cancel: { label: 'Cancel', icon: Cancel },
confirm: { label: 'Confirm', icon: Power }
},
onConfirm: () => {
onConfirm: async () => {
modals.close()
socket.emit(PeripheralSettingsData, settings)
if (!settings) return
const request = Request.create({
peripheralSettings: settings
})
const result = await api.post_proto<ProtoResponse>('/api/peripherals/settings', request)
if (result.isErr()) {
console.error('Error:', result.inner)
return
}
if (result.inner.peripheralSettings) {
settings = result.inner.peripheralSettings
}
isEditing = false
}
})
}