Dokumenty Vapor pro Fluent relations je pravděpodobně to, co hledáte.
Z toho, co mohu říci, používáte vztah Many to Many (sourozenec), takže tento kód může být to, co chcete:
extension Persion {
var roles: Siblings<Persion, Role, Pivot<Person, Role>> {
return siblings()
}
}
Pak získejte role:
let roles = person.roles.all()
Možná jsem to udělal špatně, protože nevidím váš kód, ale měl by vám poskytnout nějaké ukazatele.