diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-19 12:53:03 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-19 12:53:03 +0200 |
| commit | 30c309e15d3211e7d0e8a8a2752c3e9afa0a0638 (patch) | |
| tree | 11ce615f88bf73d736480a7173aab12ed05156a1 /src/commands.c | |
| parent | 678d9a58be42c9375511c402642fd621029172c5 (diff) | |
| download | bokf-0.1.32.tar.gz bokf-0.1.32.zip | |
attachments: list every link when filtering by voucherv0.1.32
Diffstat (limited to 'src/commands.c')
| -rw-r--r-- | src/commands.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/commands.c b/src/commands.c index 500c9a3..f03e0e4 100644 --- a/src/commands.c +++ b/src/commands.c @@ -3484,12 +3484,15 @@ static yyjson_mut_val *h_attachment_list(struct req *r) r->db, "SELECT a.id,a.filename,a.mime,a.size_bytes,a.created_at,a.sha256," "(SELECT va.voucher_id FROM voucher_attachments va" - " WHERE va.org_id=a.org_id AND va.attachment_id=a.id LIMIT 1)" + " WHERE va.org_id=a.org_id AND va.attachment_id=a.id" + " AND (?2=0 OR va.voucher_id=?2)" + " ORDER BY va.voucher_id LIMIT 1)" " FROM attachments a WHERE a.org_id=?1" - " AND (?2=0 OR (SELECT va.voucher_id FROM voucher_attachments va" - " WHERE va.org_id=a.org_id AND va.attachment_id=a.id LIMIT 1)=?2)" - " AND (?3=0 OR NOT EXISTS(SELECT 1 FROM voucher_attachments va2" - " WHERE va2.org_id=a.org_id AND va2.attachment_id=a.id))" + " AND (?2=0 OR EXISTS(SELECT 1 FROM voucher_attachments va2" + " WHERE va2.org_id=a.org_id AND va2.attachment_id=a.id" + " AND va2.voucher_id=?2))" + " AND (?3=0 OR NOT EXISTS(SELECT 1 FROM voucher_attachments va3" + " WHERE va3.org_id=a.org_id AND va3.attachment_id=a.id))" " AND a.id>?4 ORDER BY a.id LIMIT ?5", -1, &st, NULL) != SQLITE_OK) return fail(r, "INTERNAL", "database error"); |
