home.controller.js
3.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
'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