Commit 51e7e8e6 by Tuukka Kivilahti

session intialization

1 parent 5ec07a05
/**
* Created by tuukka on 15/02/17.
*/
import gql from 'graphql-tag';
class PermissionFields {
USER: boolean;
INFO: boolean;
ADMIN: boolean;
}
export class Permissions {
static fragments = gql`
fragment permissionPrimitives on Permission {
VIPLIST: {USER, INFO, ADMIN},
BILLING: {USER, INFO, ADMIN},
}
`;
VIPLIST: PermissionFields;
BILLING: PermissionFields;
constructor() { }
}
import { TestBed, inject } from '@angular/core/testing';
import { SessionServiceService } from './session-service.service';
describe('SessionServiceService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [SessionServiceService]
});
});
it('should be created', inject([SessionServiceService], (service: SessionServiceService) => {
expect(service).toBeTruthy();
}));
});
import { Injectable } from '@angular/core';
import gql from 'graphql-tag';
import {Permission, Permissions} from "../models/permissions.model";
import {Apollo} from "apollo-angular";
import {map} from "rxjs/operators";
import {Q_VIPS_N_DATA} from "../../modules/viplist/viplist.service";
import {Observable} from "rxjs";
const __REFRESH_TIME_MINUTES = 5;
export const Q_USER_PERMISSIONS = gql`
{
}
`;
@Injectable({
providedIn: 'root'
})
export class SessionServiceService {
private permissionsObservable: Observable<Permissions>;
public getPermissions(): Observable<Permissions> {
return this.permissionsObservable;
}
constructor(private apollo: Apollo) {
this.permissionsObservable = this.apollo.watchQuery<Permissions>({query: Q_USER_PERMISSIONS, pollInterval: __REFRESH_TIME_MINUTES * 60000});
}
}
......@@ -23,5 +23,4 @@ export class UserService {
return this.cacheService.cacheObservable('moya:UserService', path,
this.http.get<User>(path).pipe(tap(v => {console.log('getting user outside of cache', path); })));
}
}
......@@ -13,6 +13,7 @@
],
"lib": [
"es2018",
"es2016",
"dom",
"esnext.asynciterable"
],
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!