Updated all wifi endpoints to use protobufs
This commit is contained in:
@@ -3,14 +3,14 @@
|
||||
import { fly } from 'svelte/transition'
|
||||
import { onMount, onDestroy } from 'svelte'
|
||||
import RssiIndicator from '$lib/components/statusbar/RSSIIndicator.svelte'
|
||||
import type { NetworkItem, NetworkList } from '$lib/types/models'
|
||||
import { type WifiNetworkScan, type Response as ProtoResponse } from '$lib/platform_shared/api'
|
||||
import { api } from '$lib/api'
|
||||
import { AP, Network, Reload, Cancel } from '$lib/components/icons'
|
||||
import { modals, exitBeforeEnter, type ModalProps } from 'svelte-modals'
|
||||
|
||||
let { isOpen, storeNetwork }: ModalProps = $props()
|
||||
|
||||
const encryptionType = [
|
||||
const encryptionTypes = [
|
||||
'Open',
|
||||
'WEP',
|
||||
'WPA PSK',
|
||||
@@ -22,7 +22,7 @@
|
||||
'WAPI PSK'
|
||||
]
|
||||
|
||||
let listOfNetworks: NetworkItem[] = $state([])
|
||||
let listOfNetworks = $state<WifiNetworkScan[]>([])
|
||||
|
||||
let scanActive = $state(false)
|
||||
|
||||
@@ -38,13 +38,14 @@
|
||||
}
|
||||
|
||||
async function pollingResults() {
|
||||
const result = await api.get<NetworkList>('/api/wifi/networks')
|
||||
const result = await api.get<ProtoResponse>('/api/wifi/networks')
|
||||
if (result.isErr()) {
|
||||
console.error(`Error occurred while fetching: `, result.inner)
|
||||
return false
|
||||
}
|
||||
let response = result.inner
|
||||
listOfNetworks = response.networks
|
||||
if (result.inner.wifiNetworkList) {
|
||||
listOfNetworks = result.inner.wifiNetworkList.networks
|
||||
}
|
||||
scanActive = false
|
||||
if (listOfNetworks.length) {
|
||||
clearInterval(pollingId)
|
||||
@@ -106,7 +107,7 @@
|
||||
<div>
|
||||
<div class="font-bold">{network.ssid}</div>
|
||||
<div class="text-sm opacity-75">
|
||||
Security: {encryptionType[network.encryption_type]},
|
||||
Security: {encryptionTypes[network.encryptionType]},
|
||||
Channel: {network.channel}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -10,8 +10,13 @@
|
||||
import ScanNetworks from './Scan.svelte'
|
||||
import Spinner from '$lib/components/Spinner.svelte'
|
||||
import InfoDialog from '$lib/components/InfoDialog.svelte'
|
||||
import { type WifiStatus } from '$lib/types/models'
|
||||
import { WifiSettings, WifiNetwork, Response, Request } from '$lib/platform_shared/api'
|
||||
import {
|
||||
type WifiStatus,
|
||||
type WifiSettings,
|
||||
type WifiNetwork,
|
||||
type Response as ProtoResponse,
|
||||
Request
|
||||
} from '$lib/platform_shared/api'
|
||||
import { api } from '$lib/api'
|
||||
import { ipToUint32, uint32ToIp, isValidIpString } from '$lib/utilities'
|
||||
import {
|
||||
@@ -80,17 +85,19 @@
|
||||
let formErrorhostname = $state(false)
|
||||
|
||||
async function getWifiStatus() {
|
||||
const result = await api.get<WifiStatus>('/api/wifi/sta/status')
|
||||
const result = await api.get<ProtoResponse>('/api/wifi/sta/status')
|
||||
if (result.isErr()) {
|
||||
console.error(`Error occurred while fetching: `, result.inner)
|
||||
return
|
||||
}
|
||||
wifiStatus = result.inner
|
||||
if (result.inner.wifiStatus) {
|
||||
wifiStatus = result.inner.wifiStatus
|
||||
}
|
||||
return wifiStatus
|
||||
}
|
||||
|
||||
async function getWifiSettings() {
|
||||
const result = await api.get<Response>('/api/wifi/sta/settings')
|
||||
const result = await api.get<ProtoResponse>('/api/wifi/sta/settings')
|
||||
if (result.isErr()) {
|
||||
console.error(`Error occurred while fetching: `, result.inner)
|
||||
return
|
||||
@@ -101,7 +108,7 @@
|
||||
}
|
||||
|
||||
async function postWiFiSettings(data: WifiSettings) {
|
||||
const result = await api.post_proto<Response>('/api/wifi/sta/settings', Request.create({ wifiSettings: data }))
|
||||
const result = await api.post_proto<ProtoResponse>('/api/wifi/sta/settings', Request.create({ wifiSettings: data }))
|
||||
if (result.isErr()) {
|
||||
console.error(`Error occurred while fetching: `, result.inner)
|
||||
notifications.error('User not authorized.', 3000)
|
||||
@@ -330,7 +337,7 @@
|
||||
<StatusItem
|
||||
icon={Home}
|
||||
title="IP Address"
|
||||
description={uint32ToIp(wifiStatus.local_ip)}
|
||||
description={uint32ToIp(wifiStatus.localIp)}
|
||||
/>
|
||||
|
||||
<StatusItem icon={WiFi} title="RSSI" description={`${wifiStatus.rssi} dBm`}>
|
||||
@@ -361,7 +368,7 @@
|
||||
<StatusItem
|
||||
icon={MAC}
|
||||
title="MAC Address"
|
||||
description={wifiStatus.mac_address}
|
||||
description={wifiStatus.macAddress}
|
||||
/>
|
||||
|
||||
<StatusItem
|
||||
@@ -373,19 +380,19 @@
|
||||
<StatusItem
|
||||
icon={Gateway}
|
||||
title="Gateway IP"
|
||||
description={uint32ToIp(wifiStatus.gateway_ip)}
|
||||
description={uint32ToIp(wifiStatus.gatewayIp)}
|
||||
/>
|
||||
|
||||
<StatusItem
|
||||
icon={Subnet}
|
||||
title="Subnet Mask"
|
||||
description={uint32ToIp(wifiStatus.subnet_mask)}
|
||||
description={uint32ToIp(wifiStatus.subnetMask)}
|
||||
/>
|
||||
|
||||
<StatusItem
|
||||
icon={DNS}
|
||||
title="DNS"
|
||||
description={uint32ToIp(wifiStatus.dns_ip_1)}
|
||||
description={uint32ToIp(wifiStatus.dnsIp1)}
|
||||
/>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user