У меня есть Model
, который соответствует Content
:
import Vapor
import Fluent
final class User: Model, Content {
static let schema = "user"
@ID(key: .id)
var id: UUID?
@Field(key: "email")
var email: String
init() { }
init(id: UUID? = nil, email: String) {
self.id = id
self.email = email
}
}
Это можно получить из базы данных и напрямую вернуть из маршрута, поэтому клиент получает пользователей в виде JSON.
Теперь я хочу добавить пользователю дополнительное свойство, которое не хранится в базе данных, а имеет фиксированное значение или просто добавляется после загрузки пользователя из базы данных:
final class User: Model, Content {
// ...
var someOther: String = "hello"
// ...
}
or
final class User: Model, Content {
// ...
var someOther: String? // set later
// ...
}
Теперь проблема в том, что это свойство никогда не добавляется в JSON, поэтому клиент получает только пользовательские id
и email
и НЕ someProperty
. Как я могу это исправить?