I need some help about saving bytes in Vapor : I have this Image class :
class Image: Model {
var id: Node?
var datas: Bytes
var name: String
var exists: Bool = false
init(name: String, datas: Bytes) {
self.name = name
self.datas = datas
}
// NodeInitializable
required init(node: Node, in context: Context) throws {
self.id = try node.extract("id")
self.datas = try node.extract("datas")
self.name = try node.extract("name")
}
// NodeRepresentable
func makeNode(context: Context) throws -> Node {
return try Node(node: ["id": id,
"name": name,
"datas": datas.string()
])
}
// Preparation
static func prepare(_ database: Database) throws {
try database.create("images") { categories in
categories.id()
categories.string("name")
categories.data("datas")
}
}
static func revert(_ database: Database) throws {
try database.delete("images")
}
}
I'm sending with Postman a POST request with this body :
{
"name": "politique.jpg",
"datas": [122, 122]
}
Then It creates a new line in my Database with datas.
But when i try a GET on this image, i have this error when extracting object :
Could not initialize Image, skipping: unableToConvert(node: Optional(Node.Node.bytes([101, 110, 111, 61])), expected: "UInt8")
What i'm doing wrong here ? Thanks for all.