We pass data format with name dataType:
|
class GetReportByIdRequest: |
|
""" |
|
An object to represent the necessary information to make a successful request to get a report by it's id. |
|
|
|
Attributes: |
|
reportId (`int`): The id of the report. |
|
apiDataFormat (`str`): The format of the data in the report. |
|
dataType (`str`): The data type for the report. |
|
""" |
|
|
|
def __init__(self, reportId: int, apiDataFormat: str=DataFormat.Raw.name, dataType: str=ReportDataType.ReportData.name): |
|
self.reportId:int = reportId |
|
self.apiDataFormat:str = apiDataFormat |
|
self.dataType:str = dataType |
However needs to be sent to onspring API as dataFormat:
|
def GetReportById(self, getReportByIdRequest: GetReportByIdRequest) -> ApiResponse: |
|
""" |
|
Get a report by its id. |
|
|
|
Parameters: |
|
getReportByIdRequest (`Models.GetReportByIdRequest`): An object that contains all the necessary information for making a successful request. |
|
|
|
Returns: |
|
An ApiResponse (`Models.ApiResponse`) containing the results of the request. |
|
""" |
|
|
|
endpoint = GetReportByIdEndpoint( |
|
self.baseUrl, getReportByIdRequest.reportId) |
|
|
|
params = getReportByIdRequest.__dict__ |
|
del params['reportId'] |
|
|
|
response = requests.request( |
|
'GET', |
|
endpoint, |
|
headers=self.headers, |
|
params=params) |
|
|
|
if response.status_code == 400: |
|
|
|
return ApiResponse( |
|
response.status_code, |
|
message='Invalid request based on underlying data', |
|
raw=response) |
|
|
|
if response.status_code == 401: |
|
|
|
return ApiResponse( |
|
response.status_code, |
|
message='Unauthorized request', |
|
raw=response) |
|
|
|
if response.status_code == 403: |
|
|
|
jsonResponse = dict(response.json()) |
|
|
|
return ApiResponse( |
|
response.status_code, |
|
message=jsonResponse.get('message'), |
|
raw=response) |
|
|
|
if response.status_code == 404: |
|
|
|
return ApiResponse( |
|
response.status_code, |
|
message='Report could not be found', |
|
raw=response) |
|
|
|
if response.status_code == 200: |
|
|
|
jsonResponse = dict(response.json()) |
|
|
|
rows = [] |
|
|
|
for row in jsonResponse.get('rows'): |
|
|
|
row = dict(row) |
|
|
|
row = Row( |
|
row.get('recordId'), |
|
row.get('cells')) |
|
|
|
rows.append(row) |
|
|
|
data = GetReportByIdResponse( |
|
jsonResponse.get('columns'), |
|
rows) |
|
|
|
return ApiResponse( |
|
response.status_code, |
|
data=data, |
|
raw=response) |
|
|
|
return ApiResponse( |
|
response.status_code, |
|
raw=response) |
We pass data format with name
dataType:onspring-api-sdk-python/src/OnspringApiSdk/Models.py
Lines 1104 to 1117 in 2e4c1eb
However needs to be sent to onspring API as
dataFormat:onspring-api-sdk-python/src/OnspringApiSdk/OnspringClient.py
Lines 1528 to 1608 in 2e4c1eb