♻️ (viewer) Remove barrel exports and flatten folder arch
This commit is contained in:
@@ -1,6 +0,0 @@
|
||||
import { router } from '@/utils/server/trpc'
|
||||
import { sendMessageProcedure } from './procedures'
|
||||
|
||||
export const chatRouter = router({
|
||||
sendMessage: sendMessageProcedure,
|
||||
})
|
||||
@@ -1,2 +0,0 @@
|
||||
export * from './chatRouter'
|
||||
export { getSession } from './utils'
|
||||
@@ -1 +0,0 @@
|
||||
export * from './sendMessageProcedure'
|
||||
6
apps/viewer/src/features/chat/api/router.ts
Normal file
6
apps/viewer/src/features/chat/api/router.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { router } from '@/helpers/server/trpc'
|
||||
import { sendMessage } from './sendMessage'
|
||||
|
||||
export const chatRouter = router({
|
||||
sendMessage,
|
||||
})
|
||||
@@ -1,12 +1,5 @@
|
||||
import { checkChatsUsage } from '@/features/usage'
|
||||
import {
|
||||
prefillVariables,
|
||||
deepParseVariable,
|
||||
parseVariables,
|
||||
injectVariablesFromExistingResult,
|
||||
} from '@/features/variables'
|
||||
import prisma from '@/lib/prisma'
|
||||
import { publicProcedure } from '@/utils/server/trpc'
|
||||
import { publicProcedure } from '@/helpers/server/trpc'
|
||||
import { TRPCError } from '@trpc/server'
|
||||
import { Prisma } from '@typebot.io/prisma'
|
||||
import {
|
||||
@@ -28,10 +21,15 @@ import {
|
||||
getSession,
|
||||
setResultAsCompleted,
|
||||
startBotFlow,
|
||||
} from '../utils'
|
||||
} from '../helpers'
|
||||
import { env, isDefined, omit } from '@typebot.io/lib'
|
||||
import { prefillVariables } from '@/features/variables/prefillVariables'
|
||||
import { checkChatsUsage } from '@/features/usage/checkChatsUsage'
|
||||
import { injectVariablesFromExistingResult } from '@/features/variables/injectVariablesFromExistingResult'
|
||||
import { deepParseVariables } from '@/features/variables/deepParseVariable'
|
||||
import { parseVariables } from '@/features/variables/parseVariables'
|
||||
|
||||
export const sendMessageProcedure = publicProcedure
|
||||
export const sendMessage = publicProcedure
|
||||
.meta({
|
||||
openapi: {
|
||||
method: 'POST',
|
||||
@@ -165,10 +163,10 @@ const startSession = async (startParams?: StartParams, userId?: string) => {
|
||||
clientSideActions,
|
||||
typebot: {
|
||||
id: typebot.id,
|
||||
settings: deepParseVariable(newInitialState.typebot.variables)(
|
||||
settings: deepParseVariables(newInitialState.typebot.variables)(
|
||||
typebot.settings
|
||||
),
|
||||
theme: deepParseVariable(newInitialState.typebot.variables)(
|
||||
theme: deepParseVariables(newInitialState.typebot.variables)(
|
||||
typebot.theme
|
||||
),
|
||||
},
|
||||
@@ -195,10 +193,10 @@ const startSession = async (startParams?: StartParams, userId?: string) => {
|
||||
sessionId: session.id,
|
||||
typebot: {
|
||||
id: typebot.id,
|
||||
settings: deepParseVariable(newInitialState.typebot.variables)(
|
||||
settings: deepParseVariables(newInitialState.typebot.variables)(
|
||||
typebot.settings
|
||||
),
|
||||
theme: deepParseVariable(newInitialState.typebot.variables)(
|
||||
theme: deepParseVariables(newInitialState.typebot.variables)(
|
||||
typebot.theme
|
||||
),
|
||||
},
|
||||
@@ -1,10 +1,3 @@
|
||||
import { validateEmail } from '@/features/blocks/inputs/email/api'
|
||||
import {
|
||||
formatPhoneNumber,
|
||||
validatePhoneNumber,
|
||||
} from '@/features/blocks/inputs/phone/api'
|
||||
import { validateUrl } from '@/features/blocks/inputs/url/api'
|
||||
import { parseVariables, updateVariables } from '@/features/variables'
|
||||
import prisma from '@/lib/prisma'
|
||||
import { TRPCError } from '@trpc/server'
|
||||
import { Prisma } from '@typebot.io/prisma'
|
||||
@@ -22,6 +15,12 @@ import {
|
||||
import { isInputBlock, isNotDefined } from '@typebot.io/lib'
|
||||
import { executeGroup } from './executeGroup'
|
||||
import { getNextGroup } from './getNextGroup'
|
||||
import { validateEmail } from '@/features/blocks/inputs/email/validateEmail'
|
||||
import { formatPhoneNumber } from '@/features/blocks/inputs/phone/formatPhoneNumber'
|
||||
import { validatePhoneNumber } from '@/features/blocks/inputs/phone/validatePhoneNumber'
|
||||
import { validateUrl } from '@/features/blocks/inputs/url/validateUrl'
|
||||
import { updateVariables } from '@/features/variables/updateVariables'
|
||||
import { parseVariables } from '@/features/variables/parseVariables'
|
||||
|
||||
export const continueBotFlow =
|
||||
(state: SessionState) =>
|
||||
@@ -1,4 +1,3 @@
|
||||
import { deepParseVariable } from '@/features/variables'
|
||||
import {
|
||||
BubbleBlock,
|
||||
BubbleBlockType,
|
||||
@@ -19,8 +18,9 @@ import {
|
||||
import { executeLogic } from './executeLogic'
|
||||
import { getNextGroup } from './getNextGroup'
|
||||
import { executeIntegration } from './executeIntegration'
|
||||
import { computePaymentInputRuntimeOptions } from '@/features/blocks/inputs/payment/api'
|
||||
import { injectVariableValuesInButtonsInputBlock } from '@/features/blocks/inputs/buttons/api/utils/injectVariableValuesInButtonsInputBlock'
|
||||
import { injectVariableValuesInButtonsInputBlock } from '@/features/blocks/inputs/buttons/injectVariableValuesInButtonsInputBlock'
|
||||
import { deepParseVariables } from '@/features/variables/deepParseVariable'
|
||||
import { computePaymentInputRuntimeOptions } from '@/features/blocks/inputs/payment/computePaymentInputRuntimeOptions'
|
||||
|
||||
export const executeGroup =
|
||||
(
|
||||
@@ -137,7 +137,7 @@ const parseBubbleBlock =
|
||||
(block: BubbleBlock): ChatReply['messages'][0] => {
|
||||
switch (block.type) {
|
||||
case BubbleBlockType.EMBED: {
|
||||
const message = deepParseVariable(variables)(block)
|
||||
const message = deepParseVariables(variables)(block)
|
||||
return {
|
||||
...message,
|
||||
content: {
|
||||
@@ -150,7 +150,7 @@ const parseBubbleBlock =
|
||||
}
|
||||
}
|
||||
default:
|
||||
return deepParseVariable(variables)(block)
|
||||
return deepParseVariables(variables)(block)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,7 +164,7 @@ const injectVariablesValueInBlock =
|
||||
)
|
||||
}
|
||||
default: {
|
||||
return deepParseVariable(state.typebot.variables)({
|
||||
return deepParseVariables(state.typebot.variables)({
|
||||
...block,
|
||||
runtimeOptions: await computeRuntimeOptions(state)(block),
|
||||
prefilledValue: getPrefilledInputValue(state.typebot.variables)(
|
||||
@@ -1,15 +1,15 @@
|
||||
import { executeChatwootBlock } from '@/features/blocks/integrations/chatwoot/api'
|
||||
import { executeGoogleAnalyticsBlock } from '@/features/blocks/integrations/googleAnalytics/api'
|
||||
import { executeGoogleSheetBlock } from '@/features/blocks/integrations/googleSheets/api'
|
||||
import { executeOpenAIBlock } from '@/features/blocks/integrations/openai/executeOpenAIBlock'
|
||||
import { executeSendEmailBlock } from '@/features/blocks/integrations/sendEmail/api'
|
||||
import { executeWebhookBlock } from '@/features/blocks/integrations/webhook/api'
|
||||
import { executeSendEmailBlock } from '@/features/blocks/integrations/sendEmail/executeSendEmailBlock'
|
||||
import { executeWebhookBlock } from '@/features/blocks/integrations/webhook/executeWebhookBlock'
|
||||
import { executeChatwootBlock } from '@/features/blocks/integrations/chatwoot/executeChatwootBlock'
|
||||
import { executeGoogleAnalyticsBlock } from '@/features/blocks/integrations/googleAnalytics/executeGoogleAnalyticsBlock'
|
||||
import { executeGoogleSheetBlock } from '@/features/blocks/integrations/googleSheets/executeGoogleSheetBlock'
|
||||
import {
|
||||
IntegrationBlock,
|
||||
IntegrationBlockType,
|
||||
SessionState,
|
||||
} from '@typebot.io/schemas'
|
||||
import { ExecuteIntegrationResponse } from '../../types'
|
||||
import { ExecuteIntegrationResponse } from '../types'
|
||||
|
||||
export const executeIntegration =
|
||||
(state: SessionState, lastBubbleBlockId?: string) =>
|
||||
@@ -1,12 +1,12 @@
|
||||
import { executeCondition } from '@/features/blocks/logic/condition/api'
|
||||
import { executeRedirect } from '@/features/blocks/logic/redirect/api'
|
||||
import { executeSetVariable } from '@/features/blocks/logic/setVariable/api'
|
||||
import { executeTypebotLink } from '@/features/blocks/logic/typebotLink/api'
|
||||
import { executeWait } from '@/features/blocks/logic/wait/api/utils/executeWait'
|
||||
import { executeWait } from '@/features/blocks/logic/wait/executeWait'
|
||||
import { LogicBlock, LogicBlockType, SessionState } from '@typebot.io/schemas'
|
||||
import { ExecuteLogicResponse } from '../../types'
|
||||
import { ExecuteLogicResponse } from '../types'
|
||||
import { executeScript } from '@/features/blocks/logic/script/executeScript'
|
||||
import { executeJumpBlock } from '@/features/blocks/logic/jump/executeJumpBlock'
|
||||
import { executeRedirect } from '@/features/blocks/logic/redirect/executeRedirect'
|
||||
import { executeCondition } from '@/features/blocks/logic/condition/executeCondition'
|
||||
import { executeSetVariable } from '@/features/blocks/logic/setVariable/executeSetVariable'
|
||||
import { executeTypebotLink } from '@/features/blocks/logic/typebotLink/executeTypebotLink'
|
||||
|
||||
export const executeLogic =
|
||||
(state: SessionState, lastBubbleBlockId?: string) =>
|
||||
@@ -1 +0,0 @@
|
||||
export * from './types'
|
||||
Reference in New Issue
Block a user