Home / File/ route.ts — ui Source File

route.ts — ui Source File

Architecture documentation for route.ts, a typescript file in the ui codebase. 4 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  ff951edb_0311_5712_b0bb_50ef51f97553["route.ts"]
  e6d8fc0a_e169_2eda_cf08_affb3ed577e3["server"]
  ff951edb_0311_5712_b0bb_50ef51f97553 --> e6d8fc0a_e169_2eda_cf08_affb3ed577e3
  ba402b74_8010_c3d3_546a_3ea25557b67a["server"]
  ff951edb_0311_5712_b0bb_50ef51f97553 --> ba402b74_8010_c3d3_546a_3ea25557b67a
  ceec689a_1334_a657_3c35_094070222b09["schema"]
  ff951edb_0311_5712_b0bb_50ef51f97553 --> ceec689a_1334_a657_3c35_094070222b09
  f14cf7ca_f213_afc2_bc66_ebc0fb7d9834["config"]
  ff951edb_0311_5712_b0bb_50ef51f97553 --> f14cf7ca_f213_afc2_bc66_ebc0fb7d9834
  style ff951edb_0311_5712_b0bb_50ef51f97553 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { NextResponse, type NextRequest } from "next/server"
import { track } from "@vercel/analytics/server"
import { registryItemSchema } from "shadcn/schema"

import { buildRegistryBase, designSystemConfigSchema } from "@/registry/config"

export async function GET(request: NextRequest) {
  try {
    const searchParams = request.nextUrl.searchParams

    const result = designSystemConfigSchema.safeParse({
      base: searchParams.get("base"),
      style: searchParams.get("style"),
      iconLibrary: searchParams.get("iconLibrary"),
      baseColor: searchParams.get("baseColor"),
      theme: searchParams.get("theme"),
      font: searchParams.get("font"),
      menuAccent: searchParams.get("menuAccent"),
      menuColor: searchParams.get("menuColor"),
      radius: searchParams.get("radius"),
      template: searchParams.get("template"),
      rtl: searchParams.get("rtl") === "true",
    })

    if (!result.success) {
      return NextResponse.json(
        { error: result.error.issues[0].message },
        { status: 400 }
      )
    }

    const registryBase = buildRegistryBase(result.data)
    const parseResult = registryItemSchema.safeParse(registryBase)

    if (!parseResult.success) {
      return NextResponse.json(
        {
          error: "Invalid registry base item",
          details: parseResult.error.format(),
        },
        { status: 500 }
      )
    }

    track("create_app", result.data)

    return NextResponse.json(parseResult.data)
  } catch (error) {
    return NextResponse.json(
      {
        error:
          error instanceof Error ? error.message : "An unknown error occurred",
      },
      { status: 500 }
    )
  }
}

Subdomains

Functions

Dependencies

  • config
  • schema
  • server
  • server

Frequently Asked Questions

What does route.ts do?
route.ts is a source file in the ui codebase, written in typescript. It belongs to the FrameworkTooling domain, TemplateSync subdomain.
What functions are defined in route.ts?
route.ts defines 1 function(s): GET.
What does route.ts depend on?
route.ts imports 4 module(s): config, schema, server, server.
Where is route.ts in the architecture?
route.ts is located at apps/v4/app/(create)/init/route.ts (domain: FrameworkTooling, subdomain: TemplateSync, directory: apps/v4/app/(create)/init).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free