Files
electron-distribution/src/routes/updates.json.js
2019-06-07 23:04:57 +08:00

63 lines
1.5 KiB
JavaScript

import { SYSTEM } from '../config'
export default [{
method: 'GET',
path: `/app/updates.json`,
config: {
auth: false,
tags: ['api', 'app'],
description: 'Update check JSON.'
},
async handler () {
const macLast = this.$db.get('appLog')
.filter({
platform: 'mac',
type: 'install'
})
.sortBy((item) => -item.releaseDate)
.take()
.first()
.value()
const winLast = this.$db.get('appLog')
.filter({
platform: 'win',
type: 'install'
})
.sortBy((item) => -item.releaseDate)
.take()
.first()
.value()
const linuxLast = this.$db.get('appLog')
.filter({
platform: 'linux',
type: 'install'
})
.sortBy((item) => -item.releaseDate)
.take()
.first()
.value()
return {
'win32-x64-prod': winLast ? {
'readme': winLast.name,
'update': SYSTEM.SCHEME + '://' + SYSTEM.DOMAIN + '/app/nupkg/' + winLast.version,
'install': winLast.downloadUrl,
'version': winLast.version
} : {},
'darwin-x64-prod': macLast ? {
'readme': macLast.name,
'update': SYSTEM.SCHEME + '://' + SYSTEM.DOMAIN + '/app/release.json',
'install': macLast.downloadUrl,
'version': macLast.version
} : {},
'linux-x64-prod': linuxLast ? {
'update': linuxLast.downloadUrl,
'install': linuxLast.downloadUrl,
'version': linuxLast.version
} : {}
}
}
}]