Files
iddaai-fe/src/lib/api/coupons/service.ts
T
2026-04-22 02:17:12 +03:00

94 lines
1.9 KiB
TypeScript

import { apiRequest } from "@/lib/api/api-service";
import { ApiResponse } from "@/types/api-response";
import {
CreateCouponDto,
SuggestCouponDto,
AnalyzeMatchDto,
CouponResponseDto,
CouponHistoryDto,
UserBettingStatsDto,
MatchAnalysisResultDto,
DailyBankoResponseDto,
SmartCouponResultDto,
FrequencyCouponRequestDto,
FrequencyCouponResultDto,
} from "./types";
/**
* Coupons Service
* Backend: /api/coupon/*
*/
const analyzeMatch = (dto: AnalyzeMatchDto) => {
return apiRequest<ApiResponse<MatchAnalysisResultDto>>({
url: "/coupon/analyze",
client: "core",
method: "post",
data: dto,
});
};
const createCoupon = (dto: CreateCouponDto) => {
return apiRequest<ApiResponse<CouponResponseDto>>({
url: "/coupon",
client: "core",
method: "post",
data: dto,
});
};
const getDailyBanko = (matchIds: string[]) => {
return apiRequest<ApiResponse<DailyBankoResponseDto>>({
url: "/coupon/daily-banko",
client: "core",
method: "post",
data: { matchIds },
});
};
const getHistory = (limit: number) => {
return apiRequest<ApiResponse<CouponHistoryDto>>({
url: "/coupon/history",
client: "core",
method: "get",
params: { limit },
});
};
const getUserStats = () => {
return apiRequest<ApiResponse<UserBettingStatsDto>>({
url: "/coupon/my-stats",
client: "core",
method: "get",
});
};
const suggestCoupon = (dto: SuggestCouponDto) => {
return apiRequest<ApiResponse<SmartCouponResultDto>>({
url: "/coupon/suggest",
client: "core",
method: "post",
data: dto,
});
};
const generateFrequencyCoupon = (dto: FrequencyCouponRequestDto) => {
return apiRequest<ApiResponse<FrequencyCouponResultDto>>({
url: "/coupon/frequency-coupon",
client: "core",
method: "post",
data: dto,
});
};
export const couponsService = {
analyzeMatch,
createCoupon,
getDailyBanko,
getHistory,
getUserStats,
suggestCoupon,
generateFrequencyCoupon,
};