aboutsummaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/controllers/api/config.ts5
-rw-r--r--server/helpers/utils.ts13
-rw-r--r--server/tools/cli.ts13
3 files changed, 20 insertions, 11 deletions
diff --git a/server/controllers/api/config.ts b/server/controllers/api/config.ts
index 95549b724..633cf5e34 100644
--- a/server/controllers/api/config.ts
+++ b/server/controllers/api/config.ts
@@ -10,6 +10,7 @@ import { customConfigUpdateValidator } from '../../middlewares/validators/config
10import { ClientHtml } from '../../lib/client-html' 10import { ClientHtml } from '../../lib/client-html'
11import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '../../helpers/audit-logger' 11import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '../../helpers/audit-logger'
12import { remove, writeJSON } from 'fs-extra' 12import { remove, writeJSON } from 'fs-extra'
13import { version } from '../../tools/cli'
13 14
14const packageJSON = require('../../../../package.json') 15const packageJSON = require('../../../../package.json')
15const configRouter = express.Router() 16const configRouter = express.Router()
@@ -38,9 +39,12 @@ configRouter.delete('/custom',
38 asyncMiddleware(deleteCustomConfig) 39 asyncMiddleware(deleteCustomConfig)
39) 40)
40 41
42let serverCommit: string
41async function getConfig (req: express.Request, res: express.Response, next: express.NextFunction) { 43async function getConfig (req: express.Request, res: express.Response, next: express.NextFunction) {
42 const allowed = await isSignupAllowed() 44 const allowed = await isSignupAllowed()
43 const allowedForCurrentIP = isSignupAllowedForCurrentIP(req.ip) 45 const allowedForCurrentIP = isSignupAllowedForCurrentIP(req.ip)
46 serverCommit = (serverCommit) ? serverCommit : version()
47 if (serverCommit === packageJSON.version) serverCommit = ''
44 48
45 const enabledResolutions = Object.keys(CONFIG.TRANSCODING.RESOLUTIONS) 49 const enabledResolutions = Object.keys(CONFIG.TRANSCODING.RESOLUTIONS)
46 .filter(key => CONFIG.TRANSCODING.ENABLED === CONFIG.TRANSCODING.RESOLUTIONS[key] === true) 50 .filter(key => CONFIG.TRANSCODING.ENABLED === CONFIG.TRANSCODING.RESOLUTIONS[key] === true)
@@ -58,6 +62,7 @@ async function getConfig (req: express.Request, res: express.Response, next: exp
58 } 62 }
59 }, 63 },
60 serverVersion: packageJSON.version, 64 serverVersion: packageJSON.version,
65 serverCommit,
61 signup: { 66 signup: {
62 allowed, 67 allowed,
63 allowedForCurrentIP, 68 allowedForCurrentIP,
diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts
index a42474417..f5bf6de56 100644
--- a/server/helpers/utils.ts
+++ b/server/helpers/utils.ts
@@ -54,6 +54,18 @@ function getSecureTorrentName (originalName: string) {
54 return sha256(originalName) + '.torrent' 54 return sha256(originalName) + '.torrent'
55} 55}
56 56
57function getVersion () {
58 const tag = require('child_process')
59 .execSync('[[ ! -d .git ]] || git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || true', { stdio: [0,1,2] })
60 if (tag) return tag.replace(/^v/, '')
61
62 const version = require('child_process')
63 .execSync('[[ ! -d .git ]] || git rev-parse --short HEAD').toString().trim()
64 if (version) return version
65
66 return require('../../../package.json').version
67}
68
57// --------------------------------------------------------------------------- 69// ---------------------------------------------------------------------------
58 70
59export { 71export {
@@ -62,5 +74,6 @@ export {
62 getFormattedObjects, 74 getFormattedObjects,
63 getSecureTorrentName, 75 getSecureTorrentName,
64 getServerActor, 76 getServerActor,
77 getVersion,
65 generateVideoTmpPath 78 generateVideoTmpPath
66} 79}
diff --git a/server/tools/cli.ts b/server/tools/cli.ts
index 9a170d4da..87d1512a3 100644
--- a/server/tools/cli.ts
+++ b/server/tools/cli.ts
@@ -1,17 +1,8 @@
1const config = require('application-config')('PeerTube/CLI') 1const config = require('application-config')('PeerTube/CLI')
2const netrc = require('netrc-parser').default 2const netrc = require('netrc-parser').default
3import { getVersion } from '../helpers/utils'
3 4
4const version = () => { 5const version = getVersion
5 const tag = require('child_process')
6 .execSync('[[ ! -d .git ]] || git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || true', { stdio: [0,1,2] })
7 if (tag) return tag
8
9 const version = require('child_process')
10 .execSync('[[ ! -d .git ]] || git rev-parse --short HEAD').toString().trim()
11 if (version) return version
12
13 return require('../../../package.json').version
14}
15 6
16let settings = { 7let settings = {
17 remotes: [], 8 remotes: [],