Flowise

Форк
0
44 строки · 1.6 Кб
1
import path from 'path'
2
import * as fs from 'fs'
3
import { StatusCodes } from 'http-status-codes'
4
import { InternalFlowiseError } from '../../errors/internalFlowiseError'
5
import { getErrorMessage } from '../../errors/utils'
6

7
const getVersion = async () => {
8
    try {
9
        const getPackageJsonPath = (): string => {
10
            const checkPaths = [
11
                path.join(__dirname, '..', 'package.json'),
12
                path.join(__dirname, '..', '..', 'package.json'),
13
                path.join(__dirname, '..', '..', '..', 'package.json'),
14
                path.join(__dirname, '..', '..', '..', '..', 'package.json'),
15
                path.join(__dirname, '..', '..', '..', '..', '..', 'package.json')
16
            ]
17
            for (const checkPath of checkPaths) {
18
                if (fs.existsSync(checkPath)) {
19
                    return checkPath
20
                }
21
            }
22
            return ''
23
        }
24
        const packagejsonPath = getPackageJsonPath()
25
        if (!packagejsonPath) {
26
            throw new InternalFlowiseError(StatusCodes.NOT_FOUND, `Version not found`)
27
        }
28
        try {
29
            const content = await fs.promises.readFile(packagejsonPath, 'utf8')
30
            const parsedContent = JSON.parse(content)
31
            return {
32
                version: parsedContent.version
33
            }
34
        } catch (error) {
35
            throw new InternalFlowiseError(StatusCodes.NOT_FOUND, `Version not found- ${getErrorMessage(error)}`)
36
        }
37
    } catch (error) {
38
        throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, `Error: versionService.getVersion - ${getErrorMessage(error)}`)
39
    }
40
}
41

42
export default {
43
    getVersion
44
}
45

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.