forked from
leaflet.pub/leaflet
a tool for shared writing and social publishing
1"use server";
2import { cookies } from "next/headers";
3import { Database } from "supabase/database.types";
4import { createServerClient } from "@supabase/ssr";
5import { getIdentityData } from "actions/getIdentityData";
6
7let supabase = createServerClient<Database>(
8 process.env.NEXT_PUBLIC_SUPABASE_API_URL as string,
9 process.env.SUPABASE_SERVICE_ROLE_KEY as string,
10 { cookies: {} },
11);
12export async function addDomainPath({
13 domain,
14 view_permission_token,
15 edit_permission_token,
16 route,
17}: {
18 domain: string;
19 view_permission_token: string;
20 edit_permission_token: string;
21 route: string;
22}) {
23 let auth_data = await getIdentityData();
24 if (!auth_data || !auth_data.custom_domains.find((d) => d.domain === domain))
25 return null;
26
27 await supabase
28 .from("custom_domain_routes")
29 .delete()
30 .eq("edit_permission_token", edit_permission_token);
31
32 await supabase.from("custom_domain_routes").insert({
33 domain,
34 route,
35 view_permission_token,
36 edit_permission_token,
37 });
38 return true;
39}