summaryrefslogtreecommitdiff
path: root/haunt
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.org>2022-12-03 13:06:41 -0500
committerJakob L. Kreuze <zerodaysfordays@sdf.org>2022-12-03 13:06:41 -0500
commitdce2e132e00ba25cc87a575d89f544b1ab937c49 (patch)
treed2e5bc677b7172f90a063fa90eb32c4f39e8b6f7 /haunt
parent59f3b1b7899e11a7b6c117e25041245c8acf65d6 (diff)
[dynamic] Move JSON parsing routines to common module
Diffstat (limited to 'haunt')
-rw-r--r--haunt/jakob/dynamic/capabilities/comments.scm31
-rw-r--r--haunt/jakob/dynamic/capabilities/common.scm32
-rw-r--r--haunt/jakob/utils/comments.scm2
3 files changed, 35 insertions, 30 deletions
diff --git a/haunt/jakob/dynamic/capabilities/comments.scm b/haunt/jakob/dynamic/capabilities/comments.scm
index 1346ee4..711fa3b 100644
--- a/haunt/jakob/dynamic/capabilities/comments.scm
+++ b/haunt/jakob/dynamic/capabilities/comments.scm
@@ -16,6 +16,7 @@
(define-module (jakob dynamic capabilities comments)
#:use-module (ice-9 match)
+ #:use-module (jakob dynamic capabilities common)
#:use-module (jakob dynamic captcha)
#:use-module (jakob dynamic errors)
#:use-module (jakob dynamic util)
@@ -31,38 +32,10 @@
get-comments-by-slug
put-comment
- put-reaction
-
- json->internal-comment
- internal-comment?
- internal-comment-id
- internal-comment-name
- internal-comment-subject
- internal-comment-email
- internal-comment-comment
- internal-comment-url
- internal-comment-publish-time
- internal-comment-reactions))
+ put-reaction))
(define conn (connect-to-postgres-paramstring "dbname=jakob_comments"))
-(define-json-mapping <internal-comment>
- make-internal-comment
- internal-comment?
- json->internal-comment <=> internal-comment->json
- (id internal-comment-id)
- (name internal-comment-name)
- (subject internal-comment-subject)
- (email internal-comment-email)
- (comment internal-comment-comment)
- (url internal-comment-url)
- (publish-time
- internal-comment-publish-time
- "publish-time"
- (lambda (x) (string->date x "~Y~m~d ~H~M~S.~N"))
- (lambda (x) (date->string x "~Y-~m-~d ~H:~M:~S.~N")))
- (reactions internal-comment-reactions))
-
(define (get-comments-by-slug slug)
"Internal function for querying the approved comments on a post
diff --git a/haunt/jakob/dynamic/capabilities/common.scm b/haunt/jakob/dynamic/capabilities/common.scm
new file mode 100644
index 0000000..3fecaa9
--- /dev/null
+++ b/haunt/jakob/dynamic/capabilities/common.scm
@@ -0,0 +1,32 @@
+(define-module (jakob dynamic capabilities common)
+ #:use-module (json)
+ #:use-module (srfi srfi-19)
+ #:export (json->internal-comment
+ internal-comment->json
+ make-internal-comment
+ internal-comment?
+ internal-comment-id
+ internal-comment-name
+ internal-comment-subject
+ internal-comment-email
+ internal-comment-comment
+ internal-comment-url
+ internal-comment-publish-time
+ internal-comment-reactions))
+
+(define-json-mapping <internal-comment>
+ make-internal-comment
+ internal-comment?
+ json->internal-comment <=> internal-comment->json
+ (id internal-comment-id)
+ (name internal-comment-name)
+ (subject internal-comment-subject)
+ (email internal-comment-email)
+ (comment internal-comment-comment)
+ (url internal-comment-url)
+ (publish-time
+ internal-comment-publish-time
+ "publish-time"
+ (lambda (x) (string->date x "~Y~m~d ~H~M~S.~N"))
+ (lambda (x) (date->string x "~Y-~m-~d ~H:~M:~S.~N")))
+ (reactions internal-comment-reactions))
diff --git a/haunt/jakob/utils/comments.scm b/haunt/jakob/utils/comments.scm
index 8678a3a..26ed565 100644
--- a/haunt/jakob/utils/comments.scm
+++ b/haunt/jakob/utils/comments.scm
@@ -21,7 +21,7 @@
#:use-module (ice-9 iconv)
#:use-module (ice-9 match)
#:use-module (ice-9 receive)
- #:use-module (jakob dynamic capabilities comments)
+ #:use-module (jakob dynamic capabilities common)
#:use-module (jakob dynamic util)
#:use-module (json)
#:use-module (oop goops)