--- /dev/null
+/* Copyright (c) 2019 AT&T Intellectual Property. #\r
+# #\r
+# Licensed under the Apache License, Version 2.0 (the "License"); #\r
+# you may not use this file except in compliance with the License. #\r
+# You may obtain a copy of the License at #\r
+# #\r
+# http://www.apache.org/licenses/LICENSE-2.0 #\r
+# #\r
+# Unless required by applicable law or agreed to in writing, software #\r
+# distributed under the License is distributed on an "AS IS" BASIS, #\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #\r
+# See the License for the specific language governing permissions and #\r
+# limitations under the License. #\r
+##############################################################################*/\r
+\r
+\r
+import { Injectable } from '@angular/core';\r
+import { HttpClient } from '@angular/common/http';\r
+import { map } from 'rxjs/operators';\r
+import { ModelService } from './model.service';\r
+import { ParamsService } from './params.service';\r
+import { CookieService } from 'ngx-cookie-service';\r
+import { FeathersService } from './feathers.service';\r
+import { Ability } from '@casl/ability';\r
+\r
+\r
+@Injectable({\r
+ providedIn: 'root'\r
+})\r
+export class UserService extends ModelService {\r
+\r
+ public ability: Ability;\r
+\r
+ constructor(http: HttpClient, Params: ParamsService, cookie: CookieService, private c: CookieService, feathers: FeathersService){\r
+ super('users', http, Params, cookie, feathers);\r
+ this.ability = new Ability(JSON.parse(localStorage.getItem('user_rules')));\r
+ }\r
+\r
+ getId(){\r
+ return JSON.parse(this.cookie.get('currentUser'))._id;\r
+ }\r
+\r
+ // addFavorite(ref: string, id: string){\r
+ // return this.get(this.getId()).pipe(map(\r
+ // result => {\r
+ // if(!result['favorites']){\r
+ // result['favorites'] = {};\r
+ // }\r
+ // if(!result['favorites'][ref]){\r
+ // result['favorites'][ref] = [];\r
+ // }\r
+ // result['favorites'][ref].push(id);\r
+ // result['favorites'][ref] = Array.from(new Set(result['favorites'][ref]));\r
+ // this.patch(result).subscribe();\r
+ // }\r
+ // ));\r
+ // }\r
+\r
+ // removeFavorite(ref: string, id: string){\r
+ // return this.get(this.getId()).pipe(map(\r
+ // result => {\r
+ // result['favorites'][ref].splice( result['favorites'][ref].indexOf(id), 1 );\r
+ // this.patch(result).subscribe();\r
+ // }\r
+ // ));\r
+ // }\r
+\r
+ enableUser(id: string, enabled: boolean){\r
+ return this.patch({\r
+ "_id" : id,\r
+ "enabled": enabled\r
+ })\r
+\r
+ }\r
+}
\ No newline at end of file