mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-16 18:55:37 +02:00
## Description <!-- Briefly describe the purpose and scope of your changes --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Upgraded API and authentication services with dynamic scaling, enhanced load balancing, and real-time interaction endpoints. - Introduced new commands to streamline local development and container builds. - Added new endpoints for retrieving Steam account information and managing connections. - Implemented a QR code authentication interface for Steam, enhancing user login experiences. - **Database Updates** - Rolled out comprehensive schema migrations that improve data integrity and indexing. - Introduced new tables for managing Steam user credentials and machine information. - **UI Enhancements** - Added refreshed animated assets and an improved QR code login flow for a more engaging experience. - Introduced new styled components for displaying friends and games. - **Maintenance** - Completed extensive refactoring and configuration updates to optimize performance and development workflows. - Updated logging configurations and improved error handling mechanisms. - Streamlined resource definitions in the configuration files. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import { hc } from "hono/client";
|
|
import { useTeam } from "./context";
|
|
import { useOpenAuth } from "@openauthjs/solid";
|
|
import { type app } from "@nestri/functions/api/index";
|
|
import { createInitializedContext } from "@nestri/www/common/context";
|
|
|
|
|
|
export const { use: useApi, provider: ApiProvider } = createInitializedContext(
|
|
"ApiContext",
|
|
() => {
|
|
const team = useTeam();
|
|
const auth = useOpenAuth();
|
|
|
|
const client = hc<typeof app>(import.meta.env.VITE_API_URL, {
|
|
async fetch(...args: Parameters<typeof fetch>): Promise<Response> {
|
|
const [input, init] = args;
|
|
const request =
|
|
input instanceof Request ? input : new Request(input, init);
|
|
const headers = new Headers(request.headers);
|
|
headers.set("authorization", `Bearer ${await auth.access()}`);
|
|
headers.set("x-nestri-team", team().id);
|
|
|
|
return fetch(
|
|
new Request(request, {
|
|
...init,
|
|
headers,
|
|
}),
|
|
);
|
|
},
|
|
});
|
|
return {
|
|
client,
|
|
ready: true,
|
|
};
|
|
},
|
|
); |