48 lines
1.3 KiB
Kotlin
48 lines
1.3 KiB
Kotlin
package ru.sicamp.sicamphelper.model.info
|
|
|
|
import ru.sicamp.sicamphelper.db.entity.User
|
|
import ru.sicamp.sicamphelper.db.table.Users
|
|
|
|
data class UserInfo(
|
|
override val id: Long,
|
|
override val type: Type,
|
|
var login: String,
|
|
var name: String,
|
|
var supervisor: EntityRef?,
|
|
var tgId: Long?,
|
|
var tgUsername: String?,
|
|
var role: Users.Role,
|
|
var group: EntityRef,
|
|
var sex: Users.Sex,
|
|
var age: Int,
|
|
var enabled: Boolean,
|
|
) : Info() {
|
|
companion object {
|
|
fun from(user: User?) = user?.let {
|
|
UserInfo(
|
|
user.id.value,
|
|
Type.USER,
|
|
user.login,
|
|
user.name,
|
|
user.supervisor?.let {
|
|
EntityRef(
|
|
type = Type.USER,
|
|
id = it.id.value,
|
|
name = it.name
|
|
)
|
|
},
|
|
user.tgId,
|
|
user.tgUsername,
|
|
user.role,
|
|
EntityRef(
|
|
type = Type.GROUP,
|
|
id = user.group.id.value,
|
|
name = user.group.name
|
|
),
|
|
user.sex,
|
|
user.age,
|
|
user.enabled
|
|
)
|
|
}
|
|
}
|
|
}
|