-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.ts
More file actions
63 lines (51 loc) · 1.82 KB
/
Copy pathindex.ts
File metadata and controls
63 lines (51 loc) · 1.82 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
require('source-map-support').install();
import {Config} from './src/config'
import {CLI} from './src/cli'
import _ = require('underscore')
import {Repository} from './src/repository'
import {PlayerData} from './src/player'
import * as Metrics from './src/metrics'
import * as Achievments from './src/achievments'
import {Announcer} from './src/announcer'
import {Server} from './src/server'
var defaultConfig : Config = {
port : 3001,
logLevel : "INFO",
showVersion : false,
redisUrl : process.env["REDIS_URL"],
slackWebhookUrl : process.env["SLACK_WEBHOOK_URL"],
adminToken : process.env["ADMIN_TOKEN"]
}
var cli = new CLI();
var configFromCli = cli.getConfig();
var config : Config = _.extend(defaultConfig,configFromCli);
if(config.showVersion){
var pjson = require('../package.json');
console.log("v" + pjson.version);
process.exit(0);
}
var repo = new Repository(config.redisUrl);
var achievmentManager = new Achievments.AchievmentManager();
Metrics.allMetrics.forEach((m) => achievmentManager.registerSimpleMetric(m));
Achievments.allAchievements.forEach((a => achievmentManager.registerAchievment(a)));
var announcer = new Announcer(config);
var server = new Server(config,repo,achievmentManager,announcer);
server.start();
// repo.getPlayerByMatcher((p)=>{
// //console.log("Matching",p)
// return p.data.githubName == "Vratislav"
// }).then((p)=>{
// console.log("Matching",p.data)
// console.log("Found player by github name:",p.data.githubName);
// p.data.achievments = {};
// var achievements = achievmentManager.updateMetric(p,Metrics.commitCountMetric.id,1);
// achievements.forEach((achievment)=>{
// announcer.announceAchievment(p,achievment)
// })
// })
//console.log('Strating with CLI config',configFromCli);
// var judge = new Judge(config);
// judge.start();
process.on('SIGINT', function() {
process.exit(0);
});