mirror of
https://github.com/Ride-The-Lightning/RTL.git
synced 2026-08-13 12:33:07 +02:00
Release 0.9.2 (#521)
ECL Decode Payment #517 Sweep All asking for password from SSO users #519
This commit is contained in:
parent
a390dbda3f
commit
58c46ebf71
16 changed files with 15 additions and 46 deletions
File diff suppressed because one or more lines are too long
1
angular/6.d5f36502e36ce33775a8.js
Normal file
1
angular/6.d5f36502e36ce33775a8.js
Normal file
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>
|
||||
<body>
|
||||
<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>
|
||||
|
|
|
|||
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 });
|
||||
} else {
|
||||
logger.error({fileName: 'Authenticate', lineNum: 20, msg: 'SSO Authentication Failed!'});
|
||||
res.status(401).json({
|
||||
res.status(406).json({
|
||||
message: "Login Failure!",
|
||||
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) => {
|
||||
options = common.getOptions();
|
||||
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) {
|
||||
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({
|
||||
message: "Payment Sent Information Failed!",
|
||||
error: err.error && err.error.error ? err.error.error : err.error ? err.error : "Unknown Server Error"
|
||||
|
|
|
|||
2
package-lock.json
generated
2
package-lock.json
generated
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "rtl",
|
||||
"version": "0.9.0-beta",
|
||||
"version": "0.9.2-beta",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "rtl",
|
||||
"version": "0.9.1-beta",
|
||||
"version": "0.9.2-beta",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"ng": "ng",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ const authCheck = require("../authCheck");
|
|||
|
||||
router.get("/route/", authCheck, PaymentsController.queryPaymentRoute);
|
||||
router.get("/:invoice", authCheck, PaymentsController.decodePayment);
|
||||
router.get("/getsentinfo/:paymentHash", authCheck, PaymentsController.getSentPaymentInformation);
|
||||
router.post("/getsentinfos", authCheck, PaymentsController.getSentPaymentsInformation);
|
||||
router.post("/", authCheck, PaymentsController.postPayment);
|
||||
|
||||
|
|
|
|||
|
|
@ -78,7 +78,7 @@
|
|||
<ng-template #sweepAllBlock>
|
||||
<div fxLayout="column">
|
||||
<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">
|
||||
<ng-template matStepLabel>{{passwordFormLabel}}</ng-template>
|
||||
<div fxLayout="row">
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
<ng-template #sweepAllBlock>
|
||||
<div fxLayout="column">
|
||||
<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">
|
||||
<ng-template matStepLabel>{{passwordFormLabel}}</ng-template>
|
||||
<div fxLayout="row">
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ export class DataService implements OnInit, OnDestroy {
|
|||
decodePayment(payment: string, fromDialog: boolean) {
|
||||
let url = this.childAPIUrl + environment.PAYREQUEST_API + '/' + payment;
|
||||
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...'));
|
||||
return this.httpClient.get(url)
|
||||
|
|
|
|||
|
|
@ -332,10 +332,10 @@ export class RTLEffects implements OnDestroy {
|
|||
}),
|
||||
catchError((err) => {
|
||||
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 }));
|
||||
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 {
|
||||
this.router.navigate([rootStore.appConfig.sso.logoutRedirectLink]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
export const VERSION = '0.9.1-beta';
|
||||
export const VERSION = '0.9.2-beta';
|
||||
Loading…
Add table
Add a link
Reference in a new issue