wrongmove/frontend/src/services/decisionService.ts

33 lines
957 B
TypeScript
Raw Normal View History

// Decision API service for managing listing decisions (like/dislike)
import type { AuthUser } from '@/auth/types';
import type { ListingDecision } from '@/types';
import { apiRequest } from './apiClient';
export async function fetchDecisions(user: AuthUser): Promise<ListingDecision[]> {
return apiRequest<ListingDecision[]>(user, '/api/decisions');
}
export async function setDecision(
user: AuthUser,
listingId: number,
decision: 'liked' | 'disliked',
listingType: 'RENT' | 'BUY' = 'RENT',
): Promise<ListingDecision> {
return apiRequest<ListingDecision>(user, `/api/decisions/${listingId}`, {
method: 'PUT',
body: { decision, listing_type: listingType },
});
}
export async function clearDecision(
user: AuthUser,
listingId: number,
listingType: 'RENT' | 'BUY' = 'RENT',
): Promise<void> {
await apiRequest(user, `/api/decisions/${listingId}`, {
method: 'DELETE',
params: { listing_type: listingType },
});
}