( webhookRecord: Record<string, unknown>, botToken: string )
| 227 | } |
| 228 | |
| 229 | async function activeTelegramWebhookUsesBot( |
| 230 | webhookRecord: Record<string, unknown>, |
| 231 | botToken: string |
| 232 | ): Promise<boolean> { |
| 233 | const workflowId = webhookRecord.workflowId |
| 234 | const webhookId = webhookRecord.id |
| 235 | if (typeof workflowId !== 'string' || typeof webhookId !== 'string') return false |
| 236 | |
| 237 | const activeWebhooks = await db |
| 238 | .select({ id: webhook.id, providerConfig: webhook.providerConfig }) |
| 239 | .from(webhook) |
| 240 | .innerJoin( |
| 241 | workflowDeploymentVersion, |
| 242 | eq(webhook.deploymentVersionId, workflowDeploymentVersion.id) |
| 243 | ) |
| 244 | .where( |
| 245 | and( |
| 246 | eq(webhook.workflowId, workflowId), |
| 247 | ne(webhook.id, webhookId), |
| 248 | eq(webhook.provider, 'telegram'), |
| 249 | eq(workflowDeploymentVersion.workflowId, workflowId), |
| 250 | eq(workflowDeploymentVersion.isActive, true), |
| 251 | isNull(webhook.archivedAt) |
| 252 | ) |
| 253 | ) |
| 254 | |
| 255 | return activeWebhooks.some((activeWebhook) => { |
| 256 | const config = getProviderConfig({ providerConfig: activeWebhook.providerConfig }) |
| 257 | return config.botToken === botToken |
| 258 | }) |
| 259 | } |
no test coverage detected