Initial commit - ERP System

This commit is contained in:
root
2026-05-20 18:58:23 +00:00
commit e174936997
2697 changed files with 1628427 additions and 0 deletions
+145
View File
@@ -0,0 +1,145 @@
// Type definitions for Next.js cacheLife configs
declare module 'next/cache' {
export { unstable_cache } from 'next/dist/server/web/spec-extension/unstable-cache'
export {
updateTag,
revalidateTag,
revalidatePath,
refresh,
} from 'next/dist/server/web/spec-extension/revalidate'
export { unstable_noStore } from 'next/dist/server/web/spec-extension/unstable-no-store'
/**
* Cache this `"use cache"` for a timespan defined by the `"default"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 900 seconds (15 minutes)
* expire: never
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 15 minutes, start revalidating new values in the background.
* It lives for the maximum age of the server cache. If this entry has no traffic for a while, it may serve an old value the next request.
*/
export function cacheLife(profile: "default"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"seconds"` profile.
* ```
* stale: 30 seconds
* revalidate: 1 seconds
* expire: 60 seconds (1 minute)
* ```
*
* This cache may be stale on clients for 30 seconds before checking with the server.
* If the server receives a new request after 1 seconds, start revalidating new values in the background.
* If this entry has no traffic for 1 minute it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "seconds"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"minutes"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 60 seconds (1 minute)
* expire: 3600 seconds (1 hour)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 minute, start revalidating new values in the background.
* If this entry has no traffic for 1 hour it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "minutes"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"hours"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 3600 seconds (1 hour)
* expire: 86400 seconds (1 day)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 hour, start revalidating new values in the background.
* If this entry has no traffic for 1 day it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "hours"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"days"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 86400 seconds (1 day)
* expire: 604800 seconds (1 week)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 day, start revalidating new values in the background.
* If this entry has no traffic for 1 week it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "days"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"weeks"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 604800 seconds (1 week)
* expire: 2592000 seconds (1 month)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 week, start revalidating new values in the background.
* If this entry has no traffic for 1 month it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "weeks"): void
/**
* Cache this `"use cache"` for a timespan defined by the `"max"` profile.
* ```
* stale: 300 seconds (5 minutes)
* revalidate: 2592000 seconds (1 month)
* expire: 31536000 seconds (365 days)
* ```
*
* This cache may be stale on clients for 5 minutes before checking with the server.
* If the server receives a new request after 1 month, start revalidating new values in the background.
* If this entry has no traffic for 365 days it will expire. The next request will recompute it.
*/
export function cacheLife(profile: "max"): void
/**
* Cache this `"use cache"` using a custom timespan.
* ```
* stale: ... // seconds
* revalidate: ... // seconds
* expire: ... // seconds
* ```
*
* This is similar to Cache-Control: max-age=`stale`,s-max-age=`revalidate`,stale-while-revalidate=`expire-revalidate`
*
* If a value is left out, the lowest of other cacheLife() calls or the default, is used instead.
*/
export function cacheLife(profile: {
/**
* This cache may be stale on clients for ... seconds before checking with the server.
*/
stale?: number,
/**
* If the server receives a new request after ... seconds, start revalidating new values in the background.
*/
revalidate?: number,
/**
* If this entry has no traffic for ... seconds it will expire. The next request will recompute it.
*/
expire?: number
}): void
import { cacheTag } from 'next/dist/server/use-cache/cache-tag'
export { cacheTag }
export const unstable_cacheTag: typeof cacheTag
export const unstable_cacheLife: typeof cacheLife
}
+114
View File
@@ -0,0 +1,114 @@
// This file is generated automatically by Next.js
// Do not edit this file manually
type AppRoutes = "/" | "/billing" | "/billing/[customerId]" | "/customers" | "/customers/[id]" | "/login" | "/products" | "/roles" | "/sales" | "/sales/[id]" | "/sales/new" | "/search" | "/settings" | "/tickets" | "/tickets/[id]" | "/users"
type AppRouteHandlerRoutes = "/api/auth/[...nextauth]" | "/api/billing" | "/api/cron/imap" | "/api/customers" | "/api/customers/[id]" | "/api/customers/[id]/contacts" | "/api/customers/[id]/contracts" | "/api/customers/[id]/credentials" | "/api/customers/[id]/documents" | "/api/customers/[id]/reset-password" | "/api/customers/search" | "/api/dashboard" | "/api/portal/password" | "/api/products" | "/api/products/image/[name]" | "/api/roles" | "/api/sales" | "/api/sales/[id]" | "/api/search" | "/api/settings" | "/api/setup" | "/api/setup-customer" | "/api/tickets" | "/api/tickets/[id]" | "/api/tickets/[id]/attachments" | "/api/time-entries/[id]" | "/api/users"
type PageRoutes = never
type LayoutRoutes = "/"
type RedirectRoutes = never
type RewriteRoutes = never
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes
interface ParamMap {
"/": {}
"/api/auth/[...nextauth]": { "nextauth": string[]; }
"/api/billing": {}
"/api/cron/imap": {}
"/api/customers": {}
"/api/customers/[id]": { "id": string; }
"/api/customers/[id]/contacts": { "id": string; }
"/api/customers/[id]/contracts": { "id": string; }
"/api/customers/[id]/credentials": { "id": string; }
"/api/customers/[id]/documents": { "id": string; }
"/api/customers/[id]/reset-password": { "id": string; }
"/api/customers/search": {}
"/api/dashboard": {}
"/api/portal/password": {}
"/api/products": {}
"/api/products/image/[name]": { "name": string; }
"/api/roles": {}
"/api/sales": {}
"/api/sales/[id]": { "id": string; }
"/api/search": {}
"/api/settings": {}
"/api/setup": {}
"/api/setup-customer": {}
"/api/tickets": {}
"/api/tickets/[id]": { "id": string; }
"/api/tickets/[id]/attachments": { "id": string; }
"/api/time-entries/[id]": { "id": string; }
"/api/users": {}
"/billing": {}
"/billing/[customerId]": { "customerId": string; }
"/customers": {}
"/customers/[id]": { "id": string; }
"/login": {}
"/products": {}
"/roles": {}
"/sales": {}
"/sales/[id]": { "id": string; }
"/sales/new": {}
"/search": {}
"/settings": {}
"/tickets": {}
"/tickets/[id]": { "id": string; }
"/users": {}
}
export type ParamsOf<Route extends Routes> = ParamMap[Route]
interface LayoutSlotMap {
"/": never
}
export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap, AppRouteHandlerRoutes }
declare global {
/**
* Props for Next.js App Router page components
* @example
* ```tsx
* export default function Page(props: PageProps<'/blog/[slug]'>) {
* const { slug } = await props.params
* return <div>Blog post: {slug}</div>
* }
* ```
*/
interface PageProps<AppRoute extends AppRoutes> {
params: Promise<ParamMap[AppRoute]>
searchParams: Promise<Record<string, string | string[] | undefined>>
}
/**
* Props for Next.js App Router layout components
* @example
* ```tsx
* export default function Layout(props: LayoutProps<'/dashboard'>) {
* return <div>{props.children}</div>
* }
* ```
*/
type LayoutProps<LayoutRoute extends LayoutRoutes> = {
params: Promise<ParamMap[LayoutRoute]>
children: React.ReactNode
} & {
[K in LayoutSlotMap[LayoutRoute]]: React.ReactNode
}
/**
* Context for Next.js App Router route handlers
* @example
* ```tsx
* export async function GET(request: NextRequest, context: RouteContext<'/api/users/[id]'>) {
* const { id } = await context.params
* return Response.json({ id })
* }
* ```
*/
interface RouteContext<AppRouteHandlerRoute extends AppRouteHandlerRoutes> {
params: Promise<ParamMap[AppRouteHandlerRoute]>
}
}
+448
View File
@@ -0,0 +1,448 @@
// This file is generated automatically by Next.js
// Do not edit this file manually
// This file validates that all pages and layouts export the correct types
import type { AppRoutes, LayoutRoutes, ParamMap, AppRouteHandlerRoutes } from "./routes.js"
import type { ResolvingMetadata, ResolvingViewport } from "next/types.js"
import type { NextRequest } from 'next/server.js'
type AppPageConfig<Route extends AppRoutes = AppRoutes> = {
default: React.ComponentType<{ params: Promise<ParamMap[Route]> } & any> | ((props: { params: Promise<ParamMap[Route]> } & any) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
generateMetadata?: (
props: { params: Promise<ParamMap[Route]> } & any,
parent: ResolvingMetadata
) => Promise<any> | any
generateViewport?: (
props: { params: Promise<ParamMap[Route]> } & any,
parent: ResolvingViewport
) => Promise<any> | any
metadata?: any
viewport?: any
}
type LayoutConfig<Route extends LayoutRoutes = LayoutRoutes> = {
default: React.ComponentType<LayoutProps<Route>> | ((props: LayoutProps<Route>) => React.ReactNode | Promise<React.ReactNode> | never | void | Promise<void>)
generateStaticParams?: (props: { params: ParamMap[Route] }) => Promise<any[]> | any[]
generateMetadata?: (
props: { params: Promise<ParamMap[Route]> } & any,
parent: ResolvingMetadata
) => Promise<any> | any
generateViewport?: (
props: { params: Promise<ParamMap[Route]> } & any,
parent: ResolvingViewport
) => Promise<any> | any
metadata?: any
viewport?: any
}
type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRoutes> = {
GET?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
POST?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
PUT?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
PATCH?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
DELETE?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
HEAD?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
OPTIONS?: (request: NextRequest, context: { params: Promise<ParamMap[Route]> }) => Promise<Response | void> | Response | void
}
// Validate ../../../app/billing/[customerId]/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/billing/[customerId]">> = Specific
const handler = {} as typeof import("../../../app/billing/[customerId]/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/billing/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/billing">> = Specific
const handler = {} as typeof import("../../../app/billing/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/customers/[id]/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/customers/[id]">> = Specific
const handler = {} as typeof import("../../../app/customers/[id]/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/customers/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/customers">> = Specific
const handler = {} as typeof import("../../../app/customers/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/login/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/login">> = Specific
const handler = {} as typeof import("../../../app/login/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/">> = Specific
const handler = {} as typeof import("../../../app/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/products/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/products">> = Specific
const handler = {} as typeof import("../../../app/products/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/roles/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/roles">> = Specific
const handler = {} as typeof import("../../../app/roles/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/sales/[id]/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/sales/[id]">> = Specific
const handler = {} as typeof import("../../../app/sales/[id]/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/sales/new/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/sales/new">> = Specific
const handler = {} as typeof import("../../../app/sales/new/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/sales/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/sales">> = Specific
const handler = {} as typeof import("../../../app/sales/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/search/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/search">> = Specific
const handler = {} as typeof import("../../../app/search/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/settings/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/settings">> = Specific
const handler = {} as typeof import("../../../app/settings/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/tickets/[id]/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/tickets/[id]">> = Specific
const handler = {} as typeof import("../../../app/tickets/[id]/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/tickets/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/tickets">> = Specific
const handler = {} as typeof import("../../../app/tickets/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/users/page.tsx
{
type __IsExpected<Specific extends AppPageConfig<"/users">> = Specific
const handler = {} as typeof import("../../../app/users/page.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/auth/[...nextauth]/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/auth/[...nextauth]">> = Specific
const handler = {} as typeof import("../../../app/api/auth/[...nextauth]/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/billing/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/billing">> = Specific
const handler = {} as typeof import("../../../app/api/billing/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/cron/imap/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/cron/imap">> = Specific
const handler = {} as typeof import("../../../app/api/cron/imap/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/[id]/contacts/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers/[id]/contacts">> = Specific
const handler = {} as typeof import("../../../app/api/customers/[id]/contacts/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/[id]/contracts/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers/[id]/contracts">> = Specific
const handler = {} as typeof import("../../../app/api/customers/[id]/contracts/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/[id]/credentials/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers/[id]/credentials">> = Specific
const handler = {} as typeof import("../../../app/api/customers/[id]/credentials/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/[id]/documents/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers/[id]/documents">> = Specific
const handler = {} as typeof import("../../../app/api/customers/[id]/documents/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/[id]/reset-password/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers/[id]/reset-password">> = Specific
const handler = {} as typeof import("../../../app/api/customers/[id]/reset-password/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/[id]/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers/[id]">> = Specific
const handler = {} as typeof import("../../../app/api/customers/[id]/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers">> = Specific
const handler = {} as typeof import("../../../app/api/customers/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/customers/search/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/customers/search">> = Specific
const handler = {} as typeof import("../../../app/api/customers/search/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/dashboard/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/dashboard">> = Specific
const handler = {} as typeof import("../../../app/api/dashboard/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/portal/password/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/portal/password">> = Specific
const handler = {} as typeof import("../../../app/api/portal/password/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/products/image/[name]/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/products/image/[name]">> = Specific
const handler = {} as typeof import("../../../app/api/products/image/[name]/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/products/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/products">> = Specific
const handler = {} as typeof import("../../../app/api/products/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/roles/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/roles">> = Specific
const handler = {} as typeof import("../../../app/api/roles/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/sales/[id]/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/sales/[id]">> = Specific
const handler = {} as typeof import("../../../app/api/sales/[id]/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/sales/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/sales">> = Specific
const handler = {} as typeof import("../../../app/api/sales/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/search/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/search">> = Specific
const handler = {} as typeof import("../../../app/api/search/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/settings/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/settings">> = Specific
const handler = {} as typeof import("../../../app/api/settings/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/setup-customer/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/setup-customer">> = Specific
const handler = {} as typeof import("../../../app/api/setup-customer/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/setup/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/setup">> = Specific
const handler = {} as typeof import("../../../app/api/setup/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/tickets/[id]/attachments/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/tickets/[id]/attachments">> = Specific
const handler = {} as typeof import("../../../app/api/tickets/[id]/attachments/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/tickets/[id]/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/tickets/[id]">> = Specific
const handler = {} as typeof import("../../../app/api/tickets/[id]/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/tickets/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/tickets">> = Specific
const handler = {} as typeof import("../../../app/api/tickets/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/time-entries/[id]/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/time-entries/[id]">> = Specific
const handler = {} as typeof import("../../../app/api/time-entries/[id]/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/api/users/route.ts
{
type __IsExpected<Specific extends RouteHandlerConfig<"/api/users">> = Specific
const handler = {} as typeof import("../../../app/api/users/route.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}
// Validate ../../../app/layout.tsx
{
type __IsExpected<Specific extends LayoutConfig<"/">> = Specific
const handler = {} as typeof import("../../../app/layout.js")
type __Check = __IsExpected<typeof handler>
// @ts-ignore
type __Unused = __Check
}