"""API Client for ows-abacus-worksheet.""" import requests class AbacusWorksheetAPIClient: """API Client for ows-abacus-worksheet.""" def __init__(self, base_url, headers): """Initialize ows_abacus_worksheet_API Client class.""" self.base_url = base_url self.headers = headers def get_hello(self): """GET /hello .""" endpoint = '{}/hello'.format(self.base_url) return requests.get(endpoint, headers=self.headers) def post_corrections_bulk(self, body): """POST /worksheet-correction/bulk .""" endpoint = '{}/worksheet-correction/bulk'.format(self.base_url) return requests.post(endpoint, headers=self.headers, json=body) def get_unapplied_corrections(self, statement_period, correction_type): """GET unapplied corrections.""" endpoint = '{}/worksheet-correction/statement-period/{}/{}/unapplied'.format( self.base_url, statement_period, correction_type ) return requests.get(endpoint, headers=self.headers) def get_worksheet_adjustment(self, file_id): """GET /worksheet-adjustments/statement-period-adjustment-file/ .""" endpoint = ( '{}/worksheet-adjustments/statement-period-adjustment-file/{}'.format( self.base_url, file_id ) ) return requests.get(endpoint, headers=self.headers) def get_worksheet_adjustment_details(self, worksheet_adjustment_id): """GET /worksheet-adjustment/{worksheet_adjustment_id}/details .""" endpoint = '{}/worksheet-adjustment/{}/details'.format( self.base_url, worksheet_adjustment_id ) return requests.get(endpoint, headers=self.headers) def post_worksheet_adjustments_import(self, body): """POST /worksheet-adjustments/import .""" endpoint = '{}/worksheet-adjustments/import'.format(self.base_url) return requests.post(endpoint, headers=self.headers, json=body) def del_adjs_and_details_by_period_adj_file_id(self, file_id): """DELETE /worksheet-adjustments/statement-period-adjustment-file/ .""" endpoint = ( '{}/worksheet-adjustments/statement-period-adjustment-file/{}' ).format(self.base_url, file_id) return requests.delete(endpoint, headers=self.headers) def get_adjustment_and_details_by_file_id(self, file_id): """GET .../adjustments-and-details .""" endpoint = ( '{}/worksheet-adjustment/statement-period-adjustment-file/' '{}/adjustments-and-details' ).format(self.base_url, file_id) return requests.get(endpoint, headers=self.headers) def get_pending_worksheet_adjustments(self, params=None): """GET /worksheet-adjustments/pending .""" endpoint = '{}/worksheet-adjustments/pending'.format(self.base_url) return requests.get(endpoint, headers=self.headers, params=params) def get_worksheet_adjustments_contracts_by_file_id(self, file_id, params=None): """GET /worksheet-adjustments/statement-period-adjustment-file//contracts .""" endpoint = '{}/worksheet-adjustments/statement-period-adjustment-file/{}/contracts'.format( self.base_url, file_id ) return requests.get(endpoint, headers=self.headers, params=params) def get_worksheet_adjustments_accounts_by_file_id(self, file_id, params=None): """GET /worksheet-adjustments/statement-period-adjustment-file//accounts .""" endpoint = '{}/worksheet-adjustments/statement-period-adjustment-file/{}/accounts'.format( self.base_url, file_id ) return requests.get(endpoint, headers=self.headers, params=params)