server: provide search terms as param
This commit is contained in:
parent
96b07af7ac
commit
ee36c245fc
|
@ -23,7 +23,7 @@ function search()
|
|||
return;
|
||||
}
|
||||
|
||||
last_search = '/search/' + terms.value;
|
||||
last_search = '/search?terms=' + terms.value;
|
||||
let xhr = new XMLHttpRequest();
|
||||
xhr.open('GET', last_search, true);
|
||||
xhr.onload = function() {
|
||||
|
|
30
server.rb
30
server.rb
|
@ -174,11 +174,15 @@ get '/part/:name' do
|
|||
part.to_json
|
||||
end
|
||||
|
||||
get '/search/:terms' do
|
||||
terms = params['terms'].split(" ")
|
||||
terms.keep_if {|term| term.length >= 3}
|
||||
halt 400 if terms.empty?
|
||||
# search in names, description, and category
|
||||
get '/part?' do
|
||||
halt 404, "name required" unless params['name']
|
||||
part = get_part_by_name(params['name'])
|
||||
halt 404 unless part
|
||||
part.to_json
|
||||
end
|
||||
|
||||
# search in names, description, and category
|
||||
def search(terms)
|
||||
statements = []
|
||||
statements << @db.prepare("SELECT id FROM part WHERE name LIKE ?")
|
||||
statements << @db.prepare("SELECT id FROM part WHERE mpn LIKE ?")
|
||||
|
@ -211,6 +215,22 @@ get '/search/:terms' do
|
|||
parts.compact!
|
||||
parts = parts[0, PARTS_LIMIT]
|
||||
parts.sort! {|x,y| x["name"] <=> y["name"]}
|
||||
end
|
||||
|
||||
get '/search/:terms' do
|
||||
terms = params['terms'].split(" ")
|
||||
terms.keep_if {|term| term.length >= 3}
|
||||
halt 400 if terms.empty?
|
||||
parts = search(terms)
|
||||
parts.to_json
|
||||
end
|
||||
|
||||
get '/search?' do
|
||||
halt 400, "terms needed" unless params['terms']
|
||||
terms = params['terms'].split(" ")
|
||||
terms.keep_if {|term| term.length >= 3}
|
||||
halt 400 if terms.empty?
|
||||
parts = search(terms)
|
||||
parts.to_json
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue