@63pokupki/nodejs-common
Version:
common nodejs functionality
77 lines (60 loc) • 2.01 kB
text/typescript
import {ErrorSys} from './ErrorSys';
import MainRequest from './MainRequest';
import { MattermostSys } from './MattermostSys';
/**
* Системный сервис формирования ответа
*/
export class ResponseSys
{
private env:string;
private req:MainRequest;
private ifDevMode:boolean;
private errorSys:ErrorSys;
//private mattermostSys:MattermostSys;
constructor(req:MainRequest){
this.req = req;
this.env = req.conf.common.env;
if( this.env == 'local' || this.env == 'dev' || this.env == 'test' ){
this.ifDevMode = true;
} else {
this.ifDevMode = false;
}
this.errorSys = req.sys.errorSys;
/* this.mattermostSys = new MattermostSys(req);
*/
}
/**
* Формирование ответа клиенту
*
* @param array|null data
* @param string sMsg
* @return array
*/
public response(data:any, sMsg:string): any{
let out:any = {
'ok' : this.errorSys.isOk(),
'e' : !this.errorSys.isOk(),
'errors' : this.errorSys.getErrors(),
// 'warning' : this.errorSys.getWarning(), // Временно убраны пользовательские предупреждения
// 'notice' : this.errorSys.getNotice(), // Временно убраны пользовательские предупреждения
'msg' : sMsg,
};
/* // Отправка ошибок в матермост
if( !this.errorSys.isOk() ){
this.mattermostSys.sendMsg();
} */
if( this.ifDevMode ){ // Выводит информацию для разработчиков и тестрировщиков
out['dev_warning'] = this.errorSys.getDevWarning();
out['dev_notice'] = this.errorSys.getDevNotice();
out['dev_declare'] = this.errorSys.getDevDeclare();
out['dev_log'] = this.errorSys.getDevLog();
}
if( this.errorSys.isOk() ){
out['data'] = data;
} else {
out['data'] = null;
out['msg'] = 'Что то пошло не так - обратитесь к администратору';
}
return out;
}
}