w-lab-app/src/shared/constants/api-routes.ts
gofnnp fe4ed88cf8 AW-503-additional-purchases
redirect when single payment, return_url & pageUrl
2025-08-30 19:16:01 +04:00

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"]),
};