import React, {Component} from 'react'; var db = require('./persistences/db.js'); import I18n from 'react-native-i18n' import {readUser} from './AuthApi' import {isDebugMode, MARKER_URL, mobileAppVersion, opencageDataApiUrl} from "./IlinkConstants"; // let GEOCODDING_URL = "https://test-city.ilink-app.com:8081/geocode"; let GEOCODDING_URL = "https://test-cud.ilink-app.com:9081/geocode"; let API_KEY = "AIzaSyAme0ZMQjUynvo6AeSVlMRzUPdcOSuPbZE" export const getLocalMarkers = () => { return db.markers.get_all() } export const getMakersFrom = function (country) { let tag = {tag: 'location', type: 'all', country: country} return timeout(15000, queryMap(tag)) } function timeout(ms, promise) { return new Promise(function (resolve, reject) { setTimeout(function () { reject(new Error(I18n.t("TEXT_NETWORK_UNABLE"))) }, ms) promise.then(resolve, reject) }) } export const loadMarkers = (position, reseau, distance, page) => { return readUser().then((users) => { let user = users; if (user !== undefined) { let tag = { tag: 'location', type: 'around', page: page, id: user.id, position: position, network: reseau, distance: distance } return queryMap(tag) } }); } export const loadGroupeAgent = (member_code) => { let data = {tag: 'location', type: 'all_network', codeparrain: member_code} return queryMap(data) } export const loadNetwork = (network, userid) => { let data = {tag: 'location', type: "all_network_point", id: userid, network: network} return queryMap(data) } export const getPositionInformation = async (position) => { let url = GEOCODDING_URL.concat('?latitude=' + position.latitude + "&longitude=" + position.longitude + "&mobile_app_version=" + mobileAppVersion); console.log("GEOCODING", url); const data = fetch(url, { method: 'GET', headers: { Accept: 'application/json', 'Content-Type': 'application/json', } }) .then((response) => response.json()) .then((responseJson) => responseJson ).catch((error) => { console.log("error get position") console.log(error) }); console.warn("freud", data); return data; } export const getOpenCagePositionInformation = async (position) => { let url = `${opencageDataApiUrl}&q=${position.latitude}+${position.longitude}`; const data = fetch(url, { method: 'GET', headers: { Accept: 'application/json', 'Content-Type': 'application/json', }, }) .then((response) => response.json()) .then((responseJson) => responseJson ).catch((error) => { console.log("error get position") console.log(error) }); return data; } const queryMap = async (data) => { data['lang'] = I18n.currentLocale() data["test"] = isDebugMode let response = await fetch(MARKER_URL, { method: 'POST', headers: { Accept: 'application/json', 'Content-Type': 'application/json', }, body: JSON.stringify(data), }); let responseText = await response.text() //console.log("response= " + responseText) try { let responseJson = JSON.parse(responseText); console.warn("JSON RESPONSE", responseJson); return responseJson; } catch (e) { //console.log("erreur=" + responseText) //console.log(response) throw new Error("Erreur lors de la conversion en json") } throw new Error("Erreur lors de la conversion en json") }