aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/user/internal-user-service
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-03-11 21:01:28 +0800
committercrupest <crupest@outlook.com>2019-03-11 21:01:28 +0800
commit4f7eba96dfdcd831c7a40dee035b8871df8d452b (patch)
treefa18c63d9530364b557066ffcb703c927b17213f /Timeline/ClientApp/src/app/user/internal-user-service
parent8caef17dd3e455de27f44d13751c27ee4dfe2e1e (diff)
downloadtimeline-4f7eba96dfdcd831c7a40dee035b8871df8d452b.tar.gz
timeline-4f7eba96dfdcd831c7a40dee035b8871df8d452b.tar.bz2
timeline-4f7eba96dfdcd831c7a40dee035b8871df8d452b.zip
Use strict check of typescript compiler.
Diffstat (limited to 'Timeline/ClientApp/src/app/user/internal-user-service')
-rw-r--r--Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts4
-rw-r--r--Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.ts8
2 files changed, 7 insertions, 5 deletions
diff --git a/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts b/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts
index 4db28768..613a8fa6 100644
--- a/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts
+++ b/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.spec.ts
@@ -49,7 +49,7 @@ describe('InternalUserService', () => {
const httpController = TestBed.get(HttpTestingController) as HttpTestingController;
httpController.expectOne((request: HttpRequest<CreateTokenRequest>) =>
- request.url === createTokenUrl &&
+ request.url === createTokenUrl && request.body !== null &&
request.body.username === 'user' &&
request.body.password === 'user').flush(<CreateTokenResponse>{
token: 'test-token',
@@ -73,7 +73,7 @@ describe('InternalUserService', () => {
const mockToken = 'mock-token';
const tokenValidateRequestMatcher = (req: HttpRequest<ValidateTokenRequest>) => {
- return req.url === validateTokenUrl && req.body.token === mockToken;
+ return req.url === validateTokenUrl && req.body !== null && req.body.token === mockToken;
};
beforeEach(() => {
diff --git a/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.ts b/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.ts
index 91a67e5b..4767bd16 100644
--- a/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.ts
+++ b/Timeline/ClientApp/src/app/user/internal-user-service/internal-user.service.ts
@@ -5,6 +5,8 @@ import { Router } from '@angular/router';
import { Observable, of, throwError, BehaviorSubject } from 'rxjs';
import { map, catchError, retry } from 'rxjs/operators';
+import { nullIfUndefined } from '../../utilities/language-untilities';
+
import { AlreadyLoginError, BadCredentialsError, BadNetworkError, UnknownError } from './errors';
import {
createTokenUrl, validateTokenUrl, CreateTokenRequest,
@@ -23,7 +25,7 @@ export type UserLoginState = 'nologin' | 'invalidlogin' | 'success';
})
export class InternalUserService {
- private token: string;
+ private token: string | null = null;
private userInfoSubject = new BehaviorSubject<UserInfo | null>(null);
get currentUserInfo(): UserInfo | null {
@@ -36,7 +38,7 @@ export class InternalUserService {
constructor(private httpClient: HttpClient, private router: Router) { }
- userRouteNavigate(commands: any[]) {
+ userRouteNavigate(commands: any[] | null) {
this.router.navigate([{
outlets: {
user: commands
@@ -57,7 +59,7 @@ export class InternalUserService {
}),
map(result => {
if (result.isValid) {
- this.userInfoSubject.next(result.userInfo);
+ this.userInfoSubject.next(nullIfUndefined(result.userInfo));
return <UserLoginState>'success';
} else {
this.token = null;