From 14a799cc17f16ab93ee652bd9a2973c60cb3697c Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 9 Mar 2019 21:36:55 +0800 Subject: Seperate internal and public user service. --- Timeline/ClientApp/src/app/user/user.service.ts | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Timeline/ClientApp/src/app/user/user.service.ts (limited to 'Timeline/ClientApp/src/app/user/user.service.ts') diff --git a/Timeline/ClientApp/src/app/user/user.service.ts b/Timeline/ClientApp/src/app/user/user.service.ts new file mode 100644 index 00000000..e876706c --- /dev/null +++ b/Timeline/ClientApp/src/app/user/user.service.ts @@ -0,0 +1,33 @@ +import { Injectable } from '@angular/core'; +import { MatDialog } from '@angular/material'; + +import { Observable } from 'rxjs'; + +import { UserInfo } from './entities'; +import { InternalUserService } from './internal-user-service/internal-user.service'; +import { UserDialogComponent } from './user-dialog/user-dialog.component'; + + +/** + * This service provides public api of user module. + */ +@Injectable({ + providedIn: 'root' +}) +export class UserService { + constructor(private dialog: MatDialog, private internalService: InternalUserService) { } + + get currentUserInfo(): UserInfo | null { + return this.internalService.currentUserInfo; + } + + get userInfo$(): Observable { + return this.internalService.userInfo$; + } + + openUserDialog() { + this.dialog.open(UserDialogComponent, { + width: '300px' + }); + } +} -- cgit v1.2.3