require "kemal" require "../*" require "io" require "file" require "exception" require "uuid" require "uuid/json" require "../../config" post "/category" do |context| begin begin user = authenticate_admin!(context.request.headers["user"],UUID.new(context.request.headers["api_token"])) rescue ex halt context, status_code: 403, response: ex.to_s end cat = Category.from_json(context.request.body.not_nil!).not_nil! if cat.name_id.count(' ')==0 File.write Statics.data_path+"category/"+cat.name_id,cat.to_json else halt context, status_code: 400, response: "name_id should not contain spaces ' ' or '/'" end rescue ex halt context, status_code: 500, response: ex.to_s end "OK".to_json end get "/category/m/:id" do |context| begin ret = Category.from_json File.read Statics.data_path+"category/"+context.params.url["id"] rescue ex halt context, status_code: 404, response: ex.to_s end ret.to_json end get "/category/d/:id" do |context| ret = Array(Product).new begin cat = Category.from_json File.read Statics.data_path+"category/"+context.params.url["id"] sent=0 skipped=0 skip, limit = Statics.extract_skip_info context cat.products.each do |product| begin if(skipped