Skip to content

Commit f1c1922

Browse files
committed
debugging wercker
1 parent dbdbeb9 commit f1c1922

File tree

3 files changed

+101
-1
lines changed

3 files changed

+101
-1
lines changed
Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,47 @@
1+
import { Injectable } from '@angular/core';
2+
import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
3+
4+
import { InjectUser } from 'angular2-meteor-accounts-ui';
5+
import { Roles } from '../../../../collections/users.ts';
6+
7+
import { Observable } from 'rxjs/Observable';
8+
import 'rxjs/add/observable/fromPromise';
9+
10+
declare var Collections : any;
111

212
/**
3-
Guards a route by enforcing that the course exists.
13+
Guards a route by enforcing that the course exists.
414
**/
15+
16+
@InjectUser("user")
17+
@Injectable()
18+
export class CourseGuardRecord implements CanActivate{
19+
user: Meteor.User;
20+
21+
constructor(private router: Router) {}
22+
23+
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot){
24+
var slf = this;
25+
26+
// Get Params
27+
const course_id : string = (<any>state).parent(route).params.courseid;
28+
29+
var obs : Observable<boolean> = Observable.fromPromise(new Promise<boolean> (function(resolve, reject){
30+
31+
Meteor.subscribe('courses', function(){
32+
33+
// Enroll Authenticated Users
34+
var course_record = Collections.course_records.findOne({user_id: slf.user._id, course_id: course_id});
35+
if (typeof course_record !== "undefined" && course_record !== null){
36+
resolve(true);
37+
}
38+
else{
39+
40+
}
41+
42+
});
43+
}));
44+
45+
return obs;
46+
}
47+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,57 @@
11

2+
import { Injectable } from '@angular/core';
3+
import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
4+
5+
import { InjectUser } from 'angular2-meteor-accounts-ui';
6+
import { Roles } from '../../../../collections/users.ts';
7+
8+
import { Observable } from 'rxjs/Observable';
9+
import 'rxjs/add/observable/fromPromise';
10+
11+
declare var Collections : any;
12+
213
/**
314
Guards a route by enforcing that the lab exists.
415
**/
16+
17+
@InjectUser("user")
18+
@Injectable()
19+
export class CourseGuardRecord implements CanActivate{
20+
user: Meteor.User;
21+
22+
constructor(private router: Router) {}
23+
24+
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot){
25+
var slf = this;
26+
27+
// Get Params
28+
const course_id : string = (<any>state).parent(route).params.courseid;
29+
const lab_id : string = (<any>route).params.labid;
30+
31+
var obs : Observable<boolean> = Observable.fromPromise(new Promise<boolean> (function(resolve, reject){
32+
33+
Meteor.subscribe('course-records', function(){
34+
35+
// Enroll Authenticated Users
36+
var course_record = Collections.course_records.findOne({user_id: slf.user._id, course_id: course_id});
37+
if (typeof course_record !== "undefined" && course_record !== null){
38+
resolve(true);
39+
}
40+
else{
41+
Meteor.call('createUserCourseRecord',[course_id, Meteor.userId()], function(err){
42+
if(err){
43+
slf.router.navigate(['error/500']);
44+
resolve(false);
45+
}
46+
else{
47+
resolve(true);
48+
}
49+
});
50+
}
51+
52+
});
53+
}));
54+
55+
return obs;
56+
}
57+
}

wercker.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ build:
2222
name: install npm dependencies
2323
code: meteor npm install
2424

25+
- script:
26+
name: typings install
27+
code: typings install
28+
2529
- script:
2630
name: running gagarin tests
2731
code: meteor npm test

0 commit comments

Comments
 (0)