import { Inject, Injectable } from '../decorators' import FeedbackService from '../feedback/feedback.service' import ErrorResponseService from './error-response.service' @Injectable('feedbackErrorHandler') export default class FeedbackErrorHandler { constructor( @Inject('$q') private $q: ng.IQService, @Inject('errorResponseService') private errorResponseService: ErrorResponseService, @Inject('feedbackService') private feedbackService: FeedbackService, ) {} responseError(response: ng.IHttpResponse<{ message?: string }>) { if (this.errorResponseService.shouldHandleError(response)) { const message = this.errorResponseService.getErrorMessage(response) this.feedbackService.show(message, { type: 'danger' }) } return this.$q.reject(response) } }