Flowise

Форк
0
75 строк · 2.6 Кб
1
import { MoreThanOrEqual, LessThanOrEqual } from 'typeorm'
2
import { StatusCodes } from 'http-status-codes'
3
import { getRunningExpressApp } from '../../utils/getRunningExpressApp'
4
import { UpsertHistory } from '../../database/entities/UpsertHistory'
5
import { InternalFlowiseError } from '../../errors/internalFlowiseError'
6
import { getErrorMessage } from '../../errors/utils'
7

8
const getAllUpsertHistory = async (
9
    sortOrder: string | undefined,
10
    chatflowid: string | undefined,
11
    startDate: string | undefined,
12
    endDate: string | undefined
13
) => {
14
    try {
15
        const appServer = getRunningExpressApp()
16

17
        const setDateToStartOrEndOfDay = (dateTimeStr: string, setHours: 'start' | 'end') => {
18
            const date = new Date(dateTimeStr)
19
            if (isNaN(date.getTime())) {
20
                return undefined
21
            }
22
            setHours === 'start' ? date.setHours(0, 0, 0, 0) : date.setHours(23, 59, 59, 999)
23
            return date
24
        }
25

26
        let fromDate
27
        if (startDate) fromDate = setDateToStartOrEndOfDay(startDate, 'start')
28

29
        let toDate
30
        if (endDate) toDate = setDateToStartOrEndOfDay(endDate, 'end')
31

32
        let upsertHistory = await appServer.AppDataSource.getRepository(UpsertHistory).find({
33
            where: {
34
                chatflowid,
35
                ...(fromDate && { date: MoreThanOrEqual(fromDate) }),
36
                ...(toDate && { date: LessThanOrEqual(toDate) })
37
            },
38
            order: {
39
                date: sortOrder === 'DESC' ? 'DESC' : 'ASC'
40
            }
41
        })
42
        upsertHistory = upsertHistory.map((hist) => {
43
            return {
44
                ...hist,
45
                result: hist.result ? JSON.parse(hist.result) : {},
46
                flowData: hist.flowData ? JSON.parse(hist.flowData) : {}
47
            }
48
        })
49

50
        return upsertHistory
51
    } catch (error) {
52
        throw new InternalFlowiseError(
53
            StatusCodes.INTERNAL_SERVER_ERROR,
54
            `Error: upsertHistoryServices.getAllUpsertHistory - ${getErrorMessage(error)}`
55
        )
56
    }
57
}
58

59
const patchDeleteUpsertHistory = async (ids: string[] = []): Promise<any> => {
60
    try {
61
        const appServer = getRunningExpressApp()
62
        const dbResponse = await appServer.AppDataSource.getRepository(UpsertHistory).delete(ids)
63
        return dbResponse
64
    } catch (error) {
65
        throw new InternalFlowiseError(
66
            StatusCodes.INTERNAL_SERVER_ERROR,
67
            `Error: upsertHistoryServices.patchDeleteUpsertHistory - ${getErrorMessage(error)}`
68
        )
69
    }
70
}
71

72
export default {
73
    getAllUpsertHistory,
74
    patchDeleteUpsertHistory
75
}
76

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

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

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

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