aboutsummaryrefslogtreecommitdiff
path: root/interfaces/http/admin/admin.rb
blob: 40cbe075ab5c44dca676ed33fa14c2a331b4c34b (plain)
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
class AdminInterface < Sinatra::Base
  enable :sessions
  
  helpers do
    def logged_in?
      @session != nil
    end
  end
  
  before do
    @session = Session.where code: session[:code]
  end
  
  before ['/admin', '/admin/*'] do
    redirect '/login', 303 if not logged_in?
  end
  
  get '/login' do
  end
  
  post '/login' do
    @session = Session.start(params)
    if @session then
    else
      redirect '/login', 401
    end
  end
  
  get '/admin' do
    @title = $config.title
    @posts = Post.all
    erb :index
  end
end