DBhelper.js 3.25 KB
// Define your models and their properties
import Realm from 'realm'

class Waste {}
Waste.schema = {
  name: 'Waste',
  properties: {
    weight: 'int',
    diff: 'int',
    date: 'float',
  }
};

class ID {}
ID.schema={
  name:'ID',
  properties:{
    id : 'string',
  }
};

export function registerID(_id){
  if(_id != ''){
    realm.write(()=>{
    let user = realm.create('ID',{id:_id});
    console.log('success')
  });
  } 
}

export function getId(){
  let user = realm.objects('ID');
  console.log(user.length);
  if(user.length>0)
    return true;
  return false;
}

export function deleteId(){
  let user = realm.objects('ID');
  realm.write(()=>{
    realm.delete(user);
    console.log('success')
  })
}

// Get the default Realm with support for our objects
let realm = new Realm({schema: [Waste, ID]});
export function add_data(responseJson){
   for(i = 0; i < responseJson.length; i++){
        realm.write(() => {
            // responseJson[0].ras_id.S
            let myWaste = realm.create('Waste', {
                weight: parseFloat(responseJson[i].weight.N),
                diff: parseFloat(responseJson[i].diff.N),
                date: parseFloat(responseJson[i].save_date.S),
            });
          });
        
        console.log(responseJson[i].save_date.S)
    }
    return responseJson.length;
}

export function get_now_weight(){
    let wastes = realm.objects('Waste');
    let recent = wastes.max('date');
    
    var recentWeight = wastes.filtered('date = $0', recent);
    console.log("now_weight",recentWeight)
    if(recentWeight.length != 0)
      return recentWeight[0].weight;
    else return 0;
}

export function get_last_update(){
    let recent = realm.objects('Waste').max('date');
    let recentWeight = wastes.filtered('date = %0', recent);
    console.log(recentWeight[0].weight)
    return recentWeight[0].weight;
}

export function get_recent_date(){
    
    return realm.objects('Waste').max("date");
}

// export function get_today_data(today){
//     let wastes = realm.objects('Waste');
//     var list = [];
//     for(var i =0; i<wastes.length; i++){
//       if(get_date(wastes[i].date) == get_date(today)){
//         temp = [waste[i].date, waste[i].diff, waste[i].weight]
//         list.append(temp);
//       } 
//     }
//     return list;
//   }

export function get_today_data(){
  var today_start = get_today_start();
  console.log("today_start: ",today_start)
  let wastes = realm.objects('Waste').filtered('date >= $0',today_start);
  var list = [];
  for(var i = 0; i < wastes.length; i++){
    var save_time = new Date(wastes[i].date);
    var temp = [save_time.getHours()+":"+save_time.getMinutes()+":"+save_time.getSeconds(), wastes[i].diff, wastes[i].weight+"g"]
    list.push(temp);
  }
  console.log(list);
  console.log("count:", wastes.length)
  return list;
}

export function delete_all_data(today){
    let all_wastes = realm.objects('Waste');
    realm.write(() => {
      realm.delete(all_wastes);
    })
    var wastes = realm.objects('Waste')
    console.log("delete, count: ", wastes.length)
}

function get_today_start(){
  var today = new Date();
  var dd = today. getDate();
  var mm = today.getMonth();
  var yyyy = today. getFullYear();

  var togettime = new Date(2019,11,13).getTime();
  console.log(togettime)
  return togettime;
}