Los documentos de Vapor para Relaciones fluidas es probablemente lo que estás buscando.
Por lo que puedo decir, está utilizando una relación de muchos a muchos (hermanos), por lo que este código podría ser lo que desea:
extension Persion {
var roles: Siblings<Persion, Role, Pivot<Person, Role>> {
return siblings()
}
}
Luego obtén los roles:
let roles = person.roles.all()
Puede que me haya equivocado porque no puedo ver tu código, pero debería darte algunos consejos.