feat: begin implementing getReportsByAppId method

This commit is contained in:
Stevan Freeborn
2023-02-08 16:38:36 +00:00
parent b6605a4275
commit f0aeb51f60
7 changed files with 142 additions and 4 deletions
+24
View File
@@ -9,10 +9,12 @@ import { FileInfo } from './FileInfo';
import { FormulaField } from './FormulaField';
import { GetPagedAppsResponse } from './GetPagedAppsResponse';
import { GetPagedFieldsResponse } from './GetPagedFieldsResponse';
import { GetPagedReportsResponse } from './GetPagedReportsResponse';
import { ListField } from './ListField';
import { ListItemResponse } from './ListItemResponse';
import { ListValue } from './ListValue';
import { ReferenceField } from './ReferenceField';
import { Report } from './Report';
/**
* @class ApiResponse - A generic response object for API requests.
@@ -275,6 +277,28 @@ export class ApiResponse<T> {
);
}
public asGetPagedReportsResponseType(): ApiResponse<GetPagedReportsResponse> {
const apiResponse = this as ApiResponse<any>;
const reports = apiResponse.data.items.map((item: any) => {
return new Report(item.id, item.appId, item.name, item.description);
});
const getPagedReportsResponse = new GetPagedReportsResponse(
reports,
apiResponse.data.pageNumber,
apiResponse.data.pageSize,
apiResponse.data.totalPages,
apiResponse.data.totalRecords
);
return new ApiResponse<GetPagedReportsResponse>(
apiResponse.statusCode,
apiResponse.message,
getPagedReportsResponse
);
}
/**
* @method asFileCollectionType - Converts the field item to the appropriate field object based upon the field item's type.
* @param fieldItem - The field item to convert.