51 lines
1.0 KiB
TypeScript
51 lines
1.0 KiB
TypeScript
import { supabase } from "@/lib/supabase/browser-client"
|
|
import { TablesInsert } from "@/supabase/types"
|
|
|
|
export const getChatFilesByChatId = async (chatId: string) => {
|
|
const { data: chatFiles, error } = await supabase
|
|
.from("chats")
|
|
.select(
|
|
`
|
|
id,
|
|
name,
|
|
files (*)
|
|
`
|
|
)
|
|
.eq("id", chatId)
|
|
.single()
|
|
|
|
if (!chatFiles) {
|
|
throw new Error(error.message)
|
|
}
|
|
|
|
return chatFiles
|
|
}
|
|
|
|
export const createChatFile = async (chatFile: TablesInsert<"chat_files">) => {
|
|
const { data: createdChatFile, error } = await supabase
|
|
.from("chat_files")
|
|
.insert(chatFile)
|
|
.select("*")
|
|
|
|
if (!createdChatFile) {
|
|
throw new Error(error.message)
|
|
}
|
|
|
|
return createdChatFile
|
|
}
|
|
|
|
export const createChatFiles = async (
|
|
chatFiles: TablesInsert<"chat_files">[]
|
|
) => {
|
|
const { data: createdChatFiles, error } = await supabase
|
|
.from("chat_files")
|
|
.insert(chatFiles)
|
|
.select("*")
|
|
|
|
if (!createdChatFiles) {
|
|
throw new Error(error.message)
|
|
}
|
|
|
|
return createdChatFiles
|
|
}
|