Files
flxn-app/src/lib/pocketbase/services/reactions.ts
2025-09-19 14:08:36 -05:00

35 lines
1.0 KiB
TypeScript

import PocketBase from "pocketbase";
import { transformReaction } from "../util/transform-types";
export const createReactionsService = (pb: PocketBase) => ({
async getReactionsForMatch(matchId: string) {
const reactions = await pb.collection('reactions').getFullList({
filter: `match="${matchId}"`,
expand: 'player',
});
return reactions.map(transformReaction)
},
async getUserReaction(matchId: string, userId: string, emoji: string) {
try {
return await pb.collection('reactions').getFirstListItem(`match="${matchId}" && player="${userId}" && emoji="${emoji}"`);
} catch (error) {
return;
}
},
async createReaction(matchId: string, userId: string, emoji: string) {
const reaction = await pb.collection('reactions').create({
match: matchId,
player: userId,
emoji: emoji,
}, {
expand: 'player'
});
return transformReaction(reaction)
},
async deleteReaction(reactionId: string) {
return await pb.collection('reactions').delete(reactionId);
},
});