(user: HubUserRecord)
| 2149 | // ─── Hub Users / Groups ─── |
| 2150 | |
| 2151 | upsertHubUser(user: HubUserRecord): void { |
| 2152 | this.db.prepare(` |
| 2153 | INSERT INTO hub_users (id, username, device_name, role, status, token_hash, created_at, approved_at, identity_key, left_at, removed_at, rejected_at, rejoin_requested_at) |
| 2154 | VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) |
| 2155 | ON CONFLICT(id) DO UPDATE SET |
| 2156 | username = excluded.username, |
| 2157 | device_name = excluded.device_name, |
| 2158 | role = excluded.role, |
| 2159 | status = excluded.status, |
| 2160 | token_hash = excluded.token_hash, |
| 2161 | created_at = excluded.created_at, |
| 2162 | approved_at = excluded.approved_at, |
| 2163 | identity_key = excluded.identity_key, |
| 2164 | left_at = excluded.left_at, |
| 2165 | removed_at = excluded.removed_at, |
| 2166 | rejected_at = excluded.rejected_at, |
| 2167 | rejoin_requested_at = excluded.rejoin_requested_at |
| 2168 | `).run(user.id, user.username, user.deviceName ?? "", user.role, user.status, user.tokenHash, user.createdAt, user.approvedAt, user.identityKey ?? "", user.leftAt ?? null, user.removedAt ?? null, user.rejectedAt ?? null, user.rejoinRequestedAt ?? null); |
| 2169 | } |
| 2170 | |
| 2171 | getHubUser(userId: string): HubUserRecord | null { |
| 2172 | const row = this.db.prepare('SELECT * FROM hub_users WHERE id = ?').get(userId) as HubUserRow | undefined; |
no test coverage detected