Add request check to login process
parent
120f413476
commit
61ccd6eeb9
|
@ -59,8 +59,8 @@ const createBackup = () => {
|
||||||
// Execute daily @ 02:30 AM
|
// Execute daily @ 02:30 AM
|
||||||
const cronJobSignature = cron.job('00 30 02 * * *', createAllSignatures);
|
const cronJobSignature = cron.job('00 30 02 * * *', createAllSignatures);
|
||||||
|
|
||||||
// Execute daily @ 04:00 AM, on Mon, Thu and Sat
|
// Execute every on Mon, Thu and Sat @ 04:00 AM
|
||||||
const cronJobBackup = cron.job('00 00 04 * * *', createBackup);
|
const cronJobBackup = cron.job('00 00 04 * * mon,thu,sat', createBackup);
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
cronJobSignature: cronJobSignature,
|
cronJobSignature: cronJobSignature,
|
||||||
|
|
|
@ -31,16 +31,8 @@ export class AppComponent {
|
||||||
});
|
});
|
||||||
if (this.loginService.hasPermission(2)) {
|
if (this.loginService.hasPermission(2)) {
|
||||||
const fraction = this.loginService.getCurrentUser().squad.fraction;
|
const fraction = this.loginService.getCurrentUser().squad.fraction;
|
||||||
this.promotionService.getUnconfirmedPromotions(fraction).subscribe((items) => {
|
this.promotionService.checkUnconfirmedPromotions(fraction);
|
||||||
if (items.length > 0) {
|
this.awardingService.checkUnprocessedAwards(fraction);
|
||||||
this.promotionService.hasUnprocessedPromotion = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.awardingService.getUnconfirmedAwards(fraction).subscribe((items) => {
|
|
||||||
if (items.length > 0) {
|
|
||||||
this.awardingService.hasUnprocessedAwards = true;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import {Component, OnInit} from "@angular/core";
|
import {Component, OnInit} from "@angular/core";
|
||||||
import {ActivatedRoute, Router} from "@angular/router";
|
import {Router} from "@angular/router";
|
||||||
import {LoginService} from "../services/login-service/login-service";
|
import {LoginService} from "../services/login-service/login-service";
|
||||||
|
|
||||||
|
|
||||||
|
@ -19,8 +19,7 @@ export class LoginComponent implements OnInit {
|
||||||
|
|
||||||
returnUrl: string;
|
returnUrl: string;
|
||||||
|
|
||||||
constructor(private route: ActivatedRoute,
|
constructor(private router: Router,
|
||||||
private router: Router,
|
|
||||||
private loginService: LoginService) {
|
private loginService: LoginService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +39,6 @@ export class LoginComponent implements OnInit {
|
||||||
this.router.navigate([this.returnUrl]);
|
this.router.navigate([this.returnUrl]);
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log(error)
|
|
||||||
this.error = error._body;
|
this.error = error._body;
|
||||||
this.showErrorLabel = true;
|
this.showErrorLabel = true;
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
@ -17,6 +17,14 @@ export class AwardingService {
|
||||||
.map(res => res.json())
|
.map(res => res.json())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkUnprocessedAwards(fraction?: string) {
|
||||||
|
this.getUnconfirmedAwards(fraction).subscribe((items) => {
|
||||||
|
if (items.length > 0) {
|
||||||
|
this.hasUnprocessedAwards = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get awards array with populated decorations
|
* get awards array with populated decorations
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -7,7 +7,6 @@ import {LoginService} from "./login-service/login-service";
|
||||||
export class HttpClient {
|
export class HttpClient {
|
||||||
|
|
||||||
constructor(private router: Router,
|
constructor(private router: Router,
|
||||||
private loginService: LoginService,
|
|
||||||
private http: Http) {
|
private http: Http) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +18,8 @@ export class HttpClient {
|
||||||
headers.append('x-access-token', currentUser.token);
|
headers.append('x-access-token', currentUser.token);
|
||||||
return headers;
|
return headers;
|
||||||
} else {
|
} else {
|
||||||
this.loginService.logout();
|
//logout
|
||||||
|
localStorage.removeItem('currentUser');
|
||||||
this.router.navigate(['/login'])
|
this.router.navigate(['/login'])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,12 +5,16 @@ import "rxjs/add/operator/map";
|
||||||
import {AppConfig} from "../../app.config";
|
import {AppConfig} from "../../app.config";
|
||||||
import {AUTH_ENABLED} from "../../app.tokens";
|
import {AUTH_ENABLED} from "../../app.tokens";
|
||||||
import {AppUser} from "../../models/model-interfaces";
|
import {AppUser} from "../../models/model-interfaces";
|
||||||
|
import {AwardingService} from "../awarding-service/awarding.service";
|
||||||
|
import {PromotionService} from "../promotion-service/promotion.service";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class LoginService {
|
export class LoginService {
|
||||||
constructor(@Optional() @Inject(AUTH_ENABLED) public authEnabled = false,
|
constructor(@Optional() @Inject(AUTH_ENABLED) public authEnabled = false,
|
||||||
private http: Http,
|
private http: Http,
|
||||||
private config: AppConfig) {
|
private config: AppConfig,
|
||||||
|
private awardingService: AwardingService,
|
||||||
|
private promotionService: PromotionService) {
|
||||||
}
|
}
|
||||||
|
|
||||||
login(username: string, password: string) {
|
login(username: string, password: string) {
|
||||||
|
@ -21,6 +25,11 @@ export class LoginService {
|
||||||
if (user && user.token) {
|
if (user && user.token) {
|
||||||
// store user details and jwt token in local storage to keep user logged in between page refreshes
|
// store user details and jwt token in local storage to keep user logged in between page refreshes
|
||||||
localStorage.setItem('currentUser', JSON.stringify(user));
|
localStorage.setItem('currentUser', JSON.stringify(user));
|
||||||
|
if (user.permission >= 3) {
|
||||||
|
const fraction = user.squad.fraction;
|
||||||
|
this.awardingService.checkUnprocessedAwards(fraction);
|
||||||
|
this.promotionService.checkUnconfirmedPromotions(fraction);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,14 @@ export class PromotionService {
|
||||||
.map(res => res.json())
|
.map(res => res.json())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
checkUnconfirmedPromotions(fraction?: string) {
|
||||||
|
this.getUnconfirmedPromotions(fraction).subscribe((items) => {
|
||||||
|
if (items.length > 0) {
|
||||||
|
this.hasUnprocessedPromotion = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
getSquadPromotions(squadId: string) {
|
getSquadPromotions(squadId: string) {
|
||||||
return this.http.get(this.config.apiUrl + this.config.apiPromotionPath + '?squadId=' + squadId)
|
return this.http.get(this.config.apiUrl + this.config.apiPromotionPath + '?squadId=' + squadId)
|
||||||
.map(res => res.json())
|
.map(res => res.json())
|
||||||
|
|
Loading…
Reference in New Issue