]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - client/src/app/+admin/users/user-add/user-add.component.ts
Server: update express-validator
[github/Chocobozzz/PeerTube.git] / client / src / app / +admin / users / user-add / user-add.component.ts
CommitLineData
7da18e44 1import { Component, OnInit } from '@angular/core';
4b2f33f3 2import { FormBuilder, FormGroup } from '@angular/forms';
7da18e44
C
3import { Router } from '@angular/router';
4
7ddd02c9
C
5import { NotificationsService } from 'angular2-notifications';
6
7da18e44 7import { UserService } from '../shared';
4b2f33f3 8import { FormReactive, USER_USERNAME, USER_PASSWORD } from '../../../shared';
7da18e44
C
9
10@Component({
11 selector: 'my-user-add',
ec8d8440 12 templateUrl: './user-add.component.html'
7da18e44 13})
4b2f33f3 14export class UserAddComponent extends FormReactive implements OnInit {
7da18e44
C
15 error: string = null;
16
4b2f33f3
C
17 form: FormGroup;
18 formErrors = {
19 'username': '',
20 'password': ''
21 };
22 validationMessages = {
23 'username': USER_USERNAME.MESSAGES,
24 'password': USER_PASSWORD.MESSAGES,
25 };
7da18e44 26
4b2f33f3
C
27 constructor(
28 private formBuilder: FormBuilder,
29 private router: Router,
7ddd02c9 30 private notificationsService: NotificationsService,
4b2f33f3
C
31 private userService: UserService
32 ) {
33 super();
34 }
35
36 buildForm() {
37 this.form = this.formBuilder.group({
38 username: [ '', USER_USERNAME.VALIDATORS ],
39 password: [ '', USER_PASSWORD.VALIDATORS ],
7da18e44 40 });
4b2f33f3
C
41
42 this.form.valueChanges.subscribe(data => this.onValueChanged(data));
43 }
44
45 ngOnInit() {
46 this.buildForm();
7da18e44
C
47 }
48
0f6da32b 49 addUser() {
7da18e44
C
50 this.error = null;
51
4b2f33f3
C
52 const { username, password } = this.form.value;
53
54 this.userService.addUser(username, password).subscribe(
7ddd02c9
C
55 () => {
56 this.notificationsService.success('Success', `User ${username} created.`);
57 this.router.navigate([ '/admin/users/list' ]);
58 },
7da18e44 59
bf68dd75 60 err => this.error = err.text
7da18e44
C
61 );
62 }
63}