-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.rb
36 lines (29 loc) · 806 Bytes
/
app.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
require 'dotenv';Dotenv.load
require 'sinatra'
require './db'
configure :production do
require 'rack/ssl'
use Rack::SSL
end
post '/messages' do
DB[:messages].insert(
from: params['From'],
to: params['To'],
body: params['Body'],
request: request.body.read,
created_at: DateTime.now
)
200
end
order = {
'asc' => Sequel.asc(:created_at),
'desc' => Sequel.desc(:created_at)
}
get '/' do
@messages = DB[:messages]
@messages = @messages.order(order[params['order'] || 'desc'])
@messages = @messages.where(Sequel.ilike(:from, '%'+params['from']+'%')) if params['from']
@messages = @messages.where(Sequel.ilike(:to, '%'+params['to']+'%')) if params['to']
@messages = @messages.where(Sequel.ilike(:body, '%'+params['body']+'%')) if params['body']
erb :index
end