Create new API endpoint for index of all media
The route should be:
GET /connect-app/contact-media
The returned payload should be a list of documents with a resident_id, message_id, and content_type fields. These three fields are what is required to call the recently created route to get media.
To get this information, use the email in the email header to search for all residents with a contact that has that email address. Then use the “media_messages_by_resident_id” view to get the resident_id, message_id, and content_type information for each media message. Finally, return the list of documents retrieved from the view. Make sure that the final format of the payload looks like this:
[
{
"content_type": "image/jpeg",
"message_id": "5c6cc6ba540431014f2d4dd747e98099",
"resident_id": "008de87b-dd86-0737-93ec-96db1e2e2127"
},
{
"content_type": "image/jpeg",
"message_id": "6e891a924c95cc71be97c099b654b142",
"resident_id": "008de87b-dd86-0737-93ec-96db1e2e2127"
},
{
"content_type": "video/3gpp",
"message_id": "e6d9a1e5d9933d8c566e6335d475788c",
"resident_id": "02d2db5a-1a4d-2245-2018-be18d4614891"
}
]
Here is an example of the view request in QA. The authorization is just the olympusqa credentials using basic auth.
curl -X GET \
'[login to view URL][%2202d2db5a-1a4d-2245-2018-be18d4614891%22,%22008de87b-dd86-0737-93ec-96db1e2e2127%22]' \
-H 'Authorization: Basic b2x5bXB1c3FhOiR6Kko3UVpXQDM4NkJxOEJrY3I3'
The SyncGatewayService in Connect-API already has a getView function that you can use. [login to view URL] is an example of calling a view. You will need to pass the “keys” (plural) query
parameter instead of “key” as this example uses. Set the “keys” parameter to the list of resident IDs.
Hello!
I'm interesting your project very well and full time developer.
I have great skill in design and php.
My price and period is negotiable.
Employee’s satisfy is my happiness !
Let's go ahead with me !
My Skills: Responsive Website design
PHP, CakePHP, Laravel, Codeigniter, Symphony, Wordpress HTML/CSS/JavaScript/jQuery/Bootstrap/AngularJS/Vuejs/SASS
MySQL/MSSQL/PostgreSQL/SQLite/Oracle