Пример Graphql Sangria «многие ко многим» - PullRequest
1 голос
/ 13 февраля 2020

Я работаю над отношениями «многие ко многим» с Сангрией и Сликом. У меня есть 3 объекта: Role, Permission и RolePermission (таблица сопоставления)

case class Role(id: Long, name: String)
case class Permission(id: Long, name: String)
case class RolePermission(id: Long, roleId: Long, permissionId: Long)

Пока я выяснил, как определить отношение:

val permissionsByRoleId = Relation[Permission, (RolePermission, Permission), Long]("permissionsByRoleId", tmp ⇒ Seq(tmp._1.roleId), _._2)

Я не знаю, как определить fetcher и как добавить правильное поле в схему роли, чтобы я мог получить разрешения роли, проходящие через промежуточную таблицу.

Любая помощь?

1 Ответ

0 голосов
/ 14 февраля 2020

Вы должны определить тип Relation для обеих связанных сущностей. Непросто ответить коротким комментарием о StackOverflow, но я объяснил такую ​​связь в своем блоге: https://scalac.io/akka-http-sangria-graphql-backend#implementing отношение «многие ко многим» Надеюсь, это поможет ..

...