236 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			236 lines
		
	
	
		
			7.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| 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;
 | |
| } |