2 人のユーザーが共通のグループを共有しているかどうかを判断する必要がある Vapor 3 アプリがあります。
したがって、ユーザーとグループの2つのモデルがあります。ユーザーは多くのグループに所属できます。しかし、両方のユーザーが共通のグループを共有している場合、お互いにメッセージを送信できるという許可チェックがあります。
final public class User: PostgreSQLModel {
public var id: Int?
var firstName: String
var lastName: String
}
extension User {
var containers: Siblings<User, Group, UserGroups> {
return siblings()
}
}
final public class Group: PostgreSQLModel {
public var id: Int?
var name: String
}
私がやりたいことはこれです
UserGroups.query(to: request).group(.or) { $0.filter(\.userId == user.id!).filter(\.userId == user.id!) }.flatMap { ... }
さらに、where groupId == groupId というフィルターを追加します。
何か考えや提案はありますか?