feat: implement getFieldsByAppId method

This commit is contained in:
StevanFreeborn
2023-02-03 11:45:15 -06:00
parent 0559f60726
commit 59a12cb8b6
6 changed files with 84 additions and 5 deletions
+31
View File
@@ -2,6 +2,7 @@ import { App } from './App';
import { CollectionResponse } from './CollectionResponse';
import { Field } from './Field';
import { GetPagedAppsResponse } from './GetPagedAppsResponse';
import { GetPagedFieldsResponse } from './GetPagedFieldsResponse';
/**
* @class ApiResponse - A generic response object for API requests.
@@ -164,4 +165,34 @@ export class ApiResponse<T> {
collectionResponse
);
}
AsGetPagedFieldsResponseType(): ApiResponse<GetPagedFieldsResponse> {
const apiResponse = this as ApiResponse<any>;
const fields = apiResponse.data.items.map((item: any) => {
return new Field(
item.id,
item.appId,
item.name,
item.type,
item.status,
item.isRequired,
item.isUnique
);
});
const getPagedFieldsResponse = new GetPagedFieldsResponse(
fields,
apiResponse.data.pageNumber,
apiResponse.data.pageSize,
apiResponse.data.totalPages,
apiResponse.data.totalRecords
);
return new ApiResponse<GetPagedFieldsResponse>(
apiResponse.statusCode,
apiResponse.message,
getPagedFieldsResponse
);
}
}