diff --git a/public/js/plugin-download.js b/public/js/plugin-download.js index 9973cfe..9dfb95e 100644 --- a/public/js/plugin-download.js +++ b/public/js/plugin-download.js @@ -341,7 +341,7 @@ const component = () => { fetch(`${base_url}api/admin/plugin/subscribe`, { method: 'POST', body: JSON.stringify({ - filters: JSON.stringify(this.filterSettings), + filters: this.filterSettings, plugin: this.pid, name: this.subscriptionName.trim() }), diff --git a/src/routes/api.cr b/src/routes/api.cr index 85df516..b7f4651 100644 --- a/src/routes/api.cr +++ b/src/routes/api.cr @@ -587,7 +587,7 @@ struct APIRouter post "/api/admin/plugin/subscribe" do |env| begin plugin_id = env.params.json["plugin"].as String - filters = JSON.parse(env.params.json["filters"].to_s).as_a.map do |f| + filters = env.params.json["filters"].as(Array(JSON::Any)).map do |f| Filter.from_json f.to_json end name = env.params.json["name"].as String