48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { UserSubscriptionActionEnum } from "@/entities/subscriptions/types";
|
|
|
|
const ROOT_ROUTE = "/";
|
|
const ROOT_ROUTE_V2 = "/v2/";
|
|
const ROOT_ROUTE_V3 = "/v3/";
|
|
|
|
const createRoute = (
|
|
segments: string[],
|
|
rootRoute: string = ROOT_ROUTE
|
|
): string => {
|
|
return rootRoute + segments.join("/");
|
|
};
|
|
|
|
export const API_ROUTES = {
|
|
dashboard: () => createRoute(["dashboard"]),
|
|
subscriptions: () => createRoute(["payment", "subscriptions"], ROOT_ROUTE_V3),
|
|
paymentCheckout: () => createRoute(["payment", "checkout"], ROOT_ROUTE_V2),
|
|
paymentSingleCheckout: () => createRoute(["payment", "checkout"]),
|
|
usersMe: () => createRoute(["users", "me"], ROOT_ROUTE),
|
|
compatibilityActionFields: (id: string) =>
|
|
createRoute(["dashboard", "compatibility-actions", id, "fields"]),
|
|
startGeneration: () => createRoute(["generations", "start"]),
|
|
statusGeneration: (id: string) => createRoute(["generations", "status", id]),
|
|
userSubscriptionAction: (
|
|
subscriptionId: string,
|
|
action: UserSubscriptionActionEnum
|
|
) =>
|
|
createRoute(
|
|
["payment", "subscriptions", subscriptionId, action],
|
|
ROOT_ROUTE_V3
|
|
),
|
|
|
|
// session
|
|
funnel: () => createRoute(["session", "funnel"], ROOT_ROUTE_V2),
|
|
|
|
// chats
|
|
createAllChats: () => createRoute(["chats", "create-all"]),
|
|
createChat: (assistantId: string) =>
|
|
createRoute(["chats", "create", assistantId]),
|
|
getChatsList: () => createRoute(["chats", "list"]),
|
|
getChatMessages: (chatId: string) =>
|
|
createRoute(["chats", chatId, "messages"]),
|
|
getUserBalance: () => createRoute(["chats", "balance"]),
|
|
getMyChatSettings: () => createRoute(["chats", "profile", "chat-settings"]),
|
|
updateMyChatSettings: () =>
|
|
createRoute(["chats", "profile", "chat-settings"]),
|
|
};
|