import { Alert } from "react-native"; // Lodash import _ from 'lodash'; // Http Client import axios from 'axios'; // Network Infos import NetInfo from "@react-native-community/netinfo"; // Translations import i18n from "../../I18n"; // Database import { Setting } from "../../Database"; // FileSytem import * as FileSystem from 'expo-file-system'; const api_token = 'toto'; class InstallController { getConfig(url) { NetInfo.fetch().then(state => { if (state.isConnected) { axios({ method: 'GET', url: url + '/api/settings', responseType: 'json', params: { token: api_token }, }) .then(function (response) { if (response.data) { if (response.data.status === "OK") { _.forEach(response.data.datas, function (value, key) { switch (key) { case "MainColor": Setting.upsert({ key: key, value: value }); break; case "SquaredLogo": case "RectangleLogo": case "BackgroundImage": case "HomeButtonImage": FileSystem.downloadAsync( url + "/" + value, FileSystem.documentDirectory + key + '.png' ) .then(({ uri }) => { console.log('Finished downloading to ', uri); }) .catch(error => { Alert.alert(i18n.t("alert.error"), i18n.t("install.resource_dl_error") + key); console.error(error); }); break; } }); Alert.alert(i18n.t("alert.info"), i18n.t("install.install_complete")); } else { Alert.alert(i18n.t("alert.error"), i18n.t("error.error_has_occurred")); } } }) .catch(function (error) { console.log(error) Alert.alert(i18n.t("alert.error"), i18n.t("error.error_has_occurred")); }) } else { Alert.alert(i18n.t("alert.error"), i18n.t("error.tablet_not_connected_internet")); } }); } getAppConfig(url) { NetInfo.fetch().then(state => { if (state.isConnected) { axios({ method: 'GET', url: url + '/api/app', responseType: 'json', params: { token: api_token }, }) .then(function (response) { if (response.data) { if (response.data.status === "OK") { Setting.upsert({ key: 'HomeFolders', value: JSON.stringify(response.data.datas.folders) }); Alert.alert(i18n.t("alert.info"), i18n.t("install.install_complete")); } else { Alert.alert(i18n.t("alert.error"), i18n.t("error.error_has_occurred")); } } }) .catch(function (error) { console.log(error) Alert.alert(i18n.t("alert.error"), i18n.t("error.error_has_occurred")); }) } else { Alert.alert(i18n.t("alert.error"), i18n.t("error.tablet_not_connected_internet")); } }); } } export default new InstallController();