diff options
author | Christopher Baines <mail@cbaines.net> | 2020-01-11 17:25:08 +0000 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-01-11 17:25:08 +0000 |
commit | 2f36d47b1b5540ab157d561cea4eb1afc1aec7e7 (patch) | |
tree | 1dca3f979edc0f2fa17403d10e3e3e2797ed55f5 /guix-data-service/model/git-repository.scm | |
parent | 57cbac891e6771677b0f5ca906c32e5c5dff701d (diff) | |
download | data-service-2f36d47b1b5540ab157d561cea4eb1afc1aec7e7.tar data-service-2f36d47b1b5540ab157d561cea4eb1afc1aec7e7.tar.gz |
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.
Diffstat (limited to 'guix-data-service/model/git-repository.scm')
-rw-r--r-- | guix-data-service/model/git-repository.scm | 12 |
1 files changed, 12 insertions, 0 deletions
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 |