# sequra/3.0.0/assets/js/src/core/ResponseService.js

seQura, version 3.0.0. 57 lines.

- Page: https://pluginprobe.com/plugins/sequra/3.0.0/code/assets/js/src/core/ResponseService.js
- Raw: https://pluginprobe.com/plugins/sequra/3.0.0/raw/assets/js/src/core/ResponseService.js
- Modified: 2024-10-29T15:19:22+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/sequra/3.0.0/code/assets/js/src/core/ResponseService.js#L10-L20`.

```javascript
if (!window.SequraFE) {
    window.SequraFE = {};
}

(function () {
    /**
     * The ResponseService constructor.
     *
     * @constructor
     */
    function ResponseService() {
        /**
         * Handles an error response from the submit action.
         *
         * @param {{errorMessage?: string, errorCode?: string}} response
         * @returns {Promise<void>}
         */
        this.errorHandler = (response) => {
            const {utilities, templateService, elementGenerator} = SequraFE;
            let container = document.querySelector('.sqp-flash-message-wrapper');
            if (!container) {
                container = elementGenerator.createElement('div', 'sqp-flash-message-wrapper');
                templateService.getMainPage().prepend(container);
            }

            templateService.clearComponent(container);

            if (response.errorCode) {
                container.prepend(utilities.createFlashMessage(response.errorCode, 'error'));
            } else if (response.errorMessage) {
                container.prepend(utilities.createFlashMessage(response.errorMessage, 'error'));
            } else {
                container.prepend(utilities.createFlashMessage('general.errors.unknown', 'error'));
            }

            return Promise.reject(response);
        };

        /**
         * Handles unauthorized response.
         *
         * @param {{errorMessage?: string, errorCode?: string, statusCode?: number}} response
         * @returns {Promise<void>}
         */
        this.unauthorizedHandler = (response) => {
            let page = response.statusCode === 403 ? SequraFE.appPages.ONBOARDING.COUNTRIES : SequraFE.appPages.ONBOARDING.CONNECT;
            SequraFE.state.setCredentialsChanged();
            SequraFE.state.goToState(SequraFE.appStates.ONBOARDING + '-' + page);
            SequraFE.utilities.hideLoader();

            return this.errorHandler(response);
        };
    }

    SequraFE.responseService = new ResponseService();
})();

```
