getGroupsByIds(ids: readonly number[]): Promise<Map<number, Group>>
Groups by id in one query, read straight from the table: a group about to be shown, edited or acted on must be the stored row, not a cached copy that another edge may already have changed. An id with no row is simply absent from the map.