1 /* Copyright (c) 2019 AT&T Intellectual Property. #
\r
3 # Licensed under the Apache License, Version 2.0 (the "License"); #
\r
4 # you may not use this file except in compliance with the License. #
\r
5 # You may obtain a copy of the License at #
\r
7 # http://www.apache.org/licenses/LICENSE-2.0 #
\r
9 # Unless required by applicable law or agreed to in writing, software #
\r
10 # distributed under the License is distributed on an "AS IS" BASIS, #
\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
\r
12 # See the License for the specific language governing permissions and #
\r
13 # limitations under the License. #
\r
14 ##############################################################################*/
\r
17 import { Injectable } from '@angular/core';
\r
18 import { HttpClient } from '@angular/common/http';
\r
19 import { map } from 'rxjs/operators';
\r
20 import { ModelService } from './model.service';
\r
21 import { ParamsService } from './params.service';
\r
22 import { CookieService } from 'ngx-cookie-service';
\r
23 import { FeathersService } from './feathers.service';
\r
24 import { Ability } from '@casl/ability';
\r
30 export class UserService extends ModelService {
\r
32 public ability: Ability;
\r
34 constructor(http: HttpClient, Params: ParamsService, cookie: CookieService, private c: CookieService, feathers: FeathersService){
\r
35 super('users', http, Params, cookie, feathers);
\r
36 this.ability = new Ability(JSON.parse(localStorage.getItem('user_rules')));
\r
40 return JSON.parse(this.cookie.get('currentUser'))._id;
\r
43 // addFavorite(ref: string, id: string){
\r
44 // return this.get(this.getId()).pipe(map(
\r
46 // if(!result['favorites']){
\r
47 // result['favorites'] = {};
\r
49 // if(!result['favorites'][ref]){
\r
50 // result['favorites'][ref] = [];
\r
52 // result['favorites'][ref].push(id);
\r
53 // result['favorites'][ref] = Array.from(new Set(result['favorites'][ref]));
\r
54 // this.patch(result).subscribe();
\r
59 // removeFavorite(ref: string, id: string){
\r
60 // return this.get(this.getId()).pipe(map(
\r
62 // result['favorites'][ref].splice( result['favorites'][ref].indexOf(id), 1 );
\r
63 // this.patch(result).subscribe();
\r
68 enableUser(id: string, enabled: boolean){
\r