-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathDatabaseManager.js
76 lines (72 loc) · 3.29 KB
/
DatabaseManager.js
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
const AddScoutReport = require('./manager/AddScoutReport.js')
const GetTeams = require('./manager/GetTeams.js')
const InitServer = require('./manager/InitServer.js')
const ResetAndPopulate = require('./manager/ResetAndPopulate.js')
const AddAPITeams = require('./manager/AddAPITeams.js')
const AddAPITournaments = require('./manager/AddAPITournaments.js')
const AddScouters = require('./manager/AddScouters.js')
const AddTournamentMatches = require('./manager/AddTournamentMatches.js')
const IsScouted = require('./manager/IsScouted.js')
const GetScouters = require('./manager/GetScouters.js')
const GetScoutersSchedule = require('./manager/GetScoutersSchedule.js')
const UpdateScoutersSchedule = require('./manager/UpdateScoutersSchedule.js')
const GetMatches = require('./manager/GetMatches.js')
const IsMatchesScouted = require('./manager/IsMatchesScouted.js')
const GetAllNotes = require('./manager/GetAllNotes.js')
const NewScouter = require('./manager/NewScouter.js')
const MatchesCompleted = require('./manager/MatchesCompleted.js')
const GetTeamsInTournament = require('./manager/GetTeamsInTournament.js')
class DatabaseManager {
constructor() {
}
runTask(task, body) {
switch (task) {
case AddScoutReport.name:
// Different naming scheme is because of Jacob
return new AddScoutReport().runTask(`frc${body.teamNumber}`, body.tournamentKey, body)
case GetTeams.name:
return new GetTeams().runTask()
case InitServer.name:
return new InitServer().runTask()
case ResetAndPopulate.name:
return new ResetAndPopulate().runTask()
case AddAPITeams.name:
return new AddAPITeams().runTask()
case AddAPITournaments.name:
return new AddAPITournaments().runTask(body.year)
case AddScouters.name:
return new AddScouters().runTask()
case AddTournamentMatches.name:
return new AddTournamentMatches().runTask(body.key)
case IsScouted.name:
return new IsScouted().runTask(body.tournamentKey, body.matchKey)
case GetScouters.name:
return new GetScouters().runTask()
case GetScoutersSchedule.name:
return new GetScoutersSchedule().runTask()
case UpdateScoutersSchedule.name:
return new UpdateScoutersSchedule().runTask(body)
case GetMatches.name:
return new GetMatches().runTask(body)
case IsMatchesScouted.name:
return new IsMatchesScouted().runTask(body.tournamentKey, body.scouterName, body.matchKeys)
case GetAllNotes.name:
return new GetAllNotes().runTask(body.teamKey, body.sinceTime)
case NewScouter.name:
return new NewScouter().runTask(body.scouterName, body.scouterNumber, body.scouterEmail)
case MatchesCompleted.name:
return new MatchesCompleted().runTask(body)
case GetTeamsInTournament.name:
return new GetTeamsInTournament().runTask(body.tournamentKey)
default:
return new Promise((resolve, reject) => {
reject({
'task': task,
'result': `${task} is not a task`,
'customCode': 400
})
})
}
}
}
module.exports = DatabaseManager