X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2F%2Badmin%2Fusers%2Fshared%2Fuser.service.ts;h=1c1cd575edf312d5cfb53c357424f3cf8b8c0d9e;hb=4771e0008dd26eadbb7eaff64255a6ec914fdadb;hp=d9005b213e510a75ce1aa8e886eef0006ae58baa;hpb=b99290b1d5d736083513fb8f66e91f61bfe07e0b;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/+admin/users/shared/user.service.ts b/client/src/app/+admin/users/shared/user.service.ts index d9005b213..1c1cd575e 100644 --- a/client/src/app/+admin/users/shared/user.service.ts +++ b/client/src/app/+admin/users/shared/user.service.ts @@ -1,49 +1,30 @@ -import { Injectable } from '@angular/core'; -import 'rxjs/add/operator/catch'; -import 'rxjs/add/operator/map'; +import { Injectable } from '@angular/core' +import 'rxjs/add/operator/catch' +import 'rxjs/add/operator/map' -import { AuthHttp, RestExtractor, ResultList, User } from '../../../shared'; +import { AuthHttp, RestExtractor, RestDataSource, User } from '../../../shared' +import { UserCreate } from '../../../../../../shared' @Injectable() export class UserService { - // TODO: merge this constant with account - private static BASE_USERS_URL = '/api/v1/users/'; + private static BASE_USERS_URL = API_URL + '/api/v1/users/' - constructor( + constructor ( private authHttp: AuthHttp, private restExtractor: RestExtractor ) {} - addUser(username: string, password: string) { - const body = { - username, - password - }; - - return this.authHttp.post(UserService.BASE_USERS_URL, body) + addUser (userCreate: UserCreate) { + return this.authHttp.post(UserService.BASE_USERS_URL, userCreate) .map(this.restExtractor.extractDataBool) - .catch(this.restExtractor.handleError); - } - - getUsers() { - return this.authHttp.get(UserService.BASE_USERS_URL) - .map(this.restExtractor.extractDataList) - .map(this.extractUsers) - .catch((res) => this.restExtractor.handleError(res)); + .catch(this.restExtractor.handleError) } - removeUser(user: User) { - return this.authHttp.delete(UserService.BASE_USERS_URL + user.id); + getDataSource () { + return new RestDataSource(this.authHttp, UserService.BASE_USERS_URL) } - private extractUsers(result: ResultList) { - const usersJson = result.data; - const totalUsers = result.total; - const users = []; - for (const userJson of usersJson) { - users.push(new User(userJson)); - } - - return { users, totalUsers }; + removeUser (user: User) { + return this.authHttp.delete(UserService.BASE_USERS_URL + user.id) } }