(filter?: {
readonly integration?: IntegrationSlug;
readonly owner?: Owner;
})
| 2669 | }); |
| 2670 | |
| 2671 | const connectionsList = (filter?: { |
| 2672 | readonly integration?: IntegrationSlug; |
| 2673 | readonly owner?: Owner; |
| 2674 | }): Effect.Effect<readonly Connection[], StorageFailure> => |
| 2675 | Effect.gen(function* () { |
| 2676 | const rows = yield* core.findMany("connection", { |
| 2677 | where: (b: AnyCb) => |
| 2678 | b.and( |
| 2679 | filter?.integration === undefined |
| 2680 | ? true |
| 2681 | : b("integration", "=", String(filter.integration)), |
| 2682 | filter?.owner === undefined ? true : b("owner", "=", filter.owner), |
| 2683 | ), |
| 2684 | }); |
| 2685 | const connections = rows.map(rowToConnection); |
| 2686 | if (!activeToolPolicyProvider) return connections; |
| 2687 | |
| 2688 | const visibleTools = yield* toolsList({ includeAnnotations: false }); |
| 2689 | const visibleConnectionKeys = new Set( |
| 2690 | visibleTools |
| 2691 | .filter((tool) => !tool.static) |
| 2692 | .map((tool) => `${tool.owner}:${tool.integration}:${tool.connection}`), |
| 2693 | ); |
| 2694 | return connections.filter((connection) => |
| 2695 | visibleConnectionKeys.has( |
| 2696 | `${connection.owner}:${connection.integration}:${connection.name}`, |
| 2697 | ), |
| 2698 | ); |
| 2699 | }); |
| 2700 | |
| 2701 | const connectionsGet = (ref: ConnectionRef): Effect.Effect<Connection | null, StorageFailure> => |
| 2702 | findConnectionRow(ref).pipe(Effect.map((row) => (row ? rowToConnection(row) : null))); |
no test coverage detected