a tool for shared writing and social publishing
at debug/datetime 39 lines 1.0 kB view raw
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}