Files
new-api/web/daisy/src/api/redemption.ts
T
admin e83ec743c8
Docker Build / Build and Push Docker Image (push) Failing after 1m35s
feat: add DaisyUI frontend theme and document management system
2026-06-13 01:36:06 +08:00

42 lines
1.1 KiB
TypeScript
Vendored

import { get, post, put, del } from './client'
import type { PaginatedResponse } from '@/types/api'
export interface Redemption {
id: number
name: string
key: string
quota: number
used_count: number
status: number
created_time: number
redeemed_time: number
}
export function getRedemptions(page = 1, size = 10, search = '') {
return get<PaginatedResponse<Redemption>>('/redemption/', {
page,
page_size: size,
keyword: search,
})
}
export function searchRedemptions(params: Record<string, unknown> = {}) {
return get<PaginatedResponse<Redemption>>('/redemption/search', params)
}
export function createRedemption(data: Partial<Redemption>) {
return post<Redemption>('/redemption/', data)
}
export function updateRedemption(data: Partial<Redemption>) {
return put<Redemption>(`/redemption/${data.id}`, data)
}
export function deleteRedemption(id: number) {
return del<{ success: boolean }>(`/redemption/${id}`)
}
export function batchDeleteInvalidRedemptions() {
return post<{ success: boolean; count: number }>('/redemption/batch_delete_invalid')
}