UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

42 lines 1.85 kB
import { NextRequest, NextResponse } from "next/server"; export interface TenantContext { siteId: string; siteName: string; siteSlug: string; domain?: string | null; subdomain?: string | null; isPublished: boolean; settings?: Record<string, unknown> | null; } type RoutingStrategy = "subdomain" | "domain" | "path"; interface MultiTenantConfig { strategy: RoutingStrategy; mainDomain: string; adminPath: string; apiPath: string; publicPath: string; excludePaths: string[]; } export declare class MultiTenantManager { private config; constructor(config?: Partial<MultiTenantConfig>); extractTenantContext(request: NextRequest): Promise<TenantContext | null>; private extractFromSubdomain; private extractFromDomain; private extractFromPath; shouldProcessAsTenant(request: NextRequest): boolean; handleTenantRouting(request: NextRequest, tenantContext: TenantContext): Promise<NextResponse>; isAdminAccess(request: NextRequest): boolean; isApiRequest(request: NextRequest): boolean; isStaticRequest(request: NextRequest): boolean; } export declare const multiTenantManager: MultiTenantManager; export declare function multiTenantMiddleware(request: NextRequest): Promise<NextResponse>; export declare function getTenantId(request: NextRequest | Request): string | null; export declare function getTenantSlug(request: NextRequest | Request): string | null; export declare function getTenantName(request: NextRequest | Request): string | null; export declare function getTenantDomain(request: NextRequest | Request): string | null; export declare function getTenantSubdomain(request: NextRequest | Request): string | null; export declare function getTenantContext(headers: Headers): TenantContext | null; export {}; //# sourceMappingURL=multi-tenant.d.ts.map