import ParasutApiV4 from '../parasut-api-v4' class Contacts { 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}/contacts`, request) } async create({ data, queryParams: params }: ApiRequest): Promise> { const request: IApiSendOptions = { isV4: true, isAuth: true, data, params, } return this.parasut.send('POST', `${this.parasut.options.firmaNo}/contacts`, 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}/contacts/${id}`, request) } async edit(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}/contacts/${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}/contacts/${id}`, request) } async contactDebitTransactions(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}/contacts/${id}/contact_debit_transactions`, request) } async contactCreditTransactions(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}/contacts/${id}/contact_credit_transactions`, request) } } export default Contacts