From 2f36d47b1b5540ab157d561cea4eb1afc1aec7e7 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 11 Jan 2020 17:25:08 +0000 Subject: Don't hardcode the expected x-git-repo header value Rather than expecting it always to be "guix", store the expected value in the database, and use the value of the header to find the relevant repository. --- guix-data-service/model/git-repository.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'guix-data-service/model/git-repository.scm') diff --git a/guix-data-service/model/git-repository.scm b/guix-data-service/model/git-repository.scm index 2ed3f01..5b6997c 100644 --- a/guix-data-service/model/git-repository.scm +++ b/guix-data-service/model/git-repository.scm @@ -22,6 +22,7 @@ #:export (all-git-repositories select-git-repository git-repository-id->url + git-repository-x-git-repo-header->git-repository-id git-repository-url->git-repository-id git-repositories-containing-commit @@ -59,6 +60,17 @@ (list id)) (((url)) url))) +(define (git-repository-x-git-repo-header->git-repository-id conn header) + (match + (exec-query + conn + (string-append + "SELECT id FROM git_repositories WHERE x_git_repo_header = $1;") + (list header)) + (() #f) + (((id)) + (string->number id)))) + (define (git-repository-url->git-repository-id conn url) (let ((existing-id (exec-query -- cgit v1.2.3