diff options
Diffstat (limited to 'server')
-rw-r--r-- | server/controllers/api/config.ts | 5 | ||||
-rw-r--r-- | server/helpers/utils.ts | 13 | ||||
-rw-r--r-- | server/tools/cli.ts | 13 |
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 | |||
10 | import { ClientHtml } from '../../lib/client-html' | 10 | import { ClientHtml } from '../../lib/client-html' |
11 | import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '../../helpers/audit-logger' | 11 | import { auditLoggerFactory, CustomConfigAuditView, getAuditIdFromRes } from '../../helpers/audit-logger' |
12 | import { remove, writeJSON } from 'fs-extra' | 12 | import { remove, writeJSON } from 'fs-extra' |
13 | import { version } from '../../tools/cli' | ||
13 | 14 | ||
14 | const packageJSON = require('../../../../package.json') | 15 | const packageJSON = require('../../../../package.json') |
15 | const configRouter = express.Router() | 16 | const configRouter = express.Router() |
@@ -38,9 +39,12 @@ configRouter.delete('/custom', | |||
38 | asyncMiddleware(deleteCustomConfig) | 39 | asyncMiddleware(deleteCustomConfig) |
39 | ) | 40 | ) |
40 | 41 | ||
42 | let serverCommit: string | ||
41 | async function getConfig (req: express.Request, res: express.Response, next: express.NextFunction) { | 43 | async 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 | ||
57 | function 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 | ||
59 | export { | 71 | export { |
@@ -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 @@ | |||
1 | const config = require('application-config')('PeerTube/CLI') | 1 | const config = require('application-config')('PeerTube/CLI') |
2 | const netrc = require('netrc-parser').default | 2 | const netrc = require('netrc-parser').default |
3 | import { getVersion } from '../helpers/utils' | ||
3 | 4 | ||
4 | const version = () => { | 5 | const 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 | ||
16 | let settings = { | 7 | let settings = { |
17 | remotes: [], | 8 | remotes: [], |