Commit 757e1cfe by Ooh-Ao

service user

parent dc99e826
......@@ -136,7 +136,7 @@
<div class="space-y-2">
<div class="mt-4">
<h2 class="text-base font-semibold">
{{ user.member_firstname }}{{ user.member_lastname }}
{{ user.first_name }}{{ user.last_name }}
</h2>
<p class="text-xs text-gray-500 dark:text-white/70">
{{ user.email }}
......@@ -192,7 +192,7 @@
class="col-span-12 ltr:border-r rtl:border-l p-3 border-gray-200 dark:border-white/10"
>
<a
[routerLink]="['/profile/home', user.member_id]"
[routerLink]="['/profile/home', user.user_id]"
class="space-x-3"
><i class="ri-user-line"></i><span>Profile</span></a
>
......
import { Component,OnInit } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { environment } from 'src/environments/environment';
import { HttpClient } from '@angular/common/http';
import { HttpErrorResponse } from '@angular/common/http';
import { UserService } from 'src/app/services/user.service';
import { UserProfileModel } from 'src/app/models/user.model';
@Component({
selector: 'app-user-management',
......@@ -10,17 +12,61 @@ import { HttpErrorResponse } from '@angular/common/http';
})
export class UserManagementComponent {
memberlist: any[] = [];
memberlist: UserProfileModel[] = []
selectedUser?: UserProfileModel
constructor(private userService: UserService) { }
ngOnInit() {
this.getUser()
}
getUser() {
this.userService.getLists().subscribe(result => {
this.memberlist = result
})
}
getUserId() {
this.userService.getById("73079f3b-b58a-46e6-a779-20a64911e505").subscribe(result => {
console.log(result)
})
}
saveUser() {
if (this.selectedUser) {
this.userService.save(this.selectedUser).subscribe(result => {
console.log(result)
})
}
}
deleteUser() {
if (this.selectedUser) {
this.userService.delete(this.selectedUser).subscribe(result => {
console.log(result)
})
}
}
ngOnInit(): void {
// จำลองข้อมูลตัวอย่าง
this.memberlist = [
{ id: 1, member_firstname: 'Alice', member_lastname: 'Smith', role: 'Admin' },
{ id: 2, member_firstname: 'Bob', member_lastname: 'Johnson', role: 'User' },
{ id: 3, member_firstname: 'Charlie', member_lastname: 'Brown', role: 'Manager' }
];
updateUser() {
if (this.selectedUser) {
this.userService.update(this.selectedUser).subscribe(result => {
console.log(result)
})
}
}
// memberlist: any[] = [];
// ngOnInit(): void {
// // จำลองข้อมูลตัวอย่าง
// this.memberlist = [
// { id: 1, member_firstname: 'Alice', member_lastname: 'Smith', role: 'Admin' },
// { id: 2, member_firstname: 'Bob', member_lastname: 'Johnson', role: 'User' },
// { id: 3, member_firstname: 'Charlie', member_lastname: 'Brown', role: 'Manager' }
// ];
// }
// constructor(private http: HttpClient) {}
// ngOnInit() {
......
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class EquirementService {
constructor() { }
}
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class ProjectService {
constructor() { }
}
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { environment } from 'src/environments/environment';
import { UserProfileModel } from '../models/user.model';
import { map, tap, switchMap, filter, reduce } from "rxjs/operators";
@Injectable({
providedIn: 'root'
})
export class UserService {
apiBaseUrl = environment.baseUrl + "/users";
constructor(
private http: HttpClient
) { }
getById(id: string) {
return this.http
.get<UserProfileModel>(this.apiBaseUrl + "/" + id)
.pipe(map((e) => new UserProfileModel(e)));
}
getLists() {
return this.http
.get<UserProfileModel[]>(this.apiBaseUrl)
.pipe(
map((e) => e.map((e) => new UserProfileModel(e)))
);
}
save(body: UserProfileModel) {
return this.http.post<{
"message": string,
"user": UserProfileModel
}>(this.apiBaseUrl, new UserProfileModel(body));
}
update(body: UserProfileModel) {
return this.http.put<{
"message": string,
"user": UserProfileModel
}>(this.apiBaseUrl + "/" + body.user_id, new UserProfileModel(body));
}
delete(body: UserProfileModel) {
return this.http.delete<{
"message": string,
"user": UserProfileModel
}>(this.apiBaseUrl + "/" + body.user_id);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment