diff of 774698a49ffcc2ff284d309e26f90bc95f4300e8

774698a49ffcc2ff284d309e26f90bc95f4300e8
diff --git a/resources/sql/post-fns.sql b/resources/sql/post-fns.sql
index df2103c..9d29e8c 100644
--- a/resources/sql/post-fns.sql
+++ b/resources/sql/post-fns.sql
@@ -15,7 +15,7 @@ SELECT p.Title AS "Title",
        EXTRACT(MONTH FROM p.created_at) AS "Month",
        EXTRACT(YEAR FROM p.created_at) AS "Year",
        p.id as "Id",
-       p.Tags as "Tags"
+       p.Tags as "Tags", p.hidden, p.unlisted
 FROM blog.Post p
 WHERE $1 OR (NOT p.unlisted AND NOT p.hidden)
 ORDER BY p.created_at DESC;
@@ -35,7 +35,7 @@ SELECT p.ID,
 			 'img_location',
 			 u.Img_location) as "creator",
        (SELECT MAX(version) + 1 FROM blog.Post_History phh WHERE (phh.id = p.id AND ((not phh.unlisted) OR $2) AND ((not phh.hidden) OR $2))) AS version,
-       json_agg(DISTINCT version) as "versions"
+       json_agg(DISTINCT version) as "versions", p.hidden, p.unlisted
 FROM blog.Post p
 JOIN blog.Users u ON u.ID = p.creator_id
 LEFT JOIN blog.Post_History ph ON (ph.id = p.id AND ((not ph.unlisted) OR $2) AND ((not ph.hidden) OR $2))
@@ -52,7 +52,7 @@ SELECT p.ID, p.Title, p.created_at, p.Content, p.tags, p.version, 0 AS "amount-o
 			 u.Nickname,
 			 'img_location',
 			 u.Img_location) as "creator",
-     json_agg(DISTINCT ph.version) as "versions"
+     json_agg(DISTINCT ph.version) as "versions", p.hidden, p.unlisted
 FROM blog.Post_History p
 JOIN blog.Users u ON u.ID = p.creator_id
 LEFT JOIN blog.Post_History ph ON (ph.id = p.id AND (not ph.unlisted) AND (not ph.hidden))
@@ -61,7 +61,7 @@ GROUP BY p.ID, p.Title, p.created_at, p.Content, p.tags, p.version, "amount-of-c
 
 
 -- name: get-all*
-SELECT p.id, p.Title, p.Content, p.created_at, p.tags, u.Username, u.Nickname, u.Img_location, COUNT(c.ID) AS "amount-of-comments"
+SELECT p.id, p.Title, p.Content, p.created_at, p.tags, u.Username, u.Nickname, u.Img_location, COUNT(c.ID) AS "amount-of-comments", p.hidden, p.unlisted
 FROM blog.Post p
 JOIN blog.Users u ON u.ID = p.creator_id
 LEFT JOIN blog.Comment c ON c.parent_post_id = p.ID
@@ -78,7 +78,7 @@ ORDER BY p.created_at DESC
 -- $3 == show-hidden?
 -- name: get-page*
 -- returns: :array-hash
-SELECT p.ID, p.Title, p.Content, p.created_at, p.tags, COUNT(c.ID) AS "amount-of-comments", json_build_object('username', u.Username, 'nickname', u.Nickname, 'img_location', u.Img_location) as "creator", json_agg(DISTINCT version) as "versions"
+SELECT p.ID, p.Title, p.Content, p.created_at, p.tags, COUNT(c.ID) AS "amount-of-comments", json_build_object('username', u.Username, 'nickname', u.Nickname, 'img_location', u.Img_location) as "creator", json_agg(DISTINCT version) as "versions", p.hidden, p.unlisted
 FROM blog.Post p
 JOIN blog.Users u ON u.ID = p.creator_id
 LEFT JOIN blog.Comment c ON c.parent_post_id = p.ID
