     init(node: Node, in context: Context) throws {
         id = node["id"]
         name = node["name"]?.string
-        code = node["code"]?.string
-        image = node["image"]?.string
+        description = node["image"]?.string
+        price = node["price"]?.double ?? 0
+    	  count = node["count"]?.int ?? 0
+    	  image_url_1 = node["image_url_1"]?.string
+    	  image_url_2 = node["image_url_2"]?.string
     }
 
     func makeNode(context: Context) throws -> Node {

extension Product {
    mutating func merge(updates: Product) {
        id = updates.id ?? id
        code = updates.code ?? code
        name = updates.name ?? name
        image = updates.image ?? image
    }
}

    var id: Node?

    var name: String?
    var description: String?
    var price: Double?
	  var count: Int?
	  var image_url_1: String?
	  var image_url_2: String?

    // used by fluent internally
    var exists: Bool = false
