Auth and user data BehaviourSubjects - luftsport/nlf-client GitHub Wiki
Usage
Auth and auth data subjects
import { NlfAuthSubjectService } from 'app/services/auth/auth-subject.service';
constructor(public authSubject: NlfAuthSubjectService) {}
this.authObservable = this.authSubject.observableAuth;
this.authDataObservable = this.authSubject.observableAuthData;
authObservable
returns a boolean.
authDataObservable
returns an instance of AuthDataSubjectInterface
:
export interface AuthDataSubjectInterface {
token: string;
person_id: number;
valid: Date;
}
User data subject
import { NlfUserSubjectService } from 'app/user/user-subject.service';
constructor(private userSubject: NlfUserSubjectService) {
this.userSubject.observable.subscribe(data => this.userData = data);
}
The user data interface
export interface ApiUserDataSubjectItem {
settings?: ApiUserSettingsItem;
person_id?: number;
activities?: string[];
acl?: ApiUserAcl[];
_etag?: string;
_id?: string;
}
settings
is persistent and on change will be stored in the backend api.