aboutsummaryrefslogtreecommitdiff
path: root/guix-data-service/model/lint-warning.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix-data-service/model/lint-warning.scm')
-rw-r--r--guix-data-service/model/lint-warning.scm36
1 files changed, 36 insertions, 0 deletions
diff --git a/guix-data-service/model/lint-warning.scm b/guix-data-service/model/lint-warning.scm
new file mode 100644
index 0000000..e516618
--- /dev/null
+++ b/guix-data-service/model/lint-warning.scm
@@ -0,0 +1,36 @@
+(define-module (guix-data-service model lint-warning)
+ #:use-module (squee)
+ #:use-module (guix-data-service model utils)
+ #:export (lint-warnings-data->lint-warning-ids
+ insert-guix-revision-lint-warnings))
+
+(define (lint-warnings-data->lint-warning-ids
+ conn
+ ;; (lint-checker-id package-id location-id lint-warning-message-set-id)
+ lint-warnings-data)
+ (insert-missing-data-and-return-all-ids
+ conn
+ "lint_warnings"
+ `((lint_checker_id . ,identity)
+ (package_id . ,identity)
+ (location_id . ,identity)
+ (lint_warning_message_set_id . ,identity))
+ lint-warnings-data))
+
+(define (insert-guix-revision-lint-warnings conn
+ guix-revision-id
+ lint-warning-ids)
+ (exec-query
+ conn
+ (string-append
+ "INSERT INTO guix_revision_lint_warnings (lint_warning_id, guix_revision_id) "
+ "VALUES "
+ (string-join
+ (map (lambda (lint-warning-id)
+ (simple-format
+ #f
+ "(~A, ~A)"
+ lint-warning-id
+ guix-revision-id))
+ lint-warning-ids)
+ ", "))))