'use strict' const console = process.console const yamlConfig = require('node-yaml-config') const path = require('path') const async = require('async') const config = yamlConfig.load(path.join(__dirname, '/../../config/config.yml')) const lib = require('../lib') // lib.authorize() // lib.listEvents() // lib.createEvent() const url = config.server.url const port = config.server.port function strToTime(date) { var strDate = new Date(date) return strDate.getTime() } function ggToKendo(data) { var dataToArr = [] try { for (var n = 0; n < data.items.length; n++) { dataToArr.push({ "TaskID": data.items[n].etag, "OwnerID": 2, "Title": data.items[n].summary, "Description": data.items[n].description, "StartTimezone": "Asia/Bangkok", "Start": new Date(data.items[n].start.dateTime), "End": new Date(data.items[n].end.dateTime), "EndTimezone": "Asia/Bangkok", "RecurrenceRule": null, "RecurrenceID": null, "RecurrenceException": null, "IsAllDay": false }) } } catch (error) { console.error(error.message) } finally { return dataToArr } } function home(req, res) { res.render('index') } function index(req, res) { lib.getNewToken((err, authUrl) => { if (err) { console.error(err.message) } else { res.send(authUrl) } }) } function setToken(req, res) { var code = req.body.code lib.setNewToken(code, (err, token) => { if (err) { res.send(err) res.end() } else { res.send(token) res.end() } }) } function events(req, res) { lib.authorize((err, auth, authUrl) => { if (err) { res.send(err) } else if (authUrl) { console.info(authUrl) res.send(authUrl) res.end() } else { lib.listEvents(auth, (err, response) => { if (err) { res.send(err) } else { res.jsonp(ggToKendo(response)) } }) } }) } function create(req, res) { let payload = req.body let summary = payload.summary let description = payload.description let email = payload.email let startDate = payload.startDate let startTimezone = payload.startTimezone let endDate = payload.endDate let endTimezone = payload.endTimezone let extendedProperties = payload.extendedProperties lib.authorize((err, auth) => { let options = lib.eventBuilder(payload) if (err) { res.send(err) } else { options.auth = auth } lib.createEvent(options, (err, result) => { if (err) { res.send(err) } else { res.send(result) } }) }) } module.exports.index = index module.exports.events = events module.exports.create = create module.exports.home = home module.exports.setToken = setToken