home.controller.js 1.61 KB
'use strict'

const console = process.console
const yamlConfig = require('node-yaml-config')
const path = require('path')
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
const urlto = config.server.urlto
const portto = config.server.portto

function index(req, res) {
    res.send({
        message: 'Google Calendar API',
        endpoint: {
            listEvents: 'GET /events',
            createEvent: 'POST /events'
        }
    })
}

function events(req, res) {
    lib.authorize((err, auth) => {
        if (err) {
            res.send(err)
        }
        lib.listEvents(auth, (err, response) => {
            if (err) {
                res.send(err)
            } else {
                res.send(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 endDate = payload.endDate

    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