Add git owner verification option

Julien LepillerTue Nov 04 15:30:30+0300 2025

66da601

Add git owner verification option

gitile/config.scm

2626
            config-host
2727
            config-database
2828
            config-repositories
29+
            config-git-owner-validation?
2930
            config-base-git-url
3031
            config-index-title
3132
            config-intro

3637
            set-parameters-from-config!))
3738
3839
(define-record-type <config>
39-
  (make-config port host database repositories base-git-url index-title intro footer)
40+
  (make-config port host database repositories git-owner-validation?
41+
               base-git-url index-title intro footer)
4042
  config?
4143
  (port         config-port)
4244
  (host         config-host)
4345
  (database     config-database)
4446
  (repositories config-repositories)
47+
  (git-owner-validation? config-git-owner-validation?)
4548
  (base-git-url config-base-git-url)
4649
  (index-title  config-index-title)
4750
  (intro        config-intro)

gitile/handler.scm

2020
(define-module (gitile handler)
2121
  #:use-module (fibers web server)
2222
  #:use-module (git)
23+
  #:use-module (git settings)
2324
  #:use-module (gitile config)
2425
  #:use-module (gitile pages)
2526
  #:use-module (gitile repo)

198199
                     (list)))
199200
200201
  (match config
201-
    (($ <config> port host database repositories base-git-url index-title intro
202-
        footer)
202+
    (($ <config> port host database repositories owner-validation? base-git-url
203+
        index-title intro footer)
204+
     (set-owner-validation! owner-validation?)
203205
     (lambda (request body)
204206
       (pk 'request request)
205207
       (pk 'body (if body (utf8->string body) body))

scripts/gitile.in

2323
2424
(use-modules (ice-9 match)
2525
             (fibers web server)
26-
             (git settings)
2726
             (gitile config)
2827
             (gitile handler))
2928

3736
                          ('host host)
3837
                          ('database database)
3938
                          ('repositories repositories)
39+
                          ('git-owner-validation? validation?)
4040
                          ('base-git-url git-base-url)
4141
                          ('index-title index-title)
4242
                          ('intro intro)
4343
                          ('footer footer))
44-
                 (make-config port host database repositories
44+
                 (make-config port host database repositories validation?
4545
                              git-base-url index-title intro footer)))))
4646
           (_ (format #t "Usage: ~a -c config-file~%" (car args))
4747
              (exit)))))
48-
    (set-owner-validation! #f)
4948
    (set-parameters-from-config! config)
5049
    (run-server (gitile-handler config) #:port (config-port config))))
5150