import {Log} from "fme-logger";
var L = new Log("FreeBarchart");
import * as _m from "moment-timezone";
import {FmeQuote} from "fme-quotes-models";
const MongoClient = require('mongodb').MongoClient;

var key = require("/root/keys/free-barchart.json").key;

import {FreeBarchart} from "./free-barchart";
var symbols = ["SPY","ES","NQ","GC","YM","CL"];
var tgtDate = _m("2018-05-30").toDate();


L.info("key is",key);
var mongoURL = 'mongodb://localhost:27017/quotes'





MongoClient.connect(mongoURL, async (err:any,client:any) => {
    var db = client.db();
    for (var index in symbols) {
        var symbol = symbols[index];
        var qSymbol = symbol+"*1";
        var dbSymbol = symbol.toLowerCase()+"_1";
        var bc = new FreeBarchart(key,qSymbol,"minutes",1,tgtDate);
        var quotes =  db.collection(dbSymbol);
        var q = await bc.getDailyMinutes() as FmeQuote[];
        L.info("Returned quote",q.length);
        for (var i=0;i<q.length;i++) {
            var resp = await quotes.update({timestamp:q[i].timestamp},q[i],{upsert:true});
            if (i % 10 == 0) L.info("Saving quotes",i,resp);
        }
    }
    L.info("done");
})



setInterval( () => {
    L.info("About to get ES history");
  //  poll()
},1000*60*1000)