Compare commits
8 Commits
d85f081d3a
...
ddbd5ba607
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ddbd5ba607 | ||
|
|
50a8f4a295 | ||
|
|
fb6e2571a5 | ||
| 5de78cb78f | |||
| f3358705b0 | |||
| 14efada9bb | |||
| 7f646b82a9 | |||
| e8c1d02843 |
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,7 @@ const getToken = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export const api = axios.create({
|
export const api = axios.create({
|
||||||
baseURL: 'http://127.0.0.1:4000/api/v1',
|
baseURL: 'https://enaklo-pos-be.altru.id/api/v1',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
|
|||||||
34
src/services/queries/vouchers.ts
Normal file
34
src/services/queries/vouchers.ts
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import { useQuery } from '@tanstack/react-query'
|
||||||
|
import { VoucherRowsResponse } from '../../types/services/voucher'
|
||||||
|
import { api } from '../api'
|
||||||
|
|
||||||
|
export interface VouchersQueryParams {
|
||||||
|
rows?: number
|
||||||
|
winner_number?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export function useVoucherRows(params: VouchersQueryParams = {}, options: { enabled?: boolean } = {}) {
|
||||||
|
const { rows = 5, winner_number = 1 } = params
|
||||||
|
const { enabled = true } = options
|
||||||
|
|
||||||
|
return useQuery<VoucherRowsResponse>({
|
||||||
|
queryKey: ['voucher-rows', { rows, winner_number }],
|
||||||
|
queryFn: async () => {
|
||||||
|
const res = await api.get(`/vouchers/rows`, {
|
||||||
|
params: { rows, winner_number }
|
||||||
|
})
|
||||||
|
return res.data.data
|
||||||
|
},
|
||||||
|
enabled,
|
||||||
|
staleTime: 5 * 60 * 1000,
|
||||||
|
refetchOnWindowFocus: false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// Manual fetch function for cases where you need to fetch without using the hook
|
||||||
|
export async function fetchVoucherRows(rows: number = 5, winner_number: number = 1): Promise<VoucherRowsResponse> {
|
||||||
|
const res = await api.get(`/vouchers/rows`, {
|
||||||
|
params: { rows, winner_number }
|
||||||
|
})
|
||||||
|
return res.data.data
|
||||||
|
}
|
||||||
23
src/types/services/voucher.ts
Normal file
23
src/types/services/voucher.ts
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export interface Voucher {
|
||||||
|
voucher_code: string
|
||||||
|
name: string
|
||||||
|
phone_number: string
|
||||||
|
is_winner: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface VoucherRow {
|
||||||
|
row_number: number
|
||||||
|
vouchers: Voucher[]
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface VoucherRowsResponse {
|
||||||
|
rows: VoucherRow[]
|
||||||
|
total_rows: number
|
||||||
|
total_vouchers: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface VoucherApiResponse {
|
||||||
|
success: boolean
|
||||||
|
data: VoucherRowsResponse
|
||||||
|
errors: any
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user