-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtestapi.js
More file actions
280 lines (236 loc) · 9.17 KB
/
testapi.js
File metadata and controls
280 lines (236 loc) · 9.17 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
const axios = require('axios')
const sqlite = require('sqlite3').verbose()
// const db = new sqlite.Database('../../fullstack/FRCScoutingSystem/ScoutingServer/./test.db', sqlite.OPEN_READWRITE, (err) => {
// if (err)
// console.error(err)
// })
const db = new sqlite.Database('./test.db', sqlite.OPEN_READWRITE, (err) => {
if (err)
console.error(err)
})
require('dotenv').config()
const fs = require('fs')
var url = 'https://www.thebluealliance.com/api/v3'
// console.log(new Date())
// var sql = `INSERT INTO teams (teamNumber, teamName, teamKey) VALUES (?, ?, ?)`
// var sql = `INSERT INTO games (name, location, date, key) VALUES (?, ?, ?, ?)`
// var sql = `INSERT INTO matches (gameId, matchId, teamNumber, key) VALUES (?, ?, ?, ?)`
// var sql = `PRAGMA foreign_keys`
// db.get(sql, (err, res) => {
// if (err) {
// console.log(err)
// }
// if (res) {
// console.log(res)
// }
// })
// for (var j = 0; j < 1; j++) {
// // axios.get(`${url}/teams/${j}/simple`, {
// // axios.get(`${url}/events/2022/simple`, {
// axios.get(`${url}/events/2022/simple`, {
// headers: {'X-TBA-Auth-Key': process.env.KEY}
// })
// .then(response => {
// for (var i = 0; i < response.data.length; i++) {
// // db.run(sql, [response.data[i].team_number, response.data[i].nickname, response.data[i].key])
// // db.run(sql, [response.data[i].name, response.data[i].city, response.data[i].start_date, response.data[i].key])
// // db.run(sql, [28, response.data[i].match_number, response.data[i].alliances.red.team_keys[0], response.data[i].key])
// // db.run(sql, [28, response.data[i].match_number, response.data[i].alliances.red.team_keys[1], response.data[i].key])
// // db.run(sql, [28, response.data[i].match_number, response.da88ta[i].alliances.red.team_keys[2], response.data[i].key])
// // db.run(sql, [28, response.data[i].match_number, response.data[i].alliances.blue.team_keys[0], response.data[i].key])
// // db.run(sql, [28, response.data[i].match_number, response.data[i].alliances.blue.team_keys[1], response.data[i].key])
// // db.run(sql, [28, response.data[i].match_number, response.data[i].alliances.blue.team_keys[2], response.data[i].key])
// console.log(response.data[i].alliances.blue.team_keys[0])
// console.log(response)
// })
// .catch(error => {
// console.log(error);
// })
// // console.log(`Logged page ${j}`)
// }
// const express = require('express')
// const morgan = require('morgan')
// const Writable = require('stream').Writable
// const fs = require('fs')
// const path = require('path')
// const app = express()
// const port = 4000
// let logStream = fs.createWriteStream(path.join(`${__dirname}/logs`, `Logs_${new Date()}.log`), { flags: 'a' })
// // setup the logger
// app.use(morgan('combined', {
// stream: logStream
// }))
// class MyStream extends Writable {
// write(line) {
// // Here you send the log line to wherever you need
// console.log('Logger - ', line)
// }
// }
// // Create a new named format
// morgan.token('timed', 'A new :method request for :url was received. ' +
// 'It took :total-time[2] milliseconds to be resolved')
// let writer = new MyStream()
// // Use the new format by name
// app.use(morgan('timed', {
// stream: writer
// }))
// app.get('/', function(req, res) {
// res.send('Hello, World!!!')
// })
// app.get('/ayo', function(req, res) {
// res.send('ayo, World!!!')
// })
// app.listen(port, () => {
// console.log(`Sample app listening at http://localhost:${port}`)
// })
// var sql = `SELECT * FROM data ORDER BY id`
// Manager.db.each(sql, (err, row) => {
// if (err) {
// console.error(err)
// }
// console.log(row)
// })
// const map = new Map()
// map.set({'num': 0, 'uuid':'3243423'}, 'asdf')
// map.set({'num': 1, 'uuid':'3243423'}, 'asadf')
// map.set({'num': 2, 'uuid':'3243423'}, 'afssdf')
// map.set({'num': 3, 'uuid':'3243423'}, 'asddf')
// map.set({'num': 5, 'uuid':'3243423'}, 'asdfaf')
// map.set({'num': 4, 'uuid':'3243423'}, 'asdsf')
// map.set(4, '4')
// map.set(2, '2')
// map.set(1, '1')
// map.set(3, '3')
// map.set(0, '0')
// map.set(5, '5')
// map.set(6, '6')
// for (var i = 0; i < 6; i++)
// console.log(map.get(i))
// map.forEach((value, key) => {
// console.log(`${key.num}: ${value}`)
// })
// var createData = `
// CREATE TABLE data (
// uuid PRIMARY KEY,
// matchKey NOT NULL,
// scouterName TEXT ONLY VARCHAR(25) NOT NULL,
// startTime INTEGER NOT NULL,
// scoutReport VARCHAR(5000),
// notes BLOB VARCHAR (250),
// UNIQUE (matchKey, scouterName, scoutReport),
// FOREIGN KEY(matchKey) REFERENCES matches(key),
// FOREIGN KEY(scouterName) REFERENCES scouters(name)
// );`
// db.serialize(() => {
// db.run('DROP TABLE IF EXISTS `data`', ((err) => {if (err){console.log(`dropData ${err}`)}}))
// db.run(createData, ((err) => {if (err){console.log(`createData ${err}`)}}))
// })
// let data = fs.readFileSync(`${__dirname}/scouters/./scouters.json`, 'utf8', (err) => {
// if (err) {
// return 'Error reading scouters file'
// }
// })
// data = JSON.parse(data)
// for (var i = 0; i < data.scouters.length; i++) {
// console.log(data.scouters[i].name)
// }
var createMatches = `CREATE TABLE matches (key PRIMARY KEY, tournamentKey TEXT ONLY NOT NULL, matchNumber INTEGER, teamKey TEXT ONLY, matchType TEXT ONLY NOT NULL, UNIQUE (tournamentKey, teamKey, matchType, matchNumber), FOREIGN KEY(tournamentKey) REFERENCES tournaments(key), FOREIGN KEY(teamKey) REFERENCES teams(key));`
db.serialize(() => {
db.run('DROP TABLE IF EXISTS `matches`', ((err) => {if (err){console.log(`dropMatches ${err}`)}}))
db.run(createMatches, ((err) => {if (err){console.log(`createMatches ${err}`)}}))
})
// db.serialize(() => {
// db.run('DROP TABLE IF EXISTS `matches`', ((err) => {if (err){console.log(`dropMatches ${err}`)}}))
// db.run(createMatches, ((err) => {if (err){console.log(`createMatches ${err}`)}}))
// })
/*
var createScouters = `
CREATE TABLE scouters (
name TEXT ONLY PRIMARY KEY,
phoneNumber INTEGER,
email VARCHAR(100),
UNIQUE (name)
)`
db.serialize(() => {
db.run('DROP TABLE IF EXISTS `scouters`', ((err) => {if (err){console.log(`dropScouters ${err}`)}}))
db.run(createScouters, ((err) => {if (err){console.log(`createScouters ${err}`)}}))
})
getScouters()
async function getScouters() {
let sql = `INSERT INTO scouters (name, phoneNumber, email) VALUES (?,?,?)`
var scouters = getScouters()
async function insertScouter(sql, scout, i) {
return new Promise((resolve, reject) => {
db.run(sql, [scout.name, scout.number, scout.email], (err) => {
if (err) {
console.error(`Error inserting scouters: ${err}`)
reject(`Error inserting scouters: ${err}`)
} else {
resolve()
}
})
})
}
async function runInsertScouters() {
for (var i = 0; i < scouters.length; i++) {
// console.log(scouters[i])
await insertScouter(sql, scouters[i], i)
.catch((err) => {
if (err) {
console.log(`Error with inserting scouter: ${err}`)
reject(err)
}
})
}
}
await runInsertScouters()
.catch(err => {
if (err) {
console.error(`Error with inserting Scouters: ${err}`)
return(`Error with inserting Scouters: ${err}`)
}
})
.then(() => {
console.log(`Finished inserting Scouters`)
return
})
function getScouters() {
let data = JSON.parse(fs.readFileSync(`${__dirname}/scouters/./scouters.json`, 'utf8'))
return data.scouters
}
}
*/
// console.log(JSON.parse(`{"matchKey":"'\\"qm1\\"'","events":"'[[1004,0,1],[1124,0,1],[1236,0,1],[1375,0,1],[1509,0,1],[1890,0,0],[2020,0,0],[2148,0,0],[2279,0,0],[2396,0,0],[2869,0,0],[3013,0,0],[3141,0,0],[3283,0,0],[3435,0,0],[3732,0,2],[4194,0,2],[4344,0,2],[4470,0,2],[4607,0,2],[5053,0,3],[5198,0,3],[5341,0,3],[5515,0,3],[8793,2,5],[8943,2,5],[9406,2,5],[9630,2,5]]'","robotRole":"'0'","challengeResult":"'0'"}`))
// var globalVar = false;
// var promiseTest = function () {
// return new Promise(function (resolve, reject) {
// if (globalVar === true)
// resolve({
// "results": `Success`,
// })
// else
// reject({
// "results": 'err',
// "customCode": 1,
// "justForJacob": "SQLITE UNIQUE ERROR, run node resetDataTable.js"
// })
// })
// }
// var testFunc = promiseTest();
// testFunc
// .then((results) => {
// console.log(results)
// })
// .catch((err) => {
// console.log(`Detected error`)
// if (err.customCode) {
// console.log(err)
// } else {
// console.log(err)
// }
// })
// let run = async () => {
// let data = await JSON.parse(fs.readFileSync(`${__dirname}/scouters/./scouters.json`, 'utf8'))
// console.log(data)
// }
// run()