From ff7697477f90a65c0b1f58417042558d031b16fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 27 May 2025 10:24:46 +0200 Subject: [PATCH] =?UTF-8?q?Add=20#:authenticate=3F=20parameter=20to=20?= =?UTF-8?q?=E2=80=98git-repository-url->git-repository-id=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- guix-data-service/model/git-repository.scm | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/guix-data-service/model/git-repository.scm b/guix-data-service/model/git-repository.scm index 8efedcd..f6cceb1 100644 --- a/guix-data-service/model/git-repository.scm +++ b/guix-data-service/model/git-repository.scm @@ -225,7 +225,11 @@ FROM git_repositories WHERE id = $1" (((id)) (string->number id)))) -(define (git-repository-url->git-repository-id conn url) +(define* (git-repository-url->git-repository-id conn url + #:key (authenticate? #t)) + (define (->boolean value) + (if value "TRUE" "FALSE")) + (let ((existing-id (exec-query conn @@ -233,15 +237,21 @@ FROM git_repositories WHERE id = $1" "SELECT id FROM git_repositories WHERE url = '" url "'")))) (string->number (match existing-id - (((id)) id) + (((id)) + (exec-query conn + (string-append "UPDATE git_repositories \ +SET fetch_with_authentication = " + (->boolean authenticate?) + " WHERE id = " id ";")) + id) (() (caar (exec-query conn (string-append "INSERT INTO git_repositories " - "(url) " + "(url, fetch_with_authentication) " "VALUES " - "('" url "') " + "('" url "', " (->boolean authenticate?) ") " "RETURNING id")))))))) (define (guix-revisions-and-jobs-for-git-repository conn git-repository-id)