| 2863 | } |
| 2864 | |
| 2865 | getSessionOwnerMap(sessionKeys: string[]): Map<string, string> { |
| 2866 | const result = new Map<string, string>(); |
| 2867 | if (sessionKeys.length === 0) return result; |
| 2868 | const placeholders = sessionKeys.map(() => "?").join(","); |
| 2869 | const rows = this.db.prepare( |
| 2870 | `SELECT session_key, owner FROM chunks WHERE session_key IN (${placeholders}) AND owner IS NOT NULL GROUP BY session_key`, |
| 2871 | ).all(...sessionKeys) as Array<{ session_key: string; owner: string }>; |
| 2872 | for (const r of rows) result.set(r.session_key, r.owner); |
| 2873 | return result; |
| 2874 | } |
| 2875 | |
| 2876 | close(): void { |
| 2877 | this.db.close(); |