### QuickstartAdd Function Example Source: https://jazz.tools/docs/install/client An example of a `QuickstartAdd` function, likely used for initializing or adding data in a quickstart scenario. It demonstrates importing and using `useDb`. ```javascript export function QuickstartAdd() { const db = useDb(); ``` -------------------------------- ### Vue Setup Example Source: https://jazz.tools/docs/reference/framework-patterns Example of setting up a database connection within a Vue component's setup function. This code must be called inside setup() or ``` -------------------------------- ### React Authentication Component Source: https://jazz.tools/docs/auth/local-first-auth This React component handles authentication logic. Ensure you have the necessary Jazz framework setup and dependencies installed. ```tsx import React from 'react'; interface AuthProps { // Define props here if needed } const AuthComponent: React.FC = () => { // Authentication logic goes here return (
{/* Authentication UI elements */}

Local-First Authentication

Manage your account securely.

); }; export default AuthComponent; ``` -------------------------------- ### Solid Provider Setup Source: https://jazz.tools/docs/reference/framework-patterns This snippet demonstrates setting up the JazzProvider in Solid. It takes a client object as a prop. ```jsx ``` -------------------------------- ### Basic Server Setup with Hono Source: https://jazz.tools/docs/install/typescript-server Sets up a basic Hono server with Jazz Tools context. This includes essential configurations like appId, schema, permissions, and data driver. It demonstrates how to initialize the Jazz context for server requests. ```typescript import { Hono } from "hono"; import { serve } from "@hono/node-server"; import { createJazzContext } from "jazz-tools/backend"; import { app as schemaApp } from "../schema.js"; import permissions from "../permissions.js"; const context = createJazzContext({ appId: "todo-server-ts", app: schemaApp, permissions, driver: { type: "persistent", dataPath: "./data/jazz.db" }, serverUrl: process.env.JAZZ_SERVER_URL, backendSecret: process.env.JAZZ_BACKEND_SECRET, jwksUrl: process.env.JAZZ_JWKS_URL, jwtPublicKey: process.env.JAZZ_JWT_PUBLIC_KEY, allowLocalFirstAuth: process.env.JAZZ_ALLOW_LOCAL_FIRST_AUTH !== "false", }); const api = new Hono(); ``` -------------------------------- ### Rust QueryBuilder Example Source: https://jazz.tools/docs/reference/where-operators Demonstrates how to initialize a QueryBuilder in Rust for filtering data. This snippet shows the basic setup for creating a query object. ```rust // Multiple filter calls are AND-combined let query = QueryBuilder::new("todos"); .filter_eq("done", ``` -------------------------------- ### Setting Up Client Path Source: https://jazz.tools/docs/getting-started/client-setup This snippet demonstrates how to define and use a client path, likely for routing or resource management within the application. ```javascript self.__next_f.push([1,"12:[\"$\",\"path\",null,{\"d\":\"$20\",\"fill\":\"#146AFF\"}]\n13:[\"$\",\"div\",null,{\"className\":\"flex-1\",\"children\":\"$undefined\"}]\n14:[\"$\",\"$L21\",null,{\"className\":\"p-2\",\"hideIfDisabled\":true}]\n15:[\"$\",\"$L22\",null,{\"className\":\"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [\u0026_svg]:size-4.5 p-2\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-panel-left\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",\"afitv7\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}],[\"$\",\"path\",\"fh3hqa\",{\"d\":\"M9 3v18\"},\"$undefined\"]}]}\\n"],"$undefined\n"]) ``` -------------------------------- ### Svelte Local First Auth Setup Source: https://jazz.tools/docs/getting-started/client-setup Set up Jazz in a Svelte application with local-first authentication. This example uses `LocalFirstAuth` to manage the secret and `JazzSvelteProvider`. ```svelte {#if client} {@render children()} {/if} ``` -------------------------------- ### Get Db Handle in Vue Source: https://jazz.tools/docs/writing/writing-data Use the `useDb` hook from `jazz-tools/vue` to obtain the database handle within a Vue component's setup script. ```typescript ``` -------------------------------- ### List To-Dos via cURL Source: https://jazz.tools/docs/install/typescript-server Example cURL command to retrieve all to-do items using the GET API endpoint. Requires a bearer token. ```bash curl http://localhost:3000/api/todos \ -H "Authorization: Bearer $TOKEN" ``` -------------------------------- ### Define Permissions for Todos Source: https://jazz.tools/llms-full.txt Defines comprehensive permissions for the 'todos' collection, allowing all read, insert, update, and delete operations. This is a permissive setup for the quickstart. ```ts import { schema as s } from "jazz-tools"; import { app } from "./schema.js"; export default s.definePermissions(app, ({ policy }) => { policy.todos.allowRead.always(); policy.todos.allowInsert.always(); policy.todos.allowUpdate.always(); policy.todos.allowDelete.always(); }); ``` -------------------------------- ### Initialize Jazz Project Source: https://jazz.tools/docs/install/client Initialize a new Jazz project in your current directory. This sets up the necessary configuration files. ```bash jazz init ``` -------------------------------- ### Vue.js App Setup with Jazz Client Source: https://jazz.tools/docs/install/client This snippet demonstrates how to import and initialize the Jazz client and provider in a Vue.js application. Ensure you have the 'jazz-tools/vue' package installed. ```vue ``` -------------------------------- ### Create Basic TypeScript Project Source: https://jazz.tools/llms-full.txt Use these commands to set up a basic TypeScript project directory and install Vite and TypeScript. ```bash mkdir my-jazz-app && cd my-jazz-app pnpm init pnpm add vite typescript ``` -------------------------------- ### Get Session and User ID (TypeScript) Source: https://jazz.tools/docs/auth/sessions Access the session and user ID directly from the database state. Useful for direct data access or initial state setup. ```typescript const session = db.getAuthState().session; const sessionUserId = session?.user_id ?? null; ``` -------------------------------- ### JazzProvider Component Example Source: https://jazz.tools/docs/auth/lifecycle This snippet shows the structure of the `JazzProvider` component, which is responsible for managing authentication state and providing it to the application. It includes basic theme setup for light and dark modes. ```javascript $L51
< JazzProvider $L54$L55$L56$L57$L58$L59
$L5a $L5b
``` -------------------------------- ### SolidJS Live Query Example Source: https://jazz.tools/docs/reading/queries Demonstrates how to set up a live query in SolidJS using Jazz Tools. This snippet fetches all todos based on a query. ```javascript import { useAll } from "jazz-tools/solid" import { app } from "../schema.js" export function LiveQueryExample() { const todos = useAll(() => ({ query: app.todos })); return ( ``` -------------------------------- ### Import QuickstartItem Component Source: https://jazz.tools/docs/install/client Imports the QuickstartItem component from its local module. This is typically used to render individual quickstart items. ```javascript import { QuickstartItem } from "./quickstart-item.js"; ``` -------------------------------- ### Example App.tsx Source: https://jazz.tools/docs/recipes/auth/auth-provider-integration This is a basic example of an App.tsx file. ```typescript export function ``` -------------------------------- ### Initialize New Project with pnpm Source: https://jazz.tools/docs/install/typescript-server Initialize a new project using pnpm. This command sets up the basic project structure and dependencies. ```bash pnpm init ``` -------------------------------- ### Permissions Schema Example Source: https://jazz.tools/docs/auth/permissions An example of a permissions schema structure written in TypeScript. ```typescript 7.07l1.71-1.71"}],"$undefined"}]}]}]} ``` -------------------------------- ### Create and Navigate to Project Directory Source: https://jazz.tools/docs/install/typescript-server Use these commands to create a new project directory and then navigate into it. This is the first step in setting up your Jazz application. ```bash mkdir my-jazz-app && cd my-jazz-app ``` -------------------------------- ### Query Rows Example Source: https://jazz.tools/docs/reading/includes-and-relations Example of querying rows with a client and a specific query. ```javascript let rows = client.query(query, None) ``` -------------------------------- ### Client Configuration Example Source: https://jazz.tools/docs/install/client This snippet shows a basic client configuration, highlighting the 'appId' for identifying your application. Ensure you use the generated UUID for correct data namespacing. ```json { "appId": "YOUR_APP_UUID" } ```