chore(frontend): install and set up oxlint and oxfmt

This commit is contained in:
2026-05-14 22:01:56 +02:00
parent 543fbf575d
commit eecc2b354a
10 changed files with 686 additions and 193 deletions

View File

@@ -12,11 +12,11 @@
* ```
*/
import createClient from 'openapi-fetch';
import type { paths } from './schema';
import createClient from "openapi-fetch";
import type { paths } from "./schema";
// Get the API base URL from environment variables or default to localhost
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:3100';
const API_BASE_URL = import.meta.env.VITE_API_BASE_URL || "http://localhost:3100";
/**
* Typed API client instance.
@@ -28,4 +28,4 @@ export const apiClient = createClient<paths>({ baseUrl: API_BASE_URL });
/**
* Re-export the types for convenience
*/
export type { paths, components } from './schema';
export type { paths, components } from "./schema";

View File

@@ -1,195 +1,192 @@
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
/** This file was auto-generated by openapi-typescript. Do not make direct changes to the file. */
export interface paths {
"/api/health": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Success */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
/** @description Too Many Requests - rate limit exceeded */
429: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
};
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
'/api/health': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
"/api/meta": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** Success */
200: {
headers: {
[name: string]: unknown;
};
content?: never;
};
get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** @description Success */
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json; charset=utf-8": components["schemas"]["Meta"];
};
};
/** @description Too Many Requests - rate limit exceeded */
429: {
headers: {
[name: string]: unknown;
};
content?: never;
};
};
/** Too Many Requests - rate limit exceeded */
429: {
headers: {
[name: string]: unknown;
};
content?: never;
};
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
};
"/api/relays": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json; charset=utf-8": components["schemas"]["RelayDto"][];
};
};
};
};
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/meta': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
"/api/relays/{id}/toggle": {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
/** Success */
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json; charset=utf-8': components['schemas']['Meta'];
};
};
get?: never;
put?: never;
post: {
parameters: {
query?: never;
header?: never;
path: {
id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json; charset=utf-8": components["schemas"]["RelayDto"];
};
};
};
/** Too Many Requests - rate limit exceeded */
429: {
headers: {
[name: string]: unknown;
};
content?: never;
};
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
};
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/relays': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get: {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json; charset=utf-8': components['schemas']['RelayDto'][];
};
};
};
};
put?: never;
post?: never;
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
'/api/relays/{id}/toggle': {
parameters: {
query?: never;
header?: never;
path?: never;
cookie?: never;
};
get?: never;
put?: never;
post: {
parameters: {
query?: never;
header?: never;
path: {
id: number;
};
cookie?: never;
};
requestBody?: never;
responses: {
200: {
headers: {
[name: string]: unknown;
};
content: {
'application/json; charset=utf-8': components['schemas']['RelayDto'];
};
};
};
};
delete?: never;
options?: never;
head?: never;
patch?: never;
trace?: never;
};
}
export type webhooks = Record<string, never>;
export interface components {
schemas: {
/** Meta */
Meta: {
version: string;
name: string;
};
/**
* RelayDto
* @description Data Transfer Object for relay information.
*
* This struct represents a relay in a serialized format suitable for API
* responses. It contains the relay's ID, current state, and label in a
* format that can be easily serialized to JSON.
*/
RelayDto: {
/**
* Format: uint8
* @description The relay's unique identifier (1-8).
*/
id: number;
/** @description The relay's current state as a string ("on" or "off"). */
state: string;
/** @description The relay's user-friendly label. */
label: string;
};
schemas: {
/** Meta */
Meta: {
version: string;
name: string;
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
/**
* RelayDto
*
* Data Transfer Object for relay information. This struct represents a relay in a serialized format suitable for
* API responses. It contains the relay's ID, current state, and label in a format that can be easily serialized to
* JSON.
*/
RelayDto: {
/**
* Format: uint8
*
* The relay's unique identifier (1-8).
*/
id: number;
/** The relay's current state as a string ("on" or "off"). */
state: string;
/** The relay's user-friendly label. */
label: string;
};
};
responses: never;
parameters: never;
requestBodies: never;
headers: never;
pathItems: never;
}
export type $defs = Record<string, never>;
export type operations = Record<string, never>;

View File

@@ -1,5 +1,5 @@
import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import { createApp } from "vue";
import "./style.css";
import App from "./App.vue";
createApp(App).mount('#app')
createApp(App).mount("#app");