]>
Commit | Line | Data |
---|---|---|
7da18e44 | 1 | import { Injectable } from '@angular/core'; |
c16ce1de C |
2 | import 'rxjs/add/operator/catch'; |
3 | import 'rxjs/add/operator/map'; | |
7da18e44 | 4 | |
28798b5d | 5 | import { AuthHttp, RestExtractor, RestDataSource, User } from '../../../shared'; |
7da18e44 C |
6 | |
7 | @Injectable() | |
8 | export class UserService { | |
1840c2f7 | 9 | private static BASE_USERS_URL = API_URL + '/api/v1/users/'; |
7da18e44 | 10 | |
de59c48f C |
11 | constructor( |
12 | private authHttp: AuthHttp, | |
13 | private restExtractor: RestExtractor | |
14 | ) {} | |
7da18e44 | 15 | |
ad4a8a1c | 16 | addUser(username: string, password: string, email: string) { |
7da18e44 C |
17 | const body = { |
18 | username, | |
ad4a8a1c | 19 | email, |
7da18e44 C |
20 | password |
21 | }; | |
22 | ||
de59c48f C |
23 | return this.authHttp.post(UserService.BASE_USERS_URL, body) |
24 | .map(this.restExtractor.extractDataBool) | |
bf68dd75 | 25 | .catch(this.restExtractor.handleError); |
7da18e44 C |
26 | } |
27 | ||
28798b5d C |
28 | getDataSource() { |
29 | return new RestDataSource(this.authHttp, UserService.BASE_USERS_URL); | |
7da18e44 C |
30 | } |
31 | ||
32 | removeUser(user: User) { | |
33 | return this.authHttp.delete(UserService.BASE_USERS_URL + user.id); | |
34 | } | |
7da18e44 | 35 | } |