import ParasutApiV4 from '../parasut-api-v4' class PurchaseBills { constructor(private parasut: ParasutApiV4) {} async index({ queryParams: params, pagination }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, params, pagination, } return this.parasut.send('GET', `${this.parasut.options.firmaNo}/purchase_bills`, request) } async createBasicPurchaseBill({ data, queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, data, params, } return this.parasut.send('POST', `${this.parasut.options.firmaNo}/purchase_bills#basic`, request) } async createDetailedPurchaseBill({ data, queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, data, params, } return this.parasut.send('POST', `${this.parasut.options.firmaNo}/purchase_bills#detailed`, request) } async show(id: string, { queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, params, } return this.parasut.send('GET', `${this.parasut.options.firmaNo}/purchase_bills/${id}`, request) } async delete(id: string, { queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, params, } return this.parasut.send('DELETE', `${this.parasut.options.firmaNo}/purchase_bills/${id}`, request) } async editBasicPurchaseBill(id: string, { data, queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, data, params, } return this.parasut.send('PUT', `${this.parasut.options.firmaNo}/purchase_bills/${id}#basic`, request) } async editDetailedPurchaseBill(id: string, { data, queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, data, params, } return this.parasut.send('PUT', `${this.parasut.options.firmaNo}/purchase_bills/${id}#detailed`, request) } async pay(id: string, { data, queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, data, params, } return this.parasut.send('POST', `${this.parasut.options.firmaNo}/purchase_bills/${id}/payments`, request) } async cancel(id: string, { queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, params, } return this.parasut.send('DELETE', `${this.parasut.options.firmaNo}/purchase_bills/${id}/cancel`, request) } async recover(id: string, { queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, params, } return this.parasut.send('PATCH', `${this.parasut.options.firmaNo}/purchase_bills/${id}/recover`, request) } async archive(id: string, { queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, params, } return this.parasut.send('PATCH', `${this.parasut.options.firmaNo}/purchase_bills/${id}/archive`, request) } async unarchive(id: string, { queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, params, } return this.parasut.send('PATCH', `${this.parasut.options.firmaNo}/purchase_bills/${id}/unarchive`, request) } } export default PurchaseBills