aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-10-07 18:50:13 +0100
committerChristopher Baines <mail@cbaines.net>2020-10-07 18:50:13 +0100
commit9f9c23010e79ea2d1dc400fa5d48562b05d9be29 (patch)
treef76aaa3f89d61de3f6977e44863bc54c5866d714
parent888d9fcb98c6d697120993efe0b3bbd175bf37d7 (diff)
downloaddata-service-9f9c23010e79ea2d1dc400fa5d48562b05d9be29.tar
data-service-9f9c23010e79ea2d1dc400fa5d48562b05d9be29.tar.gz
Support storing whether to authenticate commits by git repository
To allow using the Guix Data Service when commits aren't authenticated.
-rw-r--r--guix-data-service/model/git-repository.scm9
-rw-r--r--guix-data-service/web/repository/controller.scm2
-rw-r--r--sqitch/deploy/git_repositories_add_fetch_with_authentication_field.sql8
-rw-r--r--sqitch/revert/git_repositories_add_fetch_with_authentication_field.sql7
-rw-r--r--sqitch/sqitch.plan1
-rw-r--r--sqitch/verify/git_repositories_add_fetch_with_authentication_field.sql7
6 files changed, 30 insertions, 4 deletions
diff --git a/guix-data-service/model/git-repository.scm b/guix-data-service/model/git-repository.scm
index 8639644..4eeb99d 100644
--- a/guix-data-service/model/git-repository.scm
+++ b/guix-data-service/model/git-repository.scm
@@ -47,12 +47,15 @@
(define (select-git-repository conn id)
(match (exec-query
conn
- "SELECT label, url, cgit_url_base FROM git_repositories WHERE id = $1"
+ "SELECT label, url, cgit_url_base, fetch_with_authentication FROM git_repositories WHERE id = $1"
(list id))
(()
#f)
- ((result)
- result)))
+ (((label url cgit_url_base fetch_with_authentication))
+ (list label
+ url
+ cgit_url_base
+ (string=? fetch_with_authentication "t")))))
(define (git-repository-id->url conn id)
(match
diff --git a/guix-data-service/web/repository/controller.scm b/guix-data-service/web/repository/controller.scm
index 2c777de..d72639d 100644
--- a/guix-data-service/web/repository/controller.scm
+++ b/guix-data-service/web/repository/controller.scm
@@ -69,7 +69,7 @@
(with-thread-postgresql-connection
(lambda (conn)
(select-git-repository conn id))))
- ((label url cgit-url-base)
+ ((label url cgit-url-base fetch-with-authentication?)
(letpar& ((branches
(with-thread-postgresql-connection
(lambda (conn)
diff --git a/sqitch/deploy/git_repositories_add_fetch_with_authentication_field.sql b/sqitch/deploy/git_repositories_add_fetch_with_authentication_field.sql
new file mode 100644
index 0000000..6734899
--- /dev/null
+++ b/sqitch/deploy/git_repositories_add_fetch_with_authentication_field.sql
@@ -0,0 +1,8 @@
+-- Deploy guix-data-service:git_repositories_add_fetch_with_authentication_field to pg
+
+BEGIN;
+
+ALTER TABLE git_repositories
+ ADD COLUMN fetch_with_authentication boolean NOT NULL DEFAULT TRUE;
+
+COMMIT;
diff --git a/sqitch/revert/git_repositories_add_fetch_with_authentication_field.sql b/sqitch/revert/git_repositories_add_fetch_with_authentication_field.sql
new file mode 100644
index 0000000..991039d
--- /dev/null
+++ b/sqitch/revert/git_repositories_add_fetch_with_authentication_field.sql
@@ -0,0 +1,7 @@
+-- Revert guix-data-service:git_repositories_add_fetch_with_authentication_field from pg
+
+BEGIN;
+
+-- XXX Add DDLs here.
+
+COMMIT;
diff --git a/sqitch/sqitch.plan b/sqitch/sqitch.plan
index abb27fd..6055c5a 100644
--- a/sqitch/sqitch.plan
+++ b/sqitch/sqitch.plan
@@ -72,3 +72,4 @@ change_locale_values 2020-09-26T10:20:22Z Christopher Baines <mail@cbaines.net>
change_autovacuum_config 2020-10-01T21:24:46Z Christopher Baines <mail@cbaines.net> # Change autovacuum config
change_derivation_source_file_nars_constraint 2020-10-02T17:12:58Z Christopher Baines <mail@cbaines.net> # Change derivation source file nars constraint
add_derivation_sources_derivation_source_file_id_index 2020-10-02T19:11:59Z Christopher Baines <mail@cbaines.net> # Add derivation_sources.derivation_source_file_id index
+git_repositories_add_fetch_with_authentication_field 2020-10-07T17:31:20Z Christopher Baines <mail@cbaines.net> # Add git_repositories.fetch_with_authentication
diff --git a/sqitch/verify/git_repositories_add_fetch_with_authentication_field.sql b/sqitch/verify/git_repositories_add_fetch_with_authentication_field.sql
new file mode 100644
index 0000000..209aa61
--- /dev/null
+++ b/sqitch/verify/git_repositories_add_fetch_with_authentication_field.sql
@@ -0,0 +1,7 @@
+-- Verify guix-data-service:git_repositories_add_fetch_with_authentication_field on pg
+
+BEGIN;
+
+-- XXX Add verifications here.
+
+ROLLBACK;