1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-01-24 13:52:21 +01:00
fab-manager/app/frontend/src/javascript/api/payment-schedule.ts

43 lines
1.6 KiB
TypeScript
Raw Normal View History

import apiClient from './api-client';
import { AxiosResponse } from 'axios';
2021-02-08 08:56:01 +01:00
import {
CancelScheduleResponse,
2021-02-09 12:09:26 +01:00
CashCheckResponse, PayItemResponse,
2021-02-08 08:56:01 +01:00
PaymentSchedule,
2021-02-09 12:09:26 +01:00
PaymentScheduleIndexRequest, RefreshItemResponse
2021-02-08 08:56:01 +01:00
} from '../models/payment-schedule';
import wrapPromise, { IWrapPromise } from '../lib/wrap-promise';
export default class PaymentScheduleAPI {
async list (query: PaymentScheduleIndexRequest): Promise<Array<PaymentSchedule>> {
const res: AxiosResponse = await apiClient.post(`/api/payment_schedules/list`, query);
return res?.data;
}
2021-02-08 08:56:01 +01:00
async cashCheck(paymentScheduleItemId: number): Promise<CashCheckResponse> {
2021-02-04 17:00:02 +01:00
const res: AxiosResponse = await apiClient.post(`/api/payment_schedules/items/${paymentScheduleItemId}/cash_check`);
return res?.data;
}
2021-02-09 12:09:26 +01:00
async refreshItem(paymentScheduleItemId: number): Promise<RefreshItemResponse> {
2021-02-08 15:28:47 +01:00
const res: AxiosResponse = await apiClient.post(`/api/payment_schedules/items/${paymentScheduleItemId}/refresh_item`);
return res?.data;
}
2021-02-09 12:09:26 +01:00
async payItem(paymentScheduleItemId: number): Promise<PayItemResponse> {
const res: AxiosResponse = await apiClient.post(`/api/payment_schedules/items/${paymentScheduleItemId}/pay_item`);
return res?.data;
}
async cancel (paymentScheduleId: number): Promise<CancelScheduleResponse> {
const res: AxiosResponse = await apiClient.put(`/api/payment_schedules/${paymentScheduleId}/cancel`);
return res?.data;
}
static list (query: PaymentScheduleIndexRequest): IWrapPromise<Array<PaymentSchedule>> {
const api = new PaymentScheduleAPI();
return wrapPromise(api.list(query));
}
}