From 0823b182f6374c71e397a409260fcfebaae2071b Mon Sep 17 00:00:00 2001 From: dswbx Date: Tue, 18 Feb 2025 08:20:41 +0100 Subject: [PATCH 1/4] admin: added "system" theme option, check user pref --- app/package.json | 2 +- app/src/modules/server/AdminController.tsx | 5 ++-- app/src/modules/server/AppServer.ts | 5 +++- app/src/ui/Admin.tsx | 2 +- app/src/ui/client/ClientProvider.tsx | 3 ++- app/src/ui/client/use-theme.ts | 28 +++++++++++++-------- app/src/ui/routes/index.tsx | 6 ----- app/tailwind.config.js | 4 ++- bun.lockb | Bin 991208 -> 990480 bytes 9 files changed, 32 insertions(+), 23 deletions(-) diff --git a/app/package.json b/app/package.json index 970af13..c349f60 100644 --- a/app/package.json +++ b/app/package.json @@ -3,7 +3,7 @@ "type": "module", "sideEffects": false, "bin": "./dist/cli/index.js", - "version": "0.8.0-rc.5", + "version": "0.8.0-rc.6", "description": "Lightweight Firebase/Supabase alternative built to run anywhere — incl. Next.js, Remix, Astro, Cloudflare, Bun, Node, AWS Lambda & more.", "homepage": "https://bknd.io", "repository": { diff --git a/app/src/modules/server/AdminController.tsx b/app/src/modules/server/AdminController.tsx index 32c0c4e..c31bad0 100644 --- a/app/src/modules/server/AdminController.tsx +++ b/app/src/modules/server/AdminController.tsx @@ -7,6 +7,7 @@ import { html } from "hono/html"; import { Fragment } from "hono/jsx"; import { Controller } from "modules/Controller"; import * as SystemPermissions from "modules/permissions"; +import type { AppTheme } from "modules/server/AppServer"; const htmlBkndContextReplace = ""; @@ -246,7 +247,7 @@ export class AdminController extends Controller { } } -const style = (theme: "light" | "dark" = "light") => { +const style = (theme: AppTheme) => { const base = { margin: 0, padding: 0, @@ -271,6 +272,6 @@ const style = (theme: "light" | "dark" = "light") => { return { ...base, - ...styles[theme] + ...styles[theme === "light" ? "light" : "dark"] }; }; diff --git a/app/src/modules/server/AppServer.ts b/app/src/modules/server/AppServer.ts index c189262..9b4e6bf 100644 --- a/app/src/modules/server/AppServer.ts +++ b/app/src/modules/server/AppServer.ts @@ -4,12 +4,15 @@ import { cors } from "hono/cors"; import { Module } from "modules/Module"; const serverMethods = ["GET", "POST", "PATCH", "PUT", "DELETE"]; +const appThemes = ["dark", "light", "system"] as const; +export type AppTheme = (typeof appThemes)[number]; + export const serverConfigSchema = Type.Object( { admin: Type.Object( { basepath: Type.Optional(Type.String({ default: "", pattern: "^(/.+)?$" })), - color_scheme: Type.Optional(StringEnum(["dark", "light"], { default: "light" })), + color_scheme: Type.Optional(StringEnum(["dark", "light", "system"])), logo_return_path: Type.Optional( Type.String({ default: "/", diff --git a/app/src/ui/Admin.tsx b/app/src/ui/Admin.tsx index d966266..38d6cec 100644 --- a/app/src/ui/Admin.tsx +++ b/app/src/ui/Admin.tsx @@ -44,7 +44,7 @@ function AdminInternal() { const { theme } = useTheme(); return ( - + diff --git a/app/src/ui/client/ClientProvider.tsx b/app/src/ui/client/ClientProvider.tsx index fc7fb3a..7328633 100644 --- a/app/src/ui/client/ClientProvider.tsx +++ b/app/src/ui/client/ClientProvider.tsx @@ -1,4 +1,5 @@ import { Api, type ApiOptions, type TApiUser } from "Api"; +import type { AppTheme } from "modules/server/AppServer"; import { createContext, useContext } from "react"; const ClientContext = createContext<{ baseUrl: string; api: Api }>({ @@ -60,7 +61,7 @@ export const useBaseUrl = () => { type BkndWindowContext = { user?: TApiUser; logout_route: string; - color_scheme?: "light" | "dark"; + color_scheme?: AppTheme; }; export function useBkndWindowContext(): BkndWindowContext { if (typeof window !== "undefined" && window.__BKND__) { diff --git a/app/src/ui/client/use-theme.ts b/app/src/ui/client/use-theme.ts index 5fce405..935c1c1 100644 --- a/app/src/ui/client/use-theme.ts +++ b/app/src/ui/client/use-theme.ts @@ -1,18 +1,26 @@ +import type { AppTheme } from "modules/server/AppServer"; import { useBkndWindowContext } from "ui/client/ClientProvider"; import { useBknd } from "ui/client/bknd"; -export type Theme = "light" | "dark"; - -export function useTheme(fallback: Theme = "light"): { theme: Theme } { +export function useTheme(fallback: AppTheme = "system"): { theme: AppTheme } { const b = useBknd(); const winCtx = useBkndWindowContext(); - if (b) { - if (b?.adminOverride?.color_scheme) { - return { theme: b.adminOverride.color_scheme }; - } else if (!b.fallback) { - return { theme: b.config.server.admin.color_scheme ?? fallback }; - } + + // 1. override + // 2. config + // 3. winCtx + // 4. fallback + // 5. default + const override = b?.adminOverride?.color_scheme; + const config = b?.config.server.admin.color_scheme; + const win = winCtx.color_scheme; + const prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches; + + const theme = override ?? config ?? win ?? fallback; + + if (theme === "system") { + return { theme: prefersDark ? "dark" : "light" }; } - return { theme: winCtx.color_scheme ?? fallback }; + return { theme }; } diff --git a/app/src/ui/routes/index.tsx b/app/src/ui/routes/index.tsx index c1e5919..db1fb0f 100644 --- a/app/src/ui/routes/index.tsx +++ b/app/src/ui/routes/index.tsx @@ -10,12 +10,6 @@ import MediaRoutes from "./media"; import { Root, RootEmpty } from "./root"; import SettingsRoutes from "./settings"; -/*const DataRoutes = lazy(() => import("./data")); -const AuthRoutes = lazy(() => import("./auth")); -const MediaRoutes = lazy(() => import("./media")); -const FlowRoutes = lazy(() => import("./flows")); -const SettingsRoutes = lazy(() => import("./settings"));*/ - // @ts-ignore const TestRoutes = lazy(() => import("./test")); diff --git a/app/tailwind.config.js b/app/tailwind.config.js index fa735bd..cf7879c 100644 --- a/app/tailwind.config.js +++ b/app/tailwind.config.js @@ -1,3 +1,5 @@ +import tailwindCssAnimate from "tailwindcss-animate"; + /** @type {import("tailwindcss").Config} */ export default { content: ["./index.html", "./src/ui/**/*.tsx", "./src/ui/lib/mantine/theme.ts"], @@ -13,5 +15,5 @@ export default { } } }, - plugins: [require("tailwindcss-animate")] + plugins: [tailwindCssAnimate] }; diff --git a/bun.lockb b/bun.lockb index 63c76bc93080fdf9cf064f5a839438b2ac366a21..2fa9b697c118c9fd5fc4d80a0c00c85b1072e96c 100755 GIT binary patch delta 204959 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%0A6=u(NYU7wWdu58Fh|B*|xz0S>zBb*n_yRs% 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 Qs{va~v*Bp6yW{%*1$APbi~s-t From e2217c411afc7803732ecea6d15b096ca29ddad1 Mon Sep 17 00:00:00 2001 From: dswbx Date: Tue, 18 Feb 2025 09:25:34 +0100 Subject: [PATCH 2/4] added deboug routes cli action --- app/src/App.ts | 2 -- app/src/cli/commands/debug.ts | 47 +++++++++++++++++++++++++++-------- app/src/flows/AppFlows.ts | 2 ++ app/vite.dev.ts | 10 ++++++++ 4 files changed, 48 insertions(+), 13 deletions(-) diff --git a/app/src/App.ts b/app/src/App.ts index 3beec46..0d8f873 100644 --- a/app/src/App.ts +++ b/app/src/App.ts @@ -106,8 +106,6 @@ export class App { await this.emgr.emit(new AppBuiltEvent({ app: this })); - server.all("/api/*", async (c) => c.notFound()); - // first boot is set from ModuleManager when there wasn't a config table if (this.trigger_first_boot) { this.trigger_first_boot = false; diff --git a/app/src/cli/commands/debug.ts b/app/src/cli/commands/debug.ts index 124d7d2..77a668c 100644 --- a/app/src/cli/commands/debug.ts +++ b/app/src/cli/commands/debug.ts @@ -1,20 +1,45 @@ import path from "node:path"; import url from "node:url"; +import { createApp } from "App"; +import { getConnectionCredentialsFromEnv } from "cli/commands/run/platform"; import { getDistPath, getRelativeDistPath, getRootPath } from "cli/utils/sys"; +import { Argument } from "commander"; +import { showRoutes } from "hono/dev"; import type { CliCommand } from "../types"; export const debug: CliCommand = (program) => { program .command("debug") - .description("debug path resolution") - .action(() => { - console.log("paths", { - rootpath: getRootPath(), - distPath: getDistPath(), - relativeDistPath: getRelativeDistPath(), - cwd: process.cwd(), - dir: path.dirname(url.fileURLToPath(import.meta.url)), - resolvedPkg: path.resolve(getRootPath(), "package.json") - }); - }); + .description("debug bknd") + .addArgument(new Argument("", "subject to debug").choices(Object.keys(subjects))) + .action(action); }; + +const subjects = { + paths: async () => { + console.log("[PATHS]", { + rootpath: getRootPath(), + distPath: getDistPath(), + relativeDistPath: getRelativeDistPath(), + cwd: process.cwd(), + dir: path.dirname(url.fileURLToPath(import.meta.url)), + resolvedPkg: path.resolve(getRootPath(), "package.json") + }); + }, + routes: async () => { + console.log("[APP ROUTES]"); + const credentials = getConnectionCredentialsFromEnv(); + const app = createApp({ connection: credentials }); + await app.build(); + showRoutes(app.server); + } +}; + +async function action(subject: string) { + console.log("debug", { subject }); + if (subject in subjects) { + await subjects[subject](); + } else { + console.error("Invalid subject: ", subject); + } +} diff --git a/app/src/flows/AppFlows.ts b/app/src/flows/AppFlows.ts index 4f75cbf..c31e051 100644 --- a/app/src/flows/AppFlows.ts +++ b/app/src/flows/AppFlows.ts @@ -63,6 +63,8 @@ export class AppFlows extends Module { }); }); + hono.all("*", (c) => c.notFound()); + this.ctx.server.route(this.config.basepath, hono); // register flows diff --git a/app/vite.dev.ts b/app/vite.dev.ts index 9dfb3a1..cf95359 100644 --- a/app/vite.dev.ts +++ b/app/vite.dev.ts @@ -1,5 +1,6 @@ import { readFile } from "node:fs/promises"; import { serveStatic } from "@hono/node-server/serve-static"; +import { showRoutes } from "hono/dev"; import { App, registries } from "./src"; import { StorageLocalAdapter } from "./src/media/storage/adapters/StorageLocalAdapter"; @@ -28,6 +29,7 @@ if (example) { let app: App; const recreate = import.meta.env.VITE_APP_DISABLE_FRESH !== "1"; +let routesShown = false; export default { async fetch(request: Request) { if (!app || recreate) { @@ -44,6 +46,14 @@ export default { "sync" ); await app.build(); + + // log routes + if (!routesShown) { + routesShown = true; + console.log("\n\n[APP ROUTES]"); + showRoutes(app.server); + console.log("-------\n\n"); + } } return app.fetch(request); From e103d3ac33a6f017b45f81df46228f918d2587cc Mon Sep 17 00:00:00 2001 From: dswbx Date: Tue, 18 Feb 2025 09:36:59 +0100 Subject: [PATCH 3/4] refactor app constructor params to move manager into app options --- app/src/App.ts | 16 ++++++++++------ app/src/adapter/bun/bun.adapter.ts | 2 -- docs/usage/database.mdx | 22 +++++----------------- docs/usage/introduction.mdx | 13 ++++++++----- 4 files changed, 23 insertions(+), 30 deletions(-) diff --git a/app/src/App.ts b/app/src/App.ts index 3beec46..b0924cd 100644 --- a/app/src/App.ts +++ b/app/src/App.ts @@ -26,6 +26,10 @@ export class AppFirstBoot extends AppEvent { } export const AppEvents = { AppConfigUpdatedEvent, AppBuiltEvent, AppFirstBoot } as const; +export type AppOptions = { + plugins?: AppPlugin[]; + manager?: Omit; +}; export type CreateAppConfig = { connection?: | Connection @@ -36,8 +40,7 @@ export type CreateAppConfig = { } | LibSqlCredentials; initialConfig?: InitialModuleConfigs; - plugins?: AppPlugin[]; - options?: Omit; + options?: AppOptions; }; export type AppConfig = InitialModuleConfigs; @@ -47,15 +50,16 @@ export class App { static readonly Events = AppEvents; adminController?: AdminController; private trigger_first_boot = false; + private plugins: AppPlugin[]; constructor( private connection: Connection, _initialConfig?: InitialModuleConfigs, - private plugins: AppPlugin[] = [], - moduleManagerOptions?: ModuleManagerOptions + private options?: AppOptions ) { + this.plugins = options?.plugins ?? []; this.modules = new ModuleManager(connection, { - ...moduleManagerOptions, + ...(options?.manager ?? {}), initial: _initialConfig, onUpdated: async (key, config) => { // if the EventManager was disabled, we assume we shouldn't @@ -201,5 +205,5 @@ export function createApp(config: CreateAppConfig = {}) { throw new Error("Invalid connection"); } - return new App(connection, config.initialConfig, config.plugins, config.options); + return new App(connection, config.initialConfig, config.options); } diff --git a/app/src/adapter/bun/bun.adapter.ts b/app/src/adapter/bun/bun.adapter.ts index 05eec3c..851c54e 100644 --- a/app/src/adapter/bun/bun.adapter.ts +++ b/app/src/adapter/bun/bun.adapter.ts @@ -30,7 +30,6 @@ export function serve({ distPath, connection, initialConfig, - plugins, options, port = config.server.default_port, onBuilt, @@ -44,7 +43,6 @@ export function serve({ const app = await createApp({ connection, initialConfig, - plugins, options, onBuilt, buildConfig, diff --git a/docs/usage/database.mdx b/docs/usage/database.mdx index a6464e1..04f3a62 100644 --- a/docs/usage/database.mdx +++ b/docs/usage/database.mdx @@ -17,10 +17,7 @@ The easiest to get started is using SQLite in-memory. When serving the API in th the function accepts an object with connection details. To use an in-memory database, you can either omit the object completely or explicitly use it as follows: ```json { - "type": "libsql", - "config": { - "url": ":memory:" - } + "url": ":memory:" } ``` @@ -29,10 +26,7 @@ Just like the in-memory option, using a file is just as easy: ```json { - "type": "libsql", - "config": { - "url": "file:" - } + "url": "file:" } ``` Please note that using SQLite as a file is only supported in server environments. @@ -47,10 +41,7 @@ turso dev The command will yield a URL. Use it in the connection object: ```json { - "type": "libsql", - "config": { - "url": "http://localhost:8080" - } + "url": "http://localhost:8080" } ``` @@ -59,11 +50,8 @@ If you want to use LibSQL on Turso, [sign up for a free account](https://turso.t connection object to your new database: ```json { - "type": "libsql", - "config": { - "url": "libsql://your-database-url.turso.io", - "authToken": "your-auth-token" - } + "url": "libsql://your-database-url.turso.io", + "authToken": "your-auth-token" } ``` diff --git a/docs/usage/introduction.mdx b/docs/usage/introduction.mdx index 7758ce2..985be99 100644 --- a/docs/usage/introduction.mdx +++ b/docs/usage/introduction.mdx @@ -44,18 +44,21 @@ import type { Connection } from "bknd/data"; import type { Config } from "@libsql/client"; type AppPlugin = (app: App) => Promise | void; +type ManagerOptions = { + basePath?: string; + trustFetched?: boolean; + onFirstBoot?: () => Promise; + seed?: (ctx: ModuleBuildContext) => Promise; +}; type CreateAppConfig = { connection?: | Connection | Config; initialConfig?: InitialModuleConfigs; - plugins?: AppPlugin[]; options?: { - basePath?: string; - trustFetched?: boolean; - onFirstBoot?: () => Promise; - seed?: (ctx: ModuleBuildContext) => Promise; + plugins?: AppPlugin[]; + manager?: ManagerOptions }; }; ``` From e12ed1e4b306446bfc82c1d65be85ee2765e8527 Mon Sep 17 00:00:00 2001 From: dswbx Date: Tue, 18 Feb 2025 10:11:59 +0100 Subject: [PATCH 4/4] cli run will prefer data file now, improved console coloring --- app/src/App.ts | 10 ++++----- app/src/cli/commands/run/platform.ts | 4 ++-- app/src/cli/commands/run/run.ts | 26 ++++++++++++++++++++--- app/src/cli/utils/cli.ts | 31 ++++++++++++++++++++++++++++ app/src/data/api/DataController.ts | 4 ++-- 5 files changed, 63 insertions(+), 12 deletions(-) diff --git a/app/src/App.ts b/app/src/App.ts index 3beec46..c49d415 100644 --- a/app/src/App.ts +++ b/app/src/App.ts @@ -62,17 +62,17 @@ export class App { // respond to events, such as "onUpdated". // this is important if multiple changes are done, and then build() is called manually if (!this.emgr.enabled) { - console.warn("[APP] config updated, but event manager is disabled, skip."); + console.warn("App config updated, but event manager is disabled, skip."); return; } - console.log("[APP] config updated", key); + console.log("App config updated", key); // @todo: potentially double syncing await this.build({ sync: true }); await this.emgr.emit(new AppConfigUpdatedEvent({ app: this })); }, onFirstBoot: async () => { - console.log("[APP] first boot"); + console.log("App first boot"); this.trigger_first_boot = true; }, onServerInit: async (server) => { @@ -183,7 +183,7 @@ export function createApp(config: CreateAppConfig = {}) { } else if (typeof config.connection === "object") { if ("type" in config.connection) { console.warn( - "[WARN] Using deprecated connection type 'libsql', use the 'config' object directly." + "Using deprecated connection type 'libsql', use the 'config' object directly." ); connection = new LibsqlConnection(config.connection.config); } else { @@ -191,7 +191,7 @@ export function createApp(config: CreateAppConfig = {}) { } } else { connection = new LibsqlConnection({ url: ":memory:" }); - console.warn("[!] No connection provided, using in-memory database"); + console.warn("No connection provided, using in-memory database"); } } catch (e) { console.error("Could not create connection", e); diff --git a/app/src/cli/commands/run/platform.ts b/app/src/cli/commands/run/platform.ts index 86758dc..eda86e4 100644 --- a/app/src/cli/commands/run/platform.ts +++ b/app/src/cli/commands/run/platform.ts @@ -32,7 +32,7 @@ export async function attachServeStatic(app: any, platform: Platform) { export async function startServer(server: Platform, app: any, options: { port: number }) { const port = options.port; - console.log(`(using ${server} serve)`); + console.log(`Using ${server} serve`); switch (server) { case "node": { @@ -54,7 +54,7 @@ export async function startServer(server: Platform, app: any, options: { port: n } const url = `http://localhost:${port}`; - console.log(`Server listening on ${url}`); + console.info("Server listening on", url); await open(url); } diff --git a/app/src/cli/commands/run/run.ts b/app/src/cli/commands/run/run.ts index a34a65c..2f078ad 100644 --- a/app/src/cli/commands/run/run.ts +++ b/app/src/cli/commands/run/run.ts @@ -2,10 +2,12 @@ import type { Config } from "@libsql/client/node"; import { App, type CreateAppConfig } from "App"; import { StorageLocalAdapter } from "adapter/node"; import type { CliBkndConfig, CliCommand } from "cli/types"; +import { replaceConsole } from "cli/utils/cli"; import { Option } from "commander"; import { config } from "core"; import dotenv from "dotenv"; import { registries } from "modules/registries"; +import c from "picocolors"; import { PLATFORMS, type Platform, @@ -27,6 +29,13 @@ export const run: CliCommand = (program) => { .default(config.server.default_port) .argParser((v) => Number.parseInt(v)) ) + .addOption( + new Option("-m, --memory", "use in-memory database").conflicts([ + "config", + "db-url", + "db-token" + ]) + ) .addOption(new Option("-c, --config ", "config file")) .addOption( new Option("--db-url ", "database url, can be any valid libsql url").conflicts( @@ -97,33 +106,44 @@ export async function makeConfigApp(config: CliBkndConfig, platform?: Platform) async function action(options: { port: number; + memory?: boolean; config?: string; dbUrl?: string; dbToken?: string; server: Platform; }) { + replaceConsole(); const configFilePath = await getConfigPath(options.config); let app: App | undefined = undefined; if (options.dbUrl) { + console.info("Using connection from", c.cyan("--db-url")); const connection = options.dbUrl ? { url: options.dbUrl, authToken: options.dbToken } : undefined; app = await makeApp({ connection, server: { platform: options.server } }); } else if (configFilePath) { - console.log("[INFO] Using config from:", configFilePath); + console.info("Using config from", c.cyan(configFilePath)); const config = (await import(configFilePath).then((m) => m.default)) as CliBkndConfig; app = await makeConfigApp(config, options.server); + } else if (options.memory) { + console.info("Using", c.cyan("in-memory"), "connection"); + app = await makeApp({ server: { platform: options.server } }); } else { const credentials = getConnectionCredentialsFromEnv(); if (credentials) { - console.log("[INFO] Using connection from environment"); + console.info("Using connection from env", c.cyan(credentials.url)); app = await makeConfigApp({ app: { connection: credentials } }, options.server); } } if (!app) { - app = await makeApp({ server: { platform: options.server } }); + const connection = { url: "file:data.db" } as Config; + console.info("Using connection", c.cyan(connection.url)); + app = await makeApp({ + connection, + server: { platform: options.server } + }); } await startServer(options.server, app, { port: options.port }); diff --git a/app/src/cli/utils/cli.ts b/app/src/cli/utils/cli.ts index 5b0d8e7..6e3a284 100644 --- a/app/src/cli/utils/cli.ts +++ b/app/src/cli/utils/cli.ts @@ -1,3 +1,6 @@ +import { isDebug } from "core"; +import c from "picocolors"; +import type { Formatter } from "picocolors/types"; const _SPEEDUP = process.env.LOCAL; const DEFAULT_WAIT = _SPEEDUP ? 0 : 250; @@ -54,3 +57,31 @@ export async function* typewriter( } } } + +function ifString(args: any[], c: Formatter) { + return args.map((a) => (typeof a === "string" ? c(a) : a)); +} + +const originalConsole = { + log: console.log, + info: console.info, + debug: console.debug, + warn: console.warn, + error: console.error +}; + +export const $console = { + log: (...args: any[]) => originalConsole.info(c.gray("[LOG] "), ...ifString(args, c.dim)), + info: (...args: any[]) => originalConsole.info(c.cyan("[INFO] "), ...args), + debug: (...args: any[]) => isDebug() && originalConsole.info(c.yellow("[DEBUG]"), ...args), + warn: (...args: any[]) => originalConsole.info(c.yellow("[WARN] "), ...ifString(args, c.yellow)), + error: (...args: any[]) => originalConsole.info(c.red("[ERROR]"), ...ifString(args, c.red)) +}; + +export function replaceConsole() { + console.log = $console.log; + console.info = $console.info; + console.debug = $console.debug; + console.warn = $console.warn; + console.error = $console.error; +} diff --git a/app/src/data/api/DataController.ts b/app/src/data/api/DataController.ts index ff27a75..d567fd2 100644 --- a/app/src/data/api/DataController.ts +++ b/app/src/data/api/DataController.ts @@ -181,7 +181,7 @@ export class DataController extends Controller { //console.log("request", c.req.raw); const { entity, context } = c.req.param(); if (!this.entityExists(entity)) { - console.log("not found", entity, definedEntities); + console.warn("not found:", entity, definedEntities); return c.notFound(); } const _entity = this.em.entity(entity); @@ -208,7 +208,7 @@ export class DataController extends Controller { //console.log("request", c.req.raw); const { entity } = c.req.param(); if (!this.entityExists(entity)) { - console.log("not found", entity, definedEntities); + console.warn("not found:", entity, definedEntities); return c.notFound(); } const options = c.req.valid("query") as RepoQuery;