* Approve a join request
(id: string, handled_by_user_id: string)
| 117 | * Approve a join request |
| 118 | */ |
| 119 | async approveRequest(id: string, handled_by_user_id: string): Promise<JoinRequest | null> { |
| 120 | const result = await query<JoinRequest>( |
| 121 | `UPDATE organization_join_requests |
| 122 | SET status = 'approved', handled_by_user_id = $2, handled_at = NOW(), updated_at = NOW() |
| 123 | WHERE id = $1 AND status = 'pending' |
| 124 | RETURNING *`, |
| 125 | [id, handled_by_user_id] |
| 126 | ); |
| 127 | |
| 128 | if (result.rows[0]) { |
| 129 | logger.info({ |
| 130 | requestId: id, |
| 131 | handledBy: handled_by_user_id |
| 132 | }, 'Join request approved'); |
| 133 | } |
| 134 | |
| 135 | return result.rows[0] || null; |
| 136 | } |
| 137 | |
| 138 | /** |
| 139 | * Reject a join request |
no outgoing calls
no test coverage detected