Browse Source

better return types

not tested
pull/1250/head
Bernd Storath 9 months ago
parent
commit
4754f679c8
No known key found for this signature in database GPG Key ID: D6C85685A555540F
  1. 25
      src/app.vue
  2. 2
      src/server/api/lang.get.ts
  3. 7
      src/server/api/release.get.ts
  4. 6
      src/server/api/ui-chart-type.get.ts
  5. 2
      src/server/api/ui-traffic-stats.get.ts
  6. 2
      src/server/utils/config.ts
  7. 4
      src/utils/api.ts

25
src/app.vue

@ -1201,22 +1201,6 @@ const authenticating = ref(false);
const password = ref<null | string>(null); const password = ref<null | string>(null);
const requiresPassword = ref<null | boolean>(null); const requiresPassword = ref<null | boolean>(null);
type Client = {
id: string;
name: string;
address: string;
enabled: boolean;
transferRx: number;
transferTx: number;
transferTxSeries: number;
transferRxSeries: number;
avatar?: string;
latestHandshakeAt: string | null;
createdAt: Date;
downloadableConfig: boolean;
updatedAt: Date;
} & Omit<ClientPersist, 'transferRxSeries' | 'transferTxSeries'>;
type ClientPersist = { type ClientPersist = {
transferRxHistory: number[]; transferRxHistory: number[];
transferRxPrevious: number; transferRxPrevious: number;
@ -1230,7 +1214,7 @@ type ClientPersist = {
hoverTx: unknown; hoverTx: unknown;
}; };
const clients = ref<null | Client[]>(null); const clients = ref<null | WGClient[]>(null);
const clientsPersist = ref<Record<string, ClientPersist>>({}); const clientsPersist = ref<Record<string, ClientPersist>>({});
const clientDelete = ref<null | Client>(null); const clientDelete = ref<null | Client>(null);
const clientCreate = ref<null | boolean>(null); const clientCreate = ref<null | boolean>(null);
@ -1241,7 +1225,7 @@ const clientEditAddress = ref<null | string>(null);
const clientEditAddressId = ref<null | string>(null); const clientEditAddressId = ref<null | string>(null);
const qrcode = ref<null | string>(null); const qrcode = ref<null | string>(null);
const currentRelease = ref(null); const currentRelease = ref<null | number>(null);
const latestRelease = ref<null | { version: number; changelog: string }>(null); const latestRelease = ref<null | { version: number; changelog: string }>(null);
const uiTrafficStats = ref(false); const uiTrafficStats = ref(false);
@ -1522,6 +1506,7 @@ function updateClientAddress(client: Client, address: string | null) {
} }
function restoreConfig(e) { function restoreConfig(e) {
e.preventDefault(); e.preventDefault();
console.log(e.currentTarget);
const file = e.currentTarget.files.item(0); const file = e.currentTarget.files.item(0);
if (file) { if (file) {
file file
@ -1601,7 +1586,7 @@ onMounted(() => {
api api
.getChartType() .getChartType()
.then((res) => { .then((res) => {
uiChartType.value = parseInt(res, 10); uiChartType.value = res;
}) })
.catch(() => { .catch(() => {
uiChartType.value = 0; uiChartType.value = 0;
@ -1666,7 +1651,7 @@ const updateCharts = computed(() => {
return uiChartType.value > 0 && uiShowCharts.value; return uiChartType.value > 0 && uiShowCharts.value;
}); });
function bytes(bytes: number, decimals? = 2, kib? = false, maxunit?: string) { function bytes(bytes: number, decimals = 2, kib = false, maxunit?: string) {
if (bytes === 0) return '0 B'; if (bytes === 0) return '0 B';
if (Number.isNaN(bytes) && !Number.isFinite(bytes)) return 'NaN'; if (Number.isNaN(bytes) && !Number.isFinite(bytes)) return 'NaN';
const k = kib ? 1024 : 1000; const k = kib ? 1024 : 1000;

2
src/server/api/lang.get.ts

@ -1,4 +1,4 @@
export default defineEventHandler((event) => { export default defineEventHandler((event) => {
setHeader(event, 'Content-Type', 'application/json'); setHeader(event, 'Content-Type', 'application/json');
return `"${LANG}"`; return LANG;
}); });

7
src/server/api/release.get.ts

@ -1,4 +1,9 @@
export default defineEventHandler((event) => { export default defineEventHandler((event) => {
setHeader(event, 'Content-Type', 'application/json'); setHeader(event, 'Content-Type', 'application/json');
return RELEASE; const release = Number.parseInt(RELEASE, 10);
if (isNaN(release)) {
return 0;
}
// TODO: move changelog logic here
return release;
}); });

6
src/server/api/ui-chart-type.get.ts

@ -1,4 +1,8 @@
export default defineEventHandler((event) => { export default defineEventHandler((event) => {
setHeader(event, 'Content-Type', 'application/json'); setHeader(event, 'Content-Type', 'application/json');
return `"${UI_CHART_TYPE}"`; const number = Number.parseInt(UI_CHART_TYPE, 10);
if (Number.isNaN(number)) {
return 0;
}
return number;
}); });

2
src/server/api/ui-traffic-stats.get.ts

@ -1,4 +1,4 @@
export default defineEventHandler((event) => { export default defineEventHandler((event) => {
setHeader(event, 'Content-Type', 'application/json'); setHeader(event, 'Content-Type', 'application/json');
return `"${UI_TRAFFIC_STATS}"`; return UI_TRAFFIC_STATS === 'true' ? true : false;
}); });

2
src/server/utils/config.ts

@ -49,7 +49,7 @@ iptables -D FORWARD -o wg0 -j ACCEPT;
.join(' '); .join(' ');
export const LANG = process.env.LANG || 'en'; export const LANG = process.env.LANG || 'en';
export const UI_TRAFFIC_STATS = process.env.UI_TRAFFIC_STATS || 'false'; export const UI_TRAFFIC_STATS = process.env.UI_TRAFFIC_STATS || 'false';
export const UI_CHART_TYPE = process.env.UI_CHART_TYPE || 0; export const UI_CHART_TYPE = process.env.UI_CHART_TYPE || '0';
export const REQUIRES_PASSWORD = !!PASSWORD_HASH; export const REQUIRES_PASSWORD = !!PASSWORD_HASH;

4
src/utils/api.ts

@ -117,4 +117,8 @@ class API {
} }
} }
export type WGClient = Awaited<
ReturnType<typeof API.prototype.getClients>
>[number];
export default new API(); export default new API();

Loading…
Cancel
Save