fix(client-profile): handle missing profile image and remove skipErrorHandler usage
- Use standard HTTP error handling instead of skipErrorHandler - Handle 404 errors gracefully in component as expected behavior
This commit is contained in:
@@ -90,12 +90,21 @@ export class ClientsViewComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.clientsService.getClientProfileImage(this.clientViewData.id).subscribe(
|
this.clientsService.getClientProfileImage(this.clientViewData.id).subscribe({
|
||||||
(base64Image: any) => {
|
next: (base64Image: any) => {
|
||||||
this.clientImage = this._sanitizer.bypassSecurityTrustResourceUrl(base64Image);
|
this.clientImage = this._sanitizer.bypassSecurityTrustResourceUrl(base64Image);
|
||||||
},
|
},
|
||||||
(error: any) => {}
|
error: (error: any) => {
|
||||||
);
|
// 404 is expected when client has no profile image - not an error
|
||||||
|
if (error.status === 404) {
|
||||||
|
this.clientImage = null;
|
||||||
|
} else {
|
||||||
|
// Log other unexpected errors
|
||||||
|
console.error('Error loading client profile image:', error);
|
||||||
|
this.clientImage = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
isActive(): boolean {
|
isActive(): boolean {
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { HttpClient, HttpParams } from '@angular/common/http';
|
|||||||
|
|
||||||
/** rxjs Imports */
|
/** rxjs Imports */
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clients service.
|
* Clients service.
|
||||||
*/
|
*/
|
||||||
@@ -170,9 +171,7 @@ export class ClientsService {
|
|||||||
|
|
||||||
getClientProfileImage(clientId: string) {
|
getClientProfileImage(clientId: string) {
|
||||||
const httpParams = new HttpParams().set('maxHeight', '150');
|
const httpParams = new HttpParams().set('maxHeight', '150');
|
||||||
return this.http
|
return this.http.get(`/clients/${clientId}/images`, { params: httpParams, responseType: 'text' });
|
||||||
.skipErrorHandler()
|
|
||||||
.get(`/clients/${clientId}/images`, { params: httpParams, responseType: 'text' });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
uploadClientProfileImage(clientId: string, image: File) {
|
uploadClientProfileImage(clientId: string, image: File) {
|
||||||
|
|||||||
Reference in New Issue
Block a user