Как бы вы определили друг друга - дружеские отношения в Grails? До сих пор мой класс Пользователь не имел много последователейКак смоделировать Друга - Дружеские отношения в Граале
class User {
//Searchable plugin
static searchable = true
String userId
String password
boolean enabled = true
// For Spring Security plugin's user registration.
String email
String userRealName
boolean emailShow
Date dateCreated
Profile profile
static hasMany = [
posts : Post,
tags : Tag,
following : User,
authorities : Role,
notifications: Notification,
locations: Location,
incomingLocations:IncomingLocation,
]
static belongsTo = Role
static constraints = {
userId(blank: false, size:3..20, unique: true)
password(blank: false)
dateCreated()
profile(nullable: true)
userRealName(nullable: true, blank: true)
email(nullable: true, blank: true)
}
static mapping = {
profile lazy:false
}
}
Но я хотел бы изменить следующий: пользователь что-то вроде дружбы: Дружба и создать класс дружбы следующим образом:
class Friendship {
static belongsTo= [user:User]
User friend2
boolean areFriends
}
Является ли это идеальной реализацией?
Как бы вы реализовали рукопожатие (принять/отклонить ожидающую дружбу)?