getAllPageFromBlog method
getAllPageFromBlog This function will return all Pages in the blog
We need to pass BlogId and ApiKey and MaxResult Max page data
if the statusCode is 200 then the API call is Successful elase the will be updated in BlogsModel.error field.
if PageModel.error is null then your all is Successful.
As of the API Not return Page Comments so Replies is null for all the pages
Implementation
Future<PageModel> getAllPageFromBlog({
required String blogId,
required String apiKey,
int maxresult = 10,
}) async {
PageModel pageModel = PageModel(error: 'API Call Failed');
List<PostItemModel>? items = [];
try {
print('$blogApiUrlByid/$blogId/pages?maxresult=$maxresult&key=$apiKey');
final res = await http.get(Uri.parse(
'$blogApiUrlByid/$blogId/pages?maxResults=$maxresult&key=$apiKey'));
switch (res.statusCode) {
/// if the status code is 2000 then you API call is Successful and we got the datat from server
case 200:
if (jsonDecode(res.body)['items'] != null) {
for (int i = 0; i < jsonDecode(res.body)['items'].length; i++) {
PostItemModel postItemModel = PostItemModel.fromJson(
jsonEncode(jsonDecode(res.body)['items'][i]))
.copyWith(
replies: Replies(
postComments: [], selfLink: '', totalItems: 0));
items.add(postItemModel);
}
pageModel = PageModel(
error: null,
etag: jsonDecode(res.body)['etag'],
kind: jsonDecode(res.body)['kind'],
items: items,
);
} else {
/// it means no items in the Blog
pageModel = PageModel(
error: null,
etag: jsonDecode(res.body)['etag'],
kind: jsonDecode(res.body)['kind'],
items: items,
);
}
break;
default:
/// we got some error so it;s update in [Error] column
pageModel = PageModel(error: res.body, items: null);
}
} catch (e) {
/// we got some error so it;s update in [Error] column
pageModel = PageModel(error: e.toString());
}
return pageModel;
}