Mercurial > sci
view scid/page-jobresults.c @ 46:16f1c72d1635
scid: simplify theme code
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 15 Aug 2022 17:57:34 +0200 |
parents | 6854efe15210 |
children | 71cd8447e3a4 |
line wrap: on
line source
/* * page-jobresults.c -- page /jobresults/<id> route * * Copyright (c) 2021-2022 David Demelier <markand@malikania.fr> * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include <assert.h> #include <stdio.h> #include "db.h" #include "page-jobresults.h" #include "pageutil.h" #include "theme.h" #include "util.h" static void list(struct kreq *r, intmax_t id) { json_t *results; char *data; if (!(results = db_jobresult_list_by_job(id))) pageutil_status(r, KHTTP_404); else { data = theme_render("onPageJobresults", util_json_pack("{sI so}", "job_id", (json_int_t)id, "jobresults", results )); pageutil_render(r, KHTTP_200, KMIME_TEXT_HTML, data); free(data); } } static void get(struct kreq *r) { intmax_t id; if (sscanf(r->fullpath, "/jobresults/%jd", &id) != 1) pageutil_status(r, KHTTP_400); else list(r, id); } void page_jobresults(struct kreq *r) { (void)r; switch (r->method) { case KMETHOD_GET: get(r); break; default: pageutil_status(r, KHTTP_400); break; } }