@@ -134,7 +134,7 @@ WHERE p.tags ? 'landing-page' AND NOT p.hidden;
 
 -- name: get-tagged*
 -- returns: :array-hash
-SELECT p.ID, p.Title, p.Content, p.created_at, p.tags, 0 AS "amount-of-comments", json_build_object('username', u.Username, 'nickname', u.Nickname, 'img_location', u.Img_location) as "creator", json_agg(DISTINCT version) as "versions"
+SELECT p.ID, p.Title, p.Content, p.created_at, p.tags, 0 AS "amount-of-comments", json_build_object('username', u.Username, 'nickname', u.Nickname, 'img_location', u.Img_location) as "creator", json_agg(DISTINCT version) as "versions", p.hidden, p.unlisted
 FROM blog.Post p
 JOIN blog.Users u ON u.ID = p.creator_id
 LEFT JOIN blog.Post_History ph ON ph.id = p.id 
diff --git a/src/migration-list.lisp b/src/migration-list.lisp
index a14d5d8..9e8321e 100644
--- a/src/migration-list.lisp
+++ b/src/migration-list.lisp
@@ -29,7 +29,9 @@
 					 "Playwright-user"
 					 "playwrighte"
 					 ""
-					 (sha-512 "p4ssw0rd")))))))
+					 (sha-512 "p4ssw0rd")))))
+    (postmodern:execute "INSERT INTO blog.GroupMapping(userid, groupid, primarygroup) VALUES ($1, (SELECT id FROM blog.UserGroup WHERE name = 'Users'), true)" user-id)
+    (postmodern:execute "INSERT INTO blog.GroupMapping(userid, groupid, primarygroup) VALUES ($1, (SELECT id FROM blog.UserGroup WHERE name = 'Admins'), true)" user-id)))
 
 (deflispmigration _ "e2e-migration"
   (declare (ignore _))
diff --git a/src/routes/post-routes.lisp b/src/routes/post-routes.lisp
index 512038d..2c52a2c 100644
--- a/src/routes/post-routes.lisp
+++ b/src/routes/post-routes.lisp
@@ -61,8 +61,13 @@
 (defroute unhidden-post ("/api/posts/post/:id" :method :get :decorators (@json
 									 @transaction)) ()
   (let* ((post (get-post id)))
-    (log:info "returning unhidden post { ~{~a~%~} }~%" (alexandria:hash-table-alist post))
-    (stringify post)))
+    (if post
+	(progn 
+	  (log:info "returning unhidden post { ~{~a~%~} }~%" (alexandria:hash-table-alist post))
+	  (stringify post))
+	(progn
+	  (setf (hunchentoot:return-code*) 404)
+	  ""))))
 
 (defroute tagged-posts-route ("/api/posts/tagged/:tag" :method :get
 						       :decorators (@json
@@ -77,7 +82,7 @@
 								      @authenticated
 								      (@can? "create-post"))) ()
   (let ((creator-id (gethash "id" *user*)))
-    (prin1-to-string (caar (murja.posts.post-db:insert-post "New title" "New post" creator-id "[]")))))
+    (prin1-to-string (caar (murja.posts.post-db:insert-post "New title" "New post" creator-id "[]" t nil)))))
 
 (defroute post-update-route ("/api/posts/post" :method :put 
 					       :decorators (@json
@@ -92,8 +97,10 @@
 			       (coerce 
 				(gethash "tags" request-body) 'list))
 		    #())))
-	 (post-id (gethash "id" request-body)))
+	 (post-id (gethash "id" request-body))
+	 (hidden (gethash "hidden" request-body))
+	 (unlisted (gethash "unlisted" request-body)))
     (log:info "updating post ~d" post-id)
 
-    (murja.posts.post-db:update-post title content tags post-id)
+    (murja.posts.post-db:update-post title content tags hidden unlisted post-id)
     ""))