Module supabase/functions/get-team-member-emails

Fileoverview

Get Team Member Emails Edge Function

Fetches user email addresses by their IDs for display in team member lists. Uses Supabase Admin API to access auth.users table which is not directly queryable from the client.

Endpoint

POST /get-team-member-emails

Auth

Required - JWT in Authorization header (verified by Supabase)

Remarks

  • Accepts an array of user IDs and returns a map of ID -> email
  • Uses service role key to access auth.users via Admin API
  • Does not validate if caller has permission to view these emails (relies on caller already having access to user IDs from client_memberships)
  • Returns partial results if some users are not found

Example: Request body

{ "user_ids": ["uuid-1", "uuid-2", "uuid-3"] }

Example: Response

{
"emails": {
"uuid-1": "user1@example.com",
"uuid-2": "user2@example.com"
}
}

Returns

200 - Object with emails map (user_id -> email)

Returns

400 - Missing or invalid user_ids array

Returns

401 - Missing authorization header

Returns

500 - Internal server error