35 lines
804 B
TypeScript
35 lines
804 B
TypeScript
import axios from "../http-client";
|
|
import { messageSchema, type ChannelId, type Uuid } from "../types";
|
|
|
|
export async function paginatedMessages(
|
|
channelId: ChannelId,
|
|
limit: number,
|
|
before: ChannelId | undefined,
|
|
) {
|
|
const response = await axios.get(`/channels/${channelId}/messages`, {
|
|
params: {
|
|
limit,
|
|
before,
|
|
}
|
|
})
|
|
|
|
return (response.data as any[]).map((value, _) => messageSchema.parse(value))
|
|
}
|
|
|
|
export async function sendMessage(
|
|
channelId: ChannelId,
|
|
content: string,
|
|
attachments?: Uuid[]
|
|
) {
|
|
const response = await axios.post(`/channels/${channelId}/messages`, {
|
|
content,
|
|
attachments,
|
|
})
|
|
|
|
return messageSchema.parse(response.data)
|
|
}
|
|
|
|
export default {
|
|
paginatedMessages,
|
|
sendMessage,
|
|
} |