we0-cms-supabase-api
Version:
A CMS API package for Next.js applications with Supabase and dynamic table management
106 lines (105 loc) • 3.63 kB
TypeScript
import { NextRequest, NextResponse } from "next/server";
import { createModel, deleteModel, getModels, updateModel } from "../handlers/models";
export declare function createModelRoute(): {
GET: typeof getModels;
POST: typeof createModel;
PUT: typeof updateModel;
DELETE: typeof deleteModel;
};
export declare function createDataRoute(tableName: string): {
GET: (request: NextRequest) => Promise<NextResponse<unknown>>;
POST: (request: NextRequest) => Promise<NextResponse<unknown>>;
PUT: (request: NextRequest) => Promise<NextResponse<unknown>>;
DELETE: (request: NextRequest) => Promise<NextResponse<unknown>>;
};
export declare function createDynamicDataRoute(): {
GET: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
POST: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
PUT: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
DELETE: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
};
export declare function createDynamicAuthRoute(): {
login: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
getCurrentUser: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
verifyAuth: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
};
export declare function createAuthRoute(tableName: string): {
login: (request: NextRequest) => Promise<NextResponse<unknown>>;
getCurrentUser: (request: NextRequest) => Promise<NextResponse<unknown>>;
verifyAuth: (request: NextRequest) => Promise<NextResponse<unknown>>;
};
export declare function createCmsRoutes(): {
models: {
GET: typeof getModels;
POST: typeof createModel;
PUT: typeof updateModel;
DELETE: typeof deleteModel;
};
data: {
GET: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
POST: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
PUT: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
DELETE: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
};
auth: {
login: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
getCurrentUser: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
verifyAuth: (request: NextRequest, context: {
params: Promise<{
tableName: string;
}>;
}) => Promise<NextResponse<unknown>>;
};
};