Мне нужно использовать встроенный массив в таблице Fluent
Postgres.
final class TempUser: Content {
var id: Int?
var Uuid: String
var bookedSeats: [BookedSeat] // <- HERE
и
struct BookedSeat: Content {
var price: String
var sectorInd: Int
var rowInd: Int
var seatInd: Int
var bookedUntil: Date
}
Но получаю ошибку и предупреждение:
[WARNING] [PostgreSQL] Could not determine PostgreSQL array data type: Array<BookedSeat>
[ ERROR ] PostgreSQLError.server.error.array_recv: wrong element type (ErrorMiddleware.swift:26)
Я сделал собственное решение, выполняя декодирование массива вручную:
func setBookedSeatsArray(bs: [BookedSeat]) {
let encoder = JSONEncoder()
let data = try! encoder.encode(bs)
let ret = String(data: data, encoding: .utf8)!
self.bookedSeats = ret
}
func getGookedSeatsArray() -> [BookedSeat] {
let decoder = JSONDecoder()
let ret = try! decoder.decode([BookedSeat].self, from: self.bookedSeats)
return ret
}
но мне не очень нравится это решение.
Кто-то сказал: мне нужно согласовать сущность с PostgreSQLDataTypeStaticRepresentable
.
Но я не могу понять, как?