libidav/jmap_methods.c

branch
dav-2
changeset 928
57167625bfdd
parent 927
0bcf3d69b37a
--- a/libidav/jmap_methods.c	Fri Jul 10 17:56:21 2026 +0200
+++ b/libidav/jmap_methods.c	Sat Jul 11 20:57:23 2026 +0200
@@ -48,6 +48,36 @@
     return buf;
 }
 
+CxBuffer* jm_email_get_request(cxstring mailbox) {
+    CxBuffer *buf = cxBufferCreate(NULL, NULL, 512, CX_BUFFER_AUTO_EXTEND | CX_BUFFER_FREE_CONTENTS);
+    
+    cxBufferPutString(buf,
+            "{\"using\":["
+                "\"urn:ietf:params:jmap:core\","
+                "\"urn:ietf:params:jmap:mail\""
+            "],\"methodCalls\":["
+                "[\"Email/query\","
+                    "{ \"filter\": { \"inMailbox\": \"");
+    cxBufferPutString(buf, mailbox);
+    cxBufferPutString(buf,
+                    "\" } },"
+                    "\"q1\" ],"
+                "[\"Email/get\", {"
+                "\"#ids\": { "
+                    "\"resultOf\": \"q1\","
+                    "\"name\": \"Email/query\","
+                    "\"path\": \"/ids\""
+                "},"
+                "\"properties\": ["
+                    "\"subject\","
+                    "\"from\","
+                    "\"receivedAt\""
+                "] }, \"g1\" ] ] }");
+                
+    
+    return buf;
+}
+
 CxJsonValue* jm_do_api_request(JMAPSession *sn, CxBuffer *request) {
     curl_easy_setopt(sn->handle, CURLOPT_URL, sn->apiUrl);
     

mercurial