From 6f683df850ccb99ff9250096eee97a0ba2285b9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Sat, 28 Jan 2023 00:34:12 +0100 Subject: [PATCH] server: update distribution --- server.rb | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/server.rb b/server.rb index d1ae847..8f5f47b 100755 --- a/server.rb +++ b/server.rb @@ -229,7 +229,7 @@ post '/part' do rescue halt 401, "not json" end - puts part + puts part if DEBUG if part["id"] then # ensure part to update exists statement = @db.prepare("SELECT id FROM part WHERE id = ?") @@ -310,6 +310,21 @@ post '/part' do delete = @db.prepare("DELETE FROM inventory WHERE part = ?") delete.execute(part["id"]) end + # update distributors + field = "distributors" + part[field] = nil if part[field] and 0 == part[field].length + delete = @db.prepare("DELETE FROM distribution WHERE part = ?") + delete.execute(part["id"]) + if part[field] then + part[field].each do |distributor,sku| + next unless sku and !sku.empty? + statement = @db.prepare("SELECT id FROM distributor WHERE LOWER(name) = ?") + ref = statement.execute(name.downcase).to_a[0] + halt(401, "distributor unknown") unless ref + insert = @db.prepare("INSERT INTO distribution (distributor,part,sku) VALUES (?,?,?)"); + insert.execute(ref["id"], part["id"], sku) + end + end # update properties field = "properties" part[field] = nil if part[field] and 0 == part[field].length