From fbf5b5d2e6faf18cee46150c6e9c0f0906bc2518 Mon Sep 17 00:00:00 2001 From: Phet Date: Wed, 21 Aug 2024 16:46:55 +0700 Subject: [PATCH] [feat] - add delete user --- .../users/container/users/users.container.html | 2 +- .../users/container/users/users.container.ts | 18 +++++++++++++++++- .../user-list/user-list.component.html | 1 + .../presenter/user-list/user-list.component.ts | 7 +++---- src/app/sathon-cathay-pay.service.ts | 4 ++++ 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/app/pages/manage/users/container/users/users.container.html b/src/app/pages/manage/users/container/users/users.container.html index f091fe9..6b534e1 100644 --- a/src/app/pages/manage/users/container/users/users.container.html +++ b/src/app/pages/manage/users/container/users/users.container.html @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/src/app/pages/manage/users/container/users/users.container.ts b/src/app/pages/manage/users/container/users/users.container.ts index a7515a3..46e458d 100644 --- a/src/app/pages/manage/users/container/users/users.container.ts +++ b/src/app/pages/manage/users/container/users/users.container.ts @@ -19,10 +19,11 @@ export class UsersContainer { constructor( private sathonSV: SathonCathayPayService, private dialog: MatDialog, - private appService: AppService, + private appSV: AppService, private cdr: ChangeDetectorRef ) { this.userList$ = this.sathonSV.getAllUsers() + } @@ -38,4 +39,19 @@ export class UsersContainer { }) ).subscribe() } + + onDeleteUser(user) { + this.appSV.confirm(EAction.DELETE).pipe( + filter(r => r.isConfirmed), + switchMap(() => this.sathonSV.deleteUser(user.id)), + tap(() => { + this.userList$ = this.sathonSV.getAllUsers() + this.cdr.detectChanges() + }), + catchError(err => { + this.appSV.message('error', 'เกิดข้อผิดพลาด') + return throwError(err) + }) + ).subscribe() + } } diff --git a/src/app/pages/manage/users/presenter/user-list/user-list.component.html b/src/app/pages/manage/users/presenter/user-list/user-list.component.html index 627ce02..cfc4a1a 100644 --- a/src/app/pages/manage/users/presenter/user-list/user-list.component.html +++ b/src/app/pages/manage/users/presenter/user-list/user-list.component.html @@ -57,6 +57,7 @@
+
diff --git a/src/app/pages/manage/users/presenter/user-list/user-list.component.ts b/src/app/pages/manage/users/presenter/user-list/user-list.component.ts index 923545e..915d537 100644 --- a/src/app/pages/manage/users/presenter/user-list/user-list.component.ts +++ b/src/app/pages/manage/users/presenter/user-list/user-list.component.ts @@ -11,7 +11,7 @@ export class UserListComponent extends BaseList implements OnChanges { @Input() userList: any = []; @Output() edit = new EventEmitter(); @Output() search = new EventEmitter(); - @Output() OnDelete = new EventEmitter() + @Output() OnDeleteUser = new EventEmitter() query = { name: null, card: null @@ -34,9 +34,8 @@ export class UserListComponent extends BaseList implements OnChanges { this.edit.emit(user) } - onDeleteKyc(uid: string) { - // console.log(uid) - this.OnDelete.emit(uid) + onDeleteUser(uid: string) { + this.OnDeleteUser.emit(uid) } onFilterCard($event) { diff --git a/src/app/sathon-cathay-pay.service.ts b/src/app/sathon-cathay-pay.service.ts index 1f93df2..7e5872b 100644 --- a/src/app/sathon-cathay-pay.service.ts +++ b/src/app/sathon-cathay-pay.service.ts @@ -16,6 +16,10 @@ export class SathonCathayPayService { return this.http.get<[]>(`${this.endpoint}/v1/user`).pipe(map((d: any) => d.data)) } + deleteUser(userId) { + return this.http.delete<[]>(`${this.endpoint}/v1/user/${userId}`) + } + lockUnlockUser(id: string): Observable {