mirror of
https://github.com/lnbits/lnbits.git
synced 2025-06-27 09:11:57 +02:00
feat: extract utils to static/js
This commit is contained in:
parent
09a9a0f9ec
commit
e3d36e6a3a
@ -1,6 +1,7 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
from fastapi import APIRouter
|
from fastapi import APIRouter
|
||||||
|
from fastapi.staticfiles import StaticFiles
|
||||||
|
|
||||||
from lnbits.db import Database
|
from lnbits.db import Database
|
||||||
from lnbits.helpers import template_renderer
|
from lnbits.helpers import template_renderer
|
||||||
@ -11,6 +12,14 @@ db = Database("ext_satspay")
|
|||||||
|
|
||||||
satspay_ext: APIRouter = APIRouter(prefix="/satspay", tags=["satspay"])
|
satspay_ext: APIRouter = APIRouter(prefix="/satspay", tags=["satspay"])
|
||||||
|
|
||||||
|
satspay_static_files = [
|
||||||
|
{
|
||||||
|
"path": "/satspay/static",
|
||||||
|
"app": StaticFiles(directory="lnbits/extensions/satspay/static"),
|
||||||
|
"name": "satspay_static",
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def satspay_renderer():
|
def satspay_renderer():
|
||||||
return template_renderer(["lnbits/extensions/satspay/templates"])
|
return template_renderer(["lnbits/extensions/satspay/templates"])
|
||||||
|
31
lnbits/extensions/satspay/static/js/utils.js
Normal file
31
lnbits/extensions/satspay/static/js/utils.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
const sleep = ms => new Promise(r => setTimeout(r, ms))
|
||||||
|
const retryWithDelay = async function (fn, retryCount = 0) {
|
||||||
|
try {
|
||||||
|
await sleep(25)
|
||||||
|
// Do not return the call directly, use result.
|
||||||
|
// Otherwise the error will not be cought in this try-catch block.
|
||||||
|
const result = await fn()
|
||||||
|
return result
|
||||||
|
} catch (err) {
|
||||||
|
if (retryCount > 100) throw err
|
||||||
|
await sleep((retryCount + 1) * 1000)
|
||||||
|
return retryWithDelay(fn, retryCount + 1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const mapCharge = obj => {
|
||||||
|
obj._data = _.clone(obj)
|
||||||
|
obj.theTime = obj.time * 60 - (Date.now() / 1000 - obj.timestamp)
|
||||||
|
obj.time = obj.time + 'mins'
|
||||||
|
|
||||||
|
if (obj.time_elapsed) {
|
||||||
|
obj.date = 'Time elapsed'
|
||||||
|
} else {
|
||||||
|
obj.date = Quasar.utils.date.formatDate(
|
||||||
|
new Date((obj.theTime - 3600) * 1000),
|
||||||
|
'HH:mm:ss'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
obj.displayUrl = ['/satspay/', obj.id].join('')
|
||||||
|
return obj
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user