236 lines
7.8 KiB
JavaScript
Executable File
236 lines
7.8 KiB
JavaScript
Executable File
import React, { Component } from 'react';
|
|
var DBEvents=require('react-native-db-models').DBEvents;
|
|
import I18n from 'react-native-i18n'
|
|
import {db} from './persistences/db';
|
|
import {configActionUrl,isDebugMode,adhesionUrl,locationActionUrl,memberActionUrl,networkActionUrl,demandeActionUrl} from "./IlinkConstants"
|
|
|
|
import Configuration from './persistences/Configuration';
|
|
var serializeJSON = function(data) {
|
|
|
|
return Object.keys(data).map(function (keyName) {
|
|
return encodeURIComponent(keyName) + '=' + encodeURIComponent(data[keyName])
|
|
}).join('&');
|
|
|
|
};
|
|
export const getCodeInformation=(code)=>{
|
|
var data={"tag":'member',"type":"agen_info_code","code":code,
|
|
"lang":I18n.currentLocale()};
|
|
|
|
return queryData(data,memberActionUrl)
|
|
}
|
|
export const getPubActiveObject=(idcpuntry)=>{
|
|
return queryData({"tag":"get_pub","id_country":idcpuntry},configActionUrl);
|
|
|
|
}
|
|
export const getPasObject=()=>{
|
|
return queryData({"tag":"get_pas"},configActionUrl);
|
|
}
|
|
function queryAuth(data) {
|
|
return timeout(50000,queryData(data,adhesionUrl))
|
|
}
|
|
async function queryData(data,url){
|
|
|
|
data["lang"]=I18n.currentLocale()
|
|
data["isTest"]=isDebugMode
|
|
let response= await fetch(url,{
|
|
method: 'POST',
|
|
headers: {
|
|
Accept: 'application/json',
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify(data),
|
|
});
|
|
let responseJson=null;
|
|
let responseText=await response.text()
|
|
try {
|
|
responseJson =JSON.parse(responseText)
|
|
}catch(e){
|
|
console.log(responseText)
|
|
return {"error":"error","error_msg":responseText}
|
|
}
|
|
return responseJson;
|
|
|
|
}
|
|
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 validateUser=(user)=>{
|
|
var data={"tag":'member',"type":"valider_simple","phone":user.phone,
|
|
"lang":I18n.currentLocale()};
|
|
return queryData(data,memberActionUrl)
|
|
};
|
|
export const updatePosition=async (longitude,latitude)=>{
|
|
const user=await readUser()
|
|
const data={'tag':'member','type':'update_position',"agentId":user['agentId'],"longitude":longitude,latitude:latitude}
|
|
return queryData(data,memberActionUrl)
|
|
}
|
|
export const valifateAgent=(user,info)=>{
|
|
var data=info;
|
|
if(data===null)data={}
|
|
data["tag"]="member";
|
|
data['type']="validate_agent";
|
|
data["phone"]=user.phone;
|
|
data['code_validation']=user.validation_code;
|
|
if(user.category==="super" && (info===null || (info!==null && (info.nbre_code===undefined || info.nbr_code===null)))){
|
|
data["nbre_code"]=10;
|
|
data["nbre_code_superviseur"]=0
|
|
}else if(info===null || (info!==null && (info.nbre_code===undefined || info.nbre_code===null))){
|
|
data["nbre_code"]=0;
|
|
data["nbre_code_superviseur"]=0
|
|
}
|
|
console.log(data);
|
|
|
|
return queryData(data,memberActionUrl)
|
|
}
|
|
|
|
export const disconnect=()=>{
|
|
return new Promise((resolve,reject)=>{
|
|
readBrutUser().then((user)=>{
|
|
|
|
db.remove({"_id": user._id},{multi:true},(error,numRemoved)=>{
|
|
if(error!==null){
|
|
reject(error)
|
|
}else {
|
|
console.log(numRemoved)
|
|
if (numRemoved > 0) {
|
|
resolve()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})
|
|
}
|
|
|
|
export const login=(phone:String,password:String,type:Number)=>{
|
|
const configuration=new Configuration()
|
|
var data={"tag":type===0?"login_user":"login_agent","phone":phone,"password":password,"lang":configuration.getCurrentLangue()};
|
|
|
|
return queryAuth(data)
|
|
}
|
|
|
|
export const reinitpassword=($phone,$type)=>{
|
|
var data={"tag":"forgot_pass","number":$phone,"typeaccount":$type,"lang":I18n.currentLocale()};
|
|
return queryAuth(data)
|
|
}
|
|
export const updateUserData=async (data)=>{
|
|
const user=await readUser()
|
|
user.longitude=data.longitude
|
|
user.latitude=data.latitude
|
|
db.update({"user":{$exists:true}},{user:user},{}, function (err, numReplaced) {
|
|
console.warn(err,numReplaced)
|
|
})
|
|
/* new Promise((resolve,reject)=>{
|
|
readBrutUser().then((user)=>{
|
|
db.remove({"_id": user._id},{multi:true},(error,numRemoved)=>{
|
|
if(error!==null){
|
|
reject(error)
|
|
}else {
|
|
let muser=user
|
|
|
|
db.insert(muser, function(err){
|
|
if(err!==null) {
|
|
console.log("error when save user")
|
|
console.log(err)
|
|
}
|
|
|
|
})
|
|
console.log(numRemoved)
|
|
if (numRemoved > 0) {
|
|
resolve()
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})*/
|
|
|
|
}
|
|
export const saveNewuser=(muser)=>{
|
|
let user={
|
|
user:muser
|
|
}
|
|
db.insert(user, function(err){
|
|
if(err!==null) {
|
|
console.log("error when save user")
|
|
console.log(err)
|
|
}
|
|
|
|
})
|
|
}
|
|
|
|
const readBrutUser=()=>{
|
|
return new Promise((resolve, reject)=> {
|
|
db.findOne({"user":{$exists:true}},(err,result)=>{
|
|
if(err!==null || result===null || result.user===undefined) {
|
|
resolve(null)
|
|
}else{
|
|
if(result.user===null){resolve(null)}
|
|
else
|
|
resolve(result)};})});
|
|
}
|
|
|
|
export const readUser=()=>{
|
|
return new Promise((resolve, reject)=> {
|
|
db.findOne({"user":{$exists:true}},async (err,result)=>{
|
|
if(err!==null || result===null || result.user===undefined) {
|
|
resolve(null)
|
|
}else {
|
|
if (result.user === null) {
|
|
resolve(null)
|
|
}
|
|
else {
|
|
|
|
resolve(result.user)
|
|
}
|
|
}})});
|
|
}
|
|
export const createGeolocatedAccount=(user)=>{
|
|
|
|
return queryData(user,memberActionUrl)
|
|
}
|
|
export const createUserAccount=(user)=>{
|
|
return queryData(user,memberActionUrl)
|
|
}
|
|
|
|
export const acceptDemandAdhesion=(data)=>{
|
|
return queryData({"tag":"member","type":"activeSupervisor","code":data.code_membre,"phone":data.phone},memberActionUrl)
|
|
}
|
|
export const deleteUser=async (data)=>{
|
|
return queryData({"tag":"member","type":"deleteAgent","code":data.code_membre,"phone":data.phone},memberActionUrl)
|
|
}
|
|
export const listDemandAdhesion=async ()=>{
|
|
const user=await readUser();
|
|
const items=await queryData({"type":"list_demande_adhesion","tag":"member","codeparrain":user.code_membre},memberActionUrl)
|
|
return items;
|
|
}
|
|
export const categoryChild=async (code)=>{
|
|
const codes=await queryData({"type":"get_category_child","tag":"member","codeparrain":code},memberActionUrl)
|
|
|
|
return codes;
|
|
}
|
|
export const getListCountriesActive=async ()=>{
|
|
const countries=await queryData({"tag":"avail_countries"},networkActionUrl);
|
|
return countries;
|
|
|
|
}
|
|
export const getCountryNetwork=(country)=>{
|
|
console.warn(country)
|
|
return queryData({"tag":'listnetworkscountryindicatif', 'indicatif':country},networkActionUrl)
|
|
}
|
|
export const getTownInformationName=(town)=>{
|
|
return queryData({"tag":"town_information_name","name":town},locationActionUrl);
|
|
}
|
|
export const generateAgentGeo=async (newPhone)=>{
|
|
const user=await readUser();
|
|
const items=await queryData({"type":"generateNetworkAgentForGeo","tag":"member","code_parrain":user.code_membre,'phone':newPhone},memberActionUrl)
|
|
return items;
|
|
}
|
|
export const AssignAgentGeo=async (codeValidation,phone)=>{
|
|
const user=await readUser();
|
|
const items=await queryData({"type":"assignNetworkAgentToGeo","tag":"member","agentId":user.agentId,'code_parrain':codeValidation,"phone":phone},memberActionUrl)
|
|
return items;
|
|
} |