Skip to content

Commit 6f3a145

Browse files
committed
I did not break my stuff
1 parent 4036039 commit 6f3a145

19 files changed

Lines changed: 106 additions & 17 deletions

File tree

.DS_Store

-8 KB
Binary file not shown.

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ node_modules
33
config.js
44
test.js
55
dist/
6-
6+
.DS_Store/

controllers/testCtrl.js

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ module.exports = {
1717
console.log('hit testCtrl');
1818

1919
let body = req.body;
20-
20+
console.log(body);
2121

2222
db.read.kata_by_id([req.params.kataId], (err, kataArray)=>{
2323
if(err) console.log(err);
@@ -26,7 +26,6 @@ module.exports = {
2626

2727

2828

29-
3029
kata.test_script.forEach((ele, i) =>{
3130
let deffered = Q.defer();
3231

@@ -56,6 +55,33 @@ module.exports = {
5655
},
5756

5857
testExamplesKata: (req, res, next) => {
58+
let body = req.body;
59+
let promiseArr = [];
60+
console.log(body.script);
61+
62+
body.examples.forEach((ele, i) => {
63+
let deffered = Q.defer();
64+
65+
exec(`docker run --rm codewars/node-runner run -l javascript -c "${body.script}" -t cw -f "${ele.test}"`,
66+
(err, stdOut, stdErr) => {
67+
if (err) {
68+
console.log(err);
69+
} else if (stdOut) {
70+
deffered.resolve(stdOut);
71+
ele.result = stdOut;
72+
} else if (stdErr) {
73+
deffered.resolve(stdErr);
74+
ele.result = stdErr;
75+
}
76+
});
77+
78+
promiseArr.push(deffered.promise)
79+
});
80+
81+
Q.all(promiseArr).then(response => {
82+
console.log(body.examples);
83+
res.json(body.examples);
84+
})
5985

6086
},
6187

db/create/new_user_from_github.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
INSERT INTO users (github_id, first_name, last_name, email, username, picutre_url)
2-
VALUES ($1, null, null, $2, $3, $4);
1+
INSERT INTO users (github_id, name, email, username, picutre_url)
2+
VALUES ($1, $2, $3, $4, $5);

db/start/katas.sql

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
INSERT INTO katas (kyu, name, starter_code, description, examples, test_script)
2+
VALUES (8, 'Generate range of integers', 'function generateRange(min, max, step){}', 'Implement a function named generateRange(min, max, step), which takes three arguments and generates a range of integers from min to max, with the step. The first integer is the minimum value, the second is the maximum of the range and the third is the step. (min < max)', '[{"test":"Test.assertSimilar(generateRange(2, 10, 2), [2,4,6,8,10]);","result":""}]','[{"test":"Test.assertSimilar(generateRange(2, 10, 2), [2,4,6,8,10]);","result":""},{"test":"Test.assertSimilar(generateRange(1, 10, 3), [1,4,7,10]);","result":""},{"test":"var generateRandom = function(min, max){ return Math.floor(Math.random() * max) + min; }; var range = function(min, max, step){ var z = []; for(var i = min; i <= max; i += step){ z.push(i); } return z; }; for(var i = 0; i < 10; i++){ var randomMax = generateRandom(30, 100), randomMin = generateRandom(1, 20), randomStep = generateRandom(1, 10); Test.assertSimilar(generateRange(randomMin, randomMax, randomStep), range(randomMin, randomMax, randomStep)); }","result":""}]'),
3+
4+
(7, 'Descending Order', 'function descendingOrder(n){}', 'Descending Order', '[{"test":"Test.assertEquals(descendingOrder(15), 51)","result":""}]', '[{"test":"Test.assertEquals(descendingOrder(0), 0)","result":""},{"test":"Test.assertEquals(descendingOrder(1), 1)","result":""},{"test":"Test.assertEquals(descendingOrder(111), 111)","result":""},{"test":"Test.assertEquals(descendingOrder(15), 51)","result":""},{"test":"Test.assertEquals(descendingOrder(1021), 2110)","result":""},{"test":"Test.assertEquals(descendingOrder(123456789), 987654321)","result":""}]'),
5+
6+
;

db/start/tables.sql

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ DROP TABLE IF EXISTS ratings, rating, solutions, katas, kata, users;
33
CREATE TABLE users (
44
id serial primary key,
55
github_id varchar(255),
6-
first_name varchar(40),
7-
last_name varchar(40),
6+
name varchar(80),
87
email varchar(255),
98
username varchar (40),
10-
picutre_url text
9+
picture_url text
1110

1211
);
1312

@@ -36,8 +35,8 @@ CREATE TABLE ratings (
3635
liked boolean not null
3736
);
3837

39-
INSERT INTO users (github_id, first_name, last_name, email, username, picutre_url)
40-
VALUES ('12', 'bob', 'smith', 'bob@smith.com', 'bobIScool', null);
38+
INSERT INTO users (github_id, name, email, username, picutre_url)
39+
VALUES ('12', 'Bob Smith', 'bob@smith.com', 'bobIScool', null);
4140

4241
INSERT INTO katas (kyu, description, starter_code, name, examples, test_script)
4342
VALUES (8, 'var a should equal 1', 'var a = 1', 'Sumbit This', '[{"test":"Test.assertEquals(a, 1)","result":""}]', '[{"test":"Test.assertEquals(a, 0)","result":""},{"test":"Test.assertEquals(a, 2)","result":""},{"test":"Test.assertEquals(a, 1)","result":""}]');

restartDb.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,15 @@ let db = massive.connect({
1313
if (err) {
1414
console.log(err)
1515
} else {
16-
console.log('Reset the database.');
17-
process.exit();
16+
db.start.katas([], (err) => {
17+
if (err) {
18+
console.log(err);
19+
} else {
20+
console.log('Reset the database.');
21+
process.exit();
22+
}
23+
})
24+
1825
}
1926
})
2027

server.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ passport.use(new GithubStrategy({
2323
callbackURL: '/auth/github/callback'
2424
}, (accessToken, refreshToken, profile, done) => {
2525
db.read.user_by_github_id([profile.id], (err, user) => {
26-
console.log(user);
2726
if (err) {
2827
console.log(err);
2928
} else if (user [0]) {
3029
done(null, user);
3130
} else {
31+
3232
console.log('attempting account creation')
33-
db.create.new_user_from_github([profile.id, profile._json.email, profile.displayName, profile._json.avatar_url],
33+
db.create.new_user_from_github([profile.id, profile.displayName, profile._json.email, profile.username, profile._json.avatar_url],
34+
3435
(err) => {
3536
if (err) {
3637
console.log(err);
@@ -39,7 +40,6 @@ passport.use(new GithubStrategy({
3940
if(err) {
4041
console.log(err);
4142
} else {
42-
console.log(newUser);
4343
done(null, newUser[0])
4444
}
4545
});
@@ -88,7 +88,7 @@ app.get('/auth/github/callback',
8888
passport.authenticate('github', {failureRedirect: '/login'}),
8989
function (req, res) {
9090
// Successful authentication, redirect home.
91-
res.redirect('/');
91+
res.redirect('/#/home');
9292
});
9393

9494

@@ -99,6 +99,9 @@ app.get('/kata/completed', kataCtrl.getCompletedKatas);
9999
app.get('/kata/random', kataCtrl.getRandomKata);
100100
app.get('/kata/random/:kyu', kataCtrl.getRandomKata);
101101
app.get('/solutions/:kataId', kataCtrl.getKataSolutions);
102+
app.get('/me', (req, res, next) => {
103+
return res.status(200).json(req.user);
104+
})
102105

103106
app.post('/test/suite/:kataId', testCtrl.testKata);
104107
app.post('/test/examples', testCtrl.testExamplesKata);

src/.DS_Store

-6 KB
Binary file not shown.

src/assets/.DS_Store

-6 KB
Binary file not shown.

0 commit comments

Comments
 (0)