(
slug: IntegrationSlug,
)
| 3249 | }); |
| 3250 | |
| 3251 | const integrationsGetRecord = ( |
| 3252 | slug: IntegrationSlug, |
| 3253 | ): Effect.Effect<IntegrationRecord | null, StorageFailure> => |
| 3254 | Effect.gen(function* () { |
| 3255 | const row = yield* findIntegrationRow(slug); |
| 3256 | if (!row) return null; |
| 3257 | return rowToIntegrationRecord(row, yield* describeAuthMethodsForRow(row)); |
| 3258 | }); |
| 3259 | |
| 3260 | // Best-effort post-commit notification for `ExecutorConfig.onIntegrationChange`. |
| 3261 | // Routed through `afterCommit` so the observer sees only DURABLE changes: |
no test coverage detected