Display book data
This commit is contained in:
parent
9d876bdb7c
commit
8606c034e4
19
main.c
19
main.c
@ -92,20 +92,25 @@ sendbooks(struct kreq *r)
|
|||||||
struct kjsonreq req;
|
struct kjsonreq req;
|
||||||
const char *errid;
|
const char *errid;
|
||||||
int64_t id = -1;
|
int64_t id = -1;
|
||||||
|
struct book *b = NULL;
|
||||||
|
|
||||||
http_open(r, KHTTP_200);
|
|
||||||
kjson_open(&req, r);
|
|
||||||
kjson_obj_open(&req);
|
|
||||||
kjson_putstringp(&req, "data", "books");
|
|
||||||
if (NULL != r->fieldmap[KEY_ID])
|
if (NULL != r->fieldmap[KEY_ID])
|
||||||
id = r->fieldmap[KEY_ID]->parsed.i;
|
id = r->fieldmap[KEY_ID]->parsed.i;
|
||||||
if (r->path[0] != '\0')
|
if (r->path[0] != '\0')
|
||||||
id = strtonum(r->path, INT64_MIN, INT64_MAX, &errid);
|
id = strtonum(r->path, INT64_MIN, INT64_MAX, &errid);
|
||||||
if (id > 0) {
|
if (id > 0) {
|
||||||
kjson_putintp(&req, "id", id);
|
b = db_book_load(r, id);
|
||||||
db_book_load(r, id);
|
}
|
||||||
|
http_open(r, (id > 0 && NULL == b) ? KHTTP_404 : KHTTP_200);
|
||||||
|
kjson_open(&req, r);
|
||||||
|
kjson_obj_open(&req);
|
||||||
|
if (NULL == b) {
|
||||||
|
kjson_putstringp(&req, "data", "error");
|
||||||
|
} else {
|
||||||
|
kjson_putstringp(&req, "data", "books");
|
||||||
|
kjson_putintp(&req, "id", b->id);
|
||||||
|
kjson_putstringp(&req, "title", b->title);
|
||||||
}
|
}
|
||||||
|
|
||||||
kjson_putstringp(&req, "_path", r->path);
|
kjson_putstringp(&req, "_path", r->path);
|
||||||
kjson_putstringp(&req, "_pname", r->pname);
|
kjson_putstringp(&req, "_pname", r->pname);
|
||||||
kjson_putstringp(&req, "_pagename", r->pagename);
|
kjson_putstringp(&req, "_pagename", r->pagename);
|
||||||
|
Loading…
Reference in New Issue
Block a user