From edd1b21f926f0bcec0033b4b481fe12f54029224 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?John=20Ankarstro=CC=88m?= <john@ankarstrom.se>
Date: Wed, 3 Mar 2021 14:37:56 +0100
Subject: web: Create admin sub-interface

---
 interfaces/http/admin/admin.rb | 16 ++++++++++++++++
 interfaces/http/http.rb        |  2 +-
 2 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 interfaces/http/admin/admin.rb

diff --git a/interfaces/http/admin/admin.rb b/interfaces/http/admin/admin.rb
new file mode 100644
index 0000000..347a051
--- /dev/null
+++ b/interfaces/http/admin/admin.rb
@@ -0,0 +1,16 @@
+class AdminInterface < Sinatra::Base
+  enable :sessions
+  
+  before ['/admin', '/admin/*'] do
+    redirect '/login', 303 if not false
+  end
+
+  get '/login' do
+  end
+  
+  get '/admin' do
+    @title = $config.title
+    @posts = Post.all
+    erb :index
+  end
+end
diff --git a/interfaces/http/http.rb b/interfaces/http/http.rb
index 0589c93..ec5f105 100644
--- a/interfaces/http/http.rb
+++ b/interfaces/http/http.rb
@@ -5,7 +5,7 @@ $config = Config.first
 
 class HTTPInterface < Sinatra::Base
   require_relative 'web/web'; use WebInterface
-  # require_relative 'admin/admin'; use AdminInterface
+  require_relative 'admin/admin'; use AdminInterface
   # require_relative 'rss/rss'; use RSSInterface
   
   run! if app_file == $0
-- 
cgit v1.2.3