mirror of
https://github.com/status-im/codimd.git
synced 2025-01-13 02:54:43 +00:00
ts: lib/web/middleware/checkVersion.js
Signed-off-by: Raccoon <raccoon@hackmd.io>
This commit is contained in:
parent
ced6f7f201
commit
82ddb43d22
@ -1,11 +1,9 @@
|
|||||||
'use strict'
|
import {promisify} from "util";
|
||||||
|
|
||||||
const { promisify } = require('util')
|
import * as request from "request";
|
||||||
|
|
||||||
const request = require('request')
|
import * as logger from "../../logger";
|
||||||
|
import * as config from "../../config";
|
||||||
const logger = require('../../logger')
|
|
||||||
const config = require('../../config')
|
|
||||||
|
|
||||||
let lastCheckAt
|
let lastCheckAt
|
||||||
|
|
||||||
@ -14,11 +12,10 @@ const CHECK_TIMEOUT = 1000 * 60 * 60 * 24 // 1 day
|
|||||||
|
|
||||||
const rp = promisify(request)
|
const rp = promisify(request)
|
||||||
|
|
||||||
exports.checkVersion = checkVersion
|
|
||||||
/**
|
/**
|
||||||
* @param {Express.Application|Express.Request} ctx
|
* @param {Express.Application|Express.Request} ctx
|
||||||
*/
|
*/
|
||||||
async function checkVersion (ctx) {
|
export async function checkVersion(ctx) {
|
||||||
if (lastCheckAt && (lastCheckAt + CHECK_TIMEOUT > Date.now())) {
|
if (lastCheckAt && (lastCheckAt + CHECK_TIMEOUT > Date.now())) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -27,7 +24,7 @@ async function checkVersion (ctx) {
|
|||||||
lastCheckAt = Date.now()
|
lastCheckAt = Date.now()
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const { statusCode, body: data } = await rp({
|
const {statusCode, body: data} = await rp({
|
||||||
url: `${VERSION_CHECK_ENDPOINT}?v=${config.version}`,
|
url: `${VERSION_CHECK_ENDPOINT}?v=${config.version}`,
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
json: true,
|
json: true,
|
||||||
@ -45,7 +42,7 @@ async function checkVersion (ctx) {
|
|||||||
locals.versionInfo.versionItem = data.latest ? null : data.versionItem
|
locals.versionInfo.versionItem = data.latest ? null : data.versionItem
|
||||||
|
|
||||||
if (!data.latest) {
|
if (!data.latest) {
|
||||||
const { version, link } = data.versionItem
|
const {version, link} = data.versionItem
|
||||||
|
|
||||||
logger.info(`Your CodiMD version is out of date! The latest version is ${version}. Please see what's new on ${link}.`)
|
logger.info(`Your CodiMD version is out of date! The latest version is ${version}. Please see what's new on ${link}.`)
|
||||||
}
|
}
|
||||||
@ -56,7 +53,7 @@ async function checkVersion (ctx) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.versionCheckMiddleware = function (req, res, next) {
|
export function versionCheckMiddleware(req, res, next) {
|
||||||
checkVersion(req)
|
checkVersion(req)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
next()
|
next()
|
Loading…
x
Reference in New Issue
Block a user