Release 0.9.2 (#521)

ECL Decode Payment #517
Sweep All asking for password from SSO users #519
pull/524/head v0.9.2
ShahanaFarooqui 4 years ago committed by GitHub
parent a390dbda3f
commit 58c46ebf71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -15,5 +15,5 @@
<link rel="stylesheet" href="styles.a87bd00d80a3f00717e3.css"></head> <link rel="stylesheet" href="styles.a87bd00d80a3f00717e3.css"></head>
<body> <body>
<rtl-app></rtl-app> <rtl-app></rtl-app>
<script src="runtime.847357e57be0d1216bef.js" defer></script><script src="polyfills-es5.2ac0d98b22574ae745b1.js" nomodule defer></script><script src="polyfills.5ae721a6ae5ab597a53d.js" defer></script><script src="main.b4fa9dae26f218a7142d.js" defer></script></body> <script src="runtime.557e2f220d3836209742.js" defer></script><script src="polyfills-es5.2ac0d98b22574ae745b1.js" nomodule defer></script><script src="polyfills.5ae721a6ae5ab597a53d.js" defer></script><script src="main.b019d1ec04d0afd2b62d.js" defer></script></body>
</html> </html>

File diff suppressed because one or more lines are too long

@ -1 +1 @@
!function(e){function r(r){for(var n,a,i=r[0],c=r[1],f=r[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({}[e]||e)+"."+{1:"07193c762dd7469c63c8",6:"a09d4a670f5611bfdc5c",7:"e955a16c6af1870f3a25",8:"46ac257a195b700be065"}[e]+".js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var f=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var f=0;f<i.length;f++)r(i[f]);var l=c;t()}([]); !function(e){function r(r){for(var n,a,i=r[0],c=r[1],f=r[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(l&&l(r);s.length;)s.shift()();return u.push.apply(u,f||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise((function(r,n){t=o[e]=[r,n]}));r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({}[e]||e)+"."+{1:"07193c762dd7469c63c8",6:"d5f36502e36ce33775a8",7:"e955a16c6af1870f3a25",8:"d2aae145b0c672e1b7ff"}[e]+".js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(f);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var f=setTimeout((function(){u({type:"timeout",target:i})}),12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var f=0;f<i.length;f++)r(i[f]);var l=c;t()}([]);

@ -18,7 +18,7 @@ exports.authenticateUser = (req, res, next) => {
res.status(200).json({ token: token }); res.status(200).json({ token: token });
} else { } else {
logger.error({fileName: 'Authenticate', lineNum: 20, msg: 'SSO Authentication Failed!'}); logger.error({fileName: 'Authenticate', lineNum: 20, msg: 'SSO Authentication Failed!'});
res.status(401).json({ res.status(406).json({
message: "Login Failure!", message: "Login Failure!",
error: "SSO Authentication Failed!" error: "SSO Authentication Failed!"
}); });

@ -106,36 +106,6 @@ exports.queryPaymentRoute = (req, res, next) => {
}); });
}; };
exports.getSentPaymentInformation = (req, res, next) => {
options = common.getOptions();
options.url = common.getSelLNServerUrl() + '/getsentinfo';
options.form = { paymentHash: req.params.paymentHash };
request.post(options).then((body) => {
logger.info({fileName: 'Payments', msg: 'Payment Sent Information Received: ' + JSON.stringify(body)});
body.forEach(sentPayment => {
sentPayment.createdAtStr = (!sentPayment.createdAt) ? '' : common.convertTimestampToDate(sentPayment.createdAt);
if (sentPayment.amount) { sentPayment.amount = Math.round(sentPayment.amount/1000); }
if (sentPayment.recipientAmount) { sentPayment.recipientAmount = Math.round(sentPayment.recipientAmount/1000); }
});
res.status(200).json(body);
})
.catch(errRes => {
let err = JSON.parse(JSON.stringify(errRes));
if (err.options && err.options.headers && err.options.headers.authorization) {
delete err.options.headers.authorization;
}
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) {
delete err.response.request.headers.authorization;
}
logger.error({fileName: 'Payments', lineNum: 131, msg: 'Payment Sent Information Error: ' + JSON.stringify(err)});
return res.status(err.statusCode ? err.statusCode : 500).json({
message: "Payment Sent Information Failed!",
error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error"
});
});
};
exports.getSentPaymentsInformation = (req, res, next) => { exports.getSentPaymentsInformation = (req, res, next) => {
options = common.getOptions(); options = common.getOptions();
if (req.body.payments) { if (req.body.payments) {
@ -153,7 +123,7 @@ exports.getSentPaymentsInformation = (req, res, next) => {
if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) { if (err.response && err.response.request && err.response.request.headers && err.response.request.headers.authorization) {
delete err.response.request.headers.authorization; delete err.response.request.headers.authorization;
} }
logger.error({fileName: 'Payments', lineNum: 158, msg: 'Payment Sent Information Error: ' + JSON.stringify(err)}); logger.error({fileName: 'Payments', lineNum: 126, msg: 'Payment Sent Information Error: ' + JSON.stringify(err)});
return res.status(err.statusCode ? err.statusCode : 500).json({ return res.status(err.statusCode ? err.statusCode : 500).json({
message: "Payment Sent Information Failed!", message: "Payment Sent Information Failed!",
error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error" error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error"

2
package-lock.json generated

@ -1,6 +1,6 @@
{ {
"name": "rtl", "name": "rtl",
"version": "0.9.0-beta", "version": "0.9.2-beta",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

@ -1,6 +1,6 @@
{ {
"name": "rtl", "name": "rtl",
"version": "0.9.1-beta", "version": "0.9.2-beta",
"license": "MIT", "license": "MIT",
"scripts": { "scripts": {
"ng": "ng", "ng": "ng",

@ -5,7 +5,6 @@ const authCheck = require("../authCheck");
router.get("/route/", authCheck, PaymentsController.queryPaymentRoute); router.get("/route/", authCheck, PaymentsController.queryPaymentRoute);
router.get("/:invoice", authCheck, PaymentsController.decodePayment); router.get("/:invoice", authCheck, PaymentsController.decodePayment);
router.get("/getsentinfo/:paymentHash", authCheck, PaymentsController.getSentPaymentInformation);
router.post("/getsentinfos", authCheck, PaymentsController.getSentPaymentsInformation); router.post("/getsentinfos", authCheck, PaymentsController.getSentPaymentsInformation);
router.post("/", authCheck, PaymentsController.postPayment); router.post("/", authCheck, PaymentsController.postPayment);

@ -78,7 +78,7 @@
<ng-template #sweepAllBlock> <ng-template #sweepAllBlock>
<div fxLayout="column"> <div fxLayout="column">
<mat-vertical-stepper [linear]="true" #stepper (selectionChange)="stepSelectionChanged($event)"> <mat-vertical-stepper [linear]="true" #stepper (selectionChange)="stepSelectionChanged($event)">
<mat-step [stepControl]="passwordFormGroup" [editable]="flgEditable"> <mat-step *ngIf="!appConfig.sso.rtlSSO" [stepControl]="passwordFormGroup" [editable]="flgEditable">
<form [formGroup]="passwordFormGroup" fxLayout="column" fxLayoutAlign="space-between" class="my-1 pr-1"> <form [formGroup]="passwordFormGroup" fxLayout="column" fxLayoutAlign="space-between" class="my-1 pr-1">
<ng-template matStepLabel>{{passwordFormLabel}}</ng-template> <ng-template matStepLabel>{{passwordFormLabel}}</ng-template>
<div fxLayout="row"> <div fxLayout="row">

@ -56,7 +56,7 @@
<ng-template #sweepAllBlock> <ng-template #sweepAllBlock>
<div fxLayout="column"> <div fxLayout="column">
<mat-vertical-stepper [linear]="true" #stepper (selectionChange)="stepSelectionChanged($event)"> <mat-vertical-stepper [linear]="true" #stepper (selectionChange)="stepSelectionChanged($event)">
<mat-step [stepControl]="passwordFormGroup" [editable]="flgEditable"> <mat-step *ngIf="!appConfig.sso.rtlSSO" [stepControl]="passwordFormGroup" [editable]="flgEditable">
<form [formGroup]="passwordFormGroup" fxLayout="column" fxLayoutAlign="space-between" class="my-1 pr-1"> <form [formGroup]="passwordFormGroup" fxLayout="column" fxLayoutAlign="space-between" class="my-1 pr-1">
<ng-template matStepLabel>{{passwordFormLabel}}</ng-template> <ng-template matStepLabel>{{passwordFormLabel}}</ng-template>
<div fxLayout="row"> <div fxLayout="row">

@ -54,7 +54,7 @@ export class DataService implements OnInit, OnDestroy {
decodePayment(payment: string, fromDialog: boolean) { decodePayment(payment: string, fromDialog: boolean) {
let url = this.childAPIUrl + environment.PAYREQUEST_API + '/' + payment; let url = this.childAPIUrl + environment.PAYREQUEST_API + '/' + payment;
if (this.getLnImplementation() === 'ECL') { if (this.getLnImplementation() === 'ECL') {
url = this.childAPIUrl + environment.PAYMENTS_API + '/getsentinfo/' + payment; url = this.childAPIUrl + environment.PAYMENTS_API + '/' + payment;
} }
this.store.dispatch(new RTLActions.OpenSpinner('Decoding Payment...')); this.store.dispatch(new RTLActions.OpenSpinner('Decoding Payment...'));
return this.httpClient.get(url) return this.httpClient.get(url)

@ -332,10 +332,10 @@ export class RTLEffects implements OnDestroy {
}), }),
catchError((err) => { catchError((err) => {
this.logger.info('Redirecting to Login Error Page'); this.logger.info('Redirecting to Login Error Page');
this.handleErrorWithAlert('ERROR', 'Authorization Failed!', environment.AUTHENTICATE_API, err); this.handleErrorWithoutAlert('ERROR', err);
this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'Login', code: err.status, message: err.error.error })); this.store.dispatch(new RTLActions.EffectErrorRoot({ action: 'Login', code: err.status, message: err.error.error }));
if (+rootStore.appConfig.sso.rtlSSO) { if (+rootStore.appConfig.sso.rtlSSO) {
this.router.navigate(['/error'], { state: { errorCode: '401', errorMessage: 'Single Sign On Failed!' }}); this.router.navigate(['/error'], { state: { errorCode: '406', errorMessage: 'Single Sign On Failed!' }});
} else { } else {
this.router.navigate([rootStore.appConfig.sso.logoutRedirectLink]); this.router.navigate([rootStore.appConfig.sso.logoutRedirectLink]);
} }

@ -1 +1 @@
export const VERSION = '0.9.1-beta'; export const VERSION = '0.9.2-beta';
Loading…
Cancel
Save