User config subject - luftsport/nlf-client GitHub Wiki
Persistent storage of user settings and user specific data with automatic sync between browser storage and api making settings available on every device.
import { NlfUserSubjectService } from 'app/user/user-subject.service';
import { ApiUserDataSubjectItem, NlfConfigItem } from 'app/api/api.interface';
public userData: ApiUserDataSubjectItem;
private person_id: number;
constructor(private userSubject: NlfUserSubjectService) {
this.userDataSubject.observable.subscribe(
data => {
if (!!data) {
this.userData = data;
this.person_id = data.person_id;
}
},
err => console.log('Error getting user data: ', err)
);
}
Access settings:
this.user.settings.default_discipline
Interfaces:
export interface ApiUserDataSubjectItem {
settings?: ApiUserSettingsItem;
person_id?: number;
activities?: string[];
acl?: ApiUserAcl[];
_etag?: string;
_id?: string;
}
export interface ApiUserDefaultSettingsItem {
default_club?: number; // gruppe/klubb type 6
default_discipline?: number; // gren type 14
default_activity?: number; // seksjon
}
export interface ApiUserSettingsItem extends ApiUserDefaultSettingsItem {
ors?: any; // ors: {has_reported?: boolean, cache?: {}, last_edited: [{activity:, id:}] }
}
ORS/OBSREG settings:
ors: {
seilfly: {99: {simple_view: false}},
fallskjerm: {176: {}},
},