Flowise

Форк
0
43 строки · 1.5 Кб
1
import { v4 as uuidv4 } from 'uuid'
2
import { StatusCodes } from 'http-status-codes'
3
import { getRunningExpressApp } from '../../utils/getRunningExpressApp'
4
import { Lead } from '../../database/entities/Lead'
5
import { ILead } from '../../Interface'
6
import { InternalFlowiseError } from '../../errors/internalFlowiseError'
7
import { getErrorMessage } from '../../errors/utils'
8

9
const getAllLeads = async (chatflowid: string) => {
10
    try {
11
        const appServer = getRunningExpressApp()
12
        const dbResponse = await appServer.AppDataSource.getRepository(Lead).find({
13
            where: {
14
                chatflowid
15
            }
16
        })
17
        return dbResponse
18
    } catch (error) {
19
        throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, `Error: leadsService.getAllLeads - ${getErrorMessage(error)}`)
20
    }
21
}
22

23
const createLead = async (body: Partial<ILead>) => {
24
    try {
25
        const chatId = body.chatId ?? uuidv4()
26

27
        const newLead = new Lead()
28
        Object.assign(newLead, body)
29
        Object.assign(newLead, { chatId })
30

31
        const appServer = getRunningExpressApp()
32
        const lead = appServer.AppDataSource.getRepository(Lead).create(newLead)
33
        const dbResponse = await appServer.AppDataSource.getRepository(Lead).save(lead)
34
        return dbResponse
35
    } catch (error) {
36
        throw new InternalFlowiseError(StatusCodes.INTERNAL_SERVER_ERROR, `Error: leadsService.createLead - ${getErrorMessage(error)}`)
37
    }
38
}
39

40
export default {
41
    createLead,
42
    getAllLeads
43
}
44

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

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

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

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