La documentation Vapor pour les les relations fluides est probablement ce que vous recherchez.
D'après ce que je peux dire, vous utilisez une relation plusieurs à plusieurs (frères et sœurs), donc ce code pourrait être ce que vous voulez :
extension Persion {
var roles: Siblings<Persion, Role, Pivot<Person, Role>> {
return siblings()
}
}
Ensuite, récupérez les rôles :
let roles = person.roles.all()
Je me suis peut-être trompé car je ne vois pas votre code, mais cela devrait vous donner quelques indications.