Commit 6a6af773 by Ooh-Ao

superadmin

parent ade9e5fa
...@@ -16,8 +16,8 @@ ...@@ -16,8 +16,8 @@
<p class="h5 font-semibold mb-2 text-center">Sign In</p> <p class="h5 font-semibold mb-2 text-center">Sign In</p>
<div class="mt-3"> <div class="mt-3">
<form [formGroup]="loginForm" (ngSubmit)="login()" id="segment-1" class="hidden" role="tabpanel" <form [formGroup]="loginForm" (ngSubmit)="login()" id="segment-1" class="hidden" role="tabpanel"
aria-labelledby="segment-item-1"> aria-labelledby="segment-item-1">
<!-- <div class="form-group mt-2"> --> <!-- <div class="form-group mt-2"> -->
@if(errorMessage.length > 0){ @if(errorMessage.length > 0){
......
...@@ -120,9 +120,11 @@ export class LoginComponent { ...@@ -120,9 +120,11 @@ export class LoginComponent {
body.username = this.username; body.username = this.username;
body.password = this.password; body.password = this.password;
this.authService.login(this.loginForm.controls['username'].value, this.loginForm.controls['password'].value).subscribe(result => { this.authService.login(this.loginForm.controls['username'].value, this.loginForm.controls['password'].value).subscribe(result => {
this.tokenService.saveToken(result.access_token); console.log(result)
this.tokenService.saveToken(result.accessToken);
// this.tokenService.saveRefreshToken(result.refreshToken); // this.tokenService.saveRefreshToken(result.refreshToken);
this.tokenService.saveUser(result); this.tokenService.saveUser(result);
this.routes.navigate(['/admin/member-manage'])
// if (result.member.status == 1) { // if (result.member.status == 1) {
// if (result.member.role == 99) { // if (result.member.role == 99) {
// this.routes.navigate(['/admin/member-manage']) // this.routes.navigate(['/admin/member-manage'])
......
...@@ -18,8 +18,8 @@ interface Item { ...@@ -18,8 +18,8 @@ interface Item {
}) })
export class HeaderComponent { export class HeaderComponent {
userModel : UserProfileModel = new UserProfileModel(this.tokenService.getUser().member,this.translate) userModel : UserProfileModel = new UserProfileModel(this.tokenService.getUser(),this.translate)
adminRole = false adminRole = true
cartItemCount: number = 5; cartItemCount: number = 5;
notificationCount: number = 5; notificationCount: number = 5;
public isCollapsed = true; public isCollapsed = true;
...@@ -144,7 +144,7 @@ export class HeaderComponent { ...@@ -144,7 +144,7 @@ export class HeaderComponent {
public text!: string; public text!: string;
public SearchResultEmpty: boolean = false; public SearchResultEmpty: boolean = false;
ngOnInit() { ngOnInit() {
this.adminRole = this.tokenService.getUser().member.role == 99 ? true : false this.adminRole = true
console.log("Admin",this.adminRole) console.log("Admin",this.adminRole)
this.navServices.items.subscribe((menuItems) => { this.navServices.items.subscribe((menuItems) => {
this.items = menuItems; this.items = menuItems;
......
...@@ -5,7 +5,7 @@ import { ProfileModel, UserModel } from '../user-auth.model'; ...@@ -5,7 +5,7 @@ import { ProfileModel, UserModel } from '../user-auth.model';
providedIn: 'root', providedIn: 'root',
}) })
export class AuthService { export class AuthService {
apiBaseUrl = "/auth"; apiBaseUrl = "/auth/company";
constructor( constructor(
private http: HttpClient, private http: HttpClient,
) { ) {
......
...@@ -23,22 +23,22 @@ export class HttpRequestInterceptor { ...@@ -23,22 +23,22 @@ export class HttpRequestInterceptor {
} else { } else {
let authReq = req; let authReq = req;
const fullUrl = req.url.startsWith("http") ? req.url : environment.baseUrl + req.url; const fullUrl = req.url.startsWith("http") ? req.url : environment.baseUrl + req.url;
const token = "Bearer "+this.tokenService.getToken() const token = this.tokenService.getToken() ? "Bearer " + this.tokenService.getToken() : null
console.log(fullUrl) console.log(fullUrl)
if (token != null) { if (token != null) {
authReq = this.addTokenHeader(req, token ,fullUrl); authReq = this.addTokenHeader(req, token, fullUrl);
}else{ } else {
const overideReq = { const overideReq = {
url: fullUrl, url: fullUrl,
}; };
authReq = req.clone(overideReq); authReq = req.clone(overideReq);
} }
console.log("full url : ",fullUrl) console.log("full url : ", fullUrl)
return next.handle(authReq).pipe(catchError(error => { return next.handle(authReq).pipe(catchError(error => {
console.log("error",error) console.log("error", error)
if (error instanceof HttpErrorResponse && error.status === 403 && !fullUrl.includes("login")) { if (error instanceof HttpErrorResponse && error.status === 403 && !fullUrl.includes("login")) {
console.log("error",403) console.log("error", 403)
return this.handle403Error(authReq, next ,fullUrl); return this.handle403Error(authReq, next, fullUrl);
} }
return throwError(error); return throwError(error);
})); }));
...@@ -46,7 +46,7 @@ export class HttpRequestInterceptor { ...@@ -46,7 +46,7 @@ export class HttpRequestInterceptor {
} }
private handle403Error(request: HttpRequest<any>, next: HttpHandler , fullUrl : string) { private handle403Error(request: HttpRequest<any>, next: HttpHandler, fullUrl: string) {
if (!this.isRefreshing) { if (!this.isRefreshing) {
this.isRefreshing = true; this.isRefreshing = true;
this.refreshTokenSubject.next(null); this.refreshTokenSubject.next(null);
...@@ -54,7 +54,7 @@ export class HttpRequestInterceptor { ...@@ -54,7 +54,7 @@ export class HttpRequestInterceptor {
const token = this.tokenService.getRefreshToken(); const token = this.tokenService.getRefreshToken();
if (token) if (token)
return this.authService.refreshToken(token.replace("Bearer ","")).pipe( return this.authService.refreshToken(token.replace("Bearer ", "")).pipe(
switchMap((token: any) => { switchMap((token: any) => {
this.isRefreshing = false; this.isRefreshing = false;
...@@ -62,7 +62,7 @@ export class HttpRequestInterceptor { ...@@ -62,7 +62,7 @@ export class HttpRequestInterceptor {
this.tokenService.saveRefreshToken(token.refreshToken); this.tokenService.saveRefreshToken(token.refreshToken);
this.refreshTokenSubject.next(token.accessToken); this.refreshTokenSubject.next(token.accessToken);
return next.handle(this.addTokenHeader(request, token.accessToken ,fullUrl)); return next.handle(this.addTokenHeader(request, token.accessToken, fullUrl));
}), }),
catchError((err) => { catchError((err) => {
this.isRefreshing = false; this.isRefreshing = false;
...@@ -76,17 +76,17 @@ export class HttpRequestInterceptor { ...@@ -76,17 +76,17 @@ export class HttpRequestInterceptor {
return this.refreshTokenSubject.pipe( return this.refreshTokenSubject.pipe(
filter(token => token !== null), filter(token => token !== null),
take(1), take(1),
switchMap((token) => next.handle(this.addTokenHeader(request, token ,fullUrl))) switchMap((token) => next.handle(this.addTokenHeader(request, token, fullUrl)))
); );
} }
private addTokenHeader(request: HttpRequest<any>, token: string ,fullUrl :string) { private addTokenHeader(request: HttpRequest<any>, token: string, fullUrl: string) {
/* for Spring Boot back-end */ /* for Spring Boot back-end */
// return request.clone({ headers: request.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token) }); // return request.clone({ headers: request.headers.set(TOKEN_HEADER_KEY, 'Bearer ' + token) });
/* for Node.js Express back-end */ /* for Node.js Express back-end */
return request.clone({ headers: request.headers.set(TOKEN_HEADER_KEY, token) , url : fullUrl }); return request.clone({ headers: request.headers.set(TOKEN_HEADER_KEY, token), url: fullUrl });
} }
} }
...@@ -30,8 +30,8 @@ export class TokenService { ...@@ -30,8 +30,8 @@ export class TokenService {
window.localStorage.setItem(TOKEN_KEY, token); window.localStorage.setItem(TOKEN_KEY, token);
const user = this.getUser(); const user = this.getUser();
if (user.access_token) { if (user.accessToken) {
this.saveUser({ ...user, access_token: token }); this.saveUser({ ...user, accessToken: token });
} }
} }
......
...@@ -4,14 +4,14 @@ import { UserProfileModel } from "../DPU/models/user.model"; ...@@ -4,14 +4,14 @@ import { UserProfileModel } from "../DPU/models/user.model";
export class LoginModel { export class LoginModel {
public username: string = ""; public username: string = "";
public password: string = ""; public password: string = "";
public email: string = "";
} }
export class UserModel { export class UserModel {
public access_token: string = ""; username: string;
public token_type: string = ""; memberId: string;
public member : UserProfileModel = new UserProfileModel() accessToken: string;
refreshToken: string;
} }
export interface ProfileModel { export interface ProfileModel {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// The list of file replacements can be found in `angular.json`. // The list of file replacements can be found in `angular.json`.
export const environment = { export const environment = {
production: true, production: true,
baseUrl: 'http://localhost:8000', baseUrl: 'http://192.168.10.85:8090',
firebase: { firebase: {
apiKey: "***************************************", apiKey: "***************************************",
authDomain: "************************", authDomain: "************************",
......
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