Skip to content

[BUG]: Unable to specify data format when getting report by id #8

@StevanFreeborn

Description

@StevanFreeborn

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)

Metadata

Metadata

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions