application-amicale/utils/WebDataManager.js

42 lines
1 KiB
JavaScript

import {Toast} from "native-base";
export default class WebDataManager {
FETCH_URL : string;
lastDataFetched : Object = {};
constructor(url) {
this.FETCH_URL = url;
}
async readData() {
let fetchedData : Object = {};
try {
let response = await fetch(this.FETCH_URL);
fetchedData = await response.json();
} catch (error) {
console.log('Could not read FetchedData from server');
console.log(error);
}
this.lastDataFetched = fetchedData;
return fetchedData;
}
isDataObjectValid() {
return Object.keys(this.lastDataFetched).length > 0;
}
showUpdateToast(successString, errorString) {
let isSuccess = this.isDataObjectValid();
if (!isSuccess) {
Toast.show({
text: isSuccess ? successString : errorString,
buttonText: 'OK',
type: isSuccess ? "success" : "danger",
duration: 2000
});
}
}
}