Guest User

Untitled

a guest
Dec 22nd, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.63 KB | None | 0 0
  1. const id = req.id
  2.  
  3. r.table("chats").filter(function (chat) { // Get chats
  4. return chat("users").contains(function (user) {
  5. return user("id").eq(id)
  6. })
  7. }).map(function (chat) { // Recibe mensajes de cada chat
  8. return chat.merge({
  9. "messages":
  10. r.table("messages").eqJoin("user_id", r.table('users'))
  11. .zip()
  12. .pluck("id", "creation_date", "message", "email", "username", "status")
  13. .orderBy(r.asc('creation_date'))
  14. .coerceTo('array')
  15. })
  16. }).run(connection).then(function (cursor) {
  17. return cursor.toArray()
  18. }).then(function (chats) {
  19. res.json({ success: 1, chats })
  20. }).catch(function (err) {
  21. sendError(res, "Error -> " + err)
  22. })
  23.  
  24. {
  25. "success": 1,
  26. "chats": [
  27. {
  28. "id": "8c4a58ef-4fb2-4084-af28-d9d04da0651c",
  29. "image": null,
  30. "is_group": false,
  31. "messages": [
  32. {
  33. "creation_date": "Fri Dec 21 2018 09:21:17 GMT+0100 (CET)",
  34. "email": "blabla@sssssss.eu",
  35. "id": "6c240de3-94e7-4b1c-9ef3-218dc71d8b0a",
  36. "message": "Felices fiestas por cierto, saludos a la familia",
  37. "status": "SAVED",
  38. "username": "John García"
  39. },
  40. {
  41. "creation_date": "Fri Dec 21 2018 09:21:27 GMT+0100 (CET)",
  42. "email": "blabla@sssssss.eu",
  43. "id": "6c240de3-94e7-4b1c-9ef3-218dc71d8b0a",
  44. "message": "Bien, estoy en la oficina 😃",
  45. "status": "SENT",
  46. "username": "John García"
  47. }
  48. ],
  49. "name": null,
  50. "users": [
  51. {
  52. "id": "6c240de3-94e7-4b1c-9ef3-218dc71d8b0a"
  53. },
  54. {
  55. "id": "72b4350d-a025-4dc1-9038-8e13c3ec12dc"
  56. }
  57. ]
  58. },
  59. {
  60. "id": "3a3501f3-7a17-4261-a0aa-3cae94f58f18",
  61. "image": null,
  62. "is_group": false,
  63. "messages": [
  64. {
  65. "creation_date": "Fri Dec 21 2018 09:21:27 GMT+0100 (CET)",
  66. "email": "blabla@sssssss.eu",
  67. "id": "6c240de3-94e7-4b1c-9ef3-218dc71d8b0a",
  68. "message": "Bien, estoy en la oficina 😃",
  69. "status": "SENT",
  70. "username": "John García"
  71. },
  72. {
  73. "creation_date": "Fri Dec 21 2018 09:22:53 GMT+0100 (CET)",
  74. "email": "blabla@sssssss.eu",
  75. "id": "6c240de3-94e7-4b1c-9ef3-218dc71d8b0a",
  76. "message": "Espero que estéis todos genial",
  77. "status": "SENDING",
  78. "username": "John García"
  79. },
  80. {
  81. "creation_date": "Thu Dec 20 2018 16:41:02 GMT+0100 (CET)",
  82. "email": "eoeoeoeoe@wwwww.eu",
  83. "id": "72b4350d-a025-4dc1-9038-8e13c3ec12dc",
  84. "message": "¿How are you?",
  85. "status": "SEEN",
  86. "username": "Chester López"
  87. }
  88. ],
  89. "name": null,
  90. "users": [
  91. {
  92. "id": "6c240de3-94e7-4b1c-9ef3-218dc71d8b0a"
  93. },
  94. {
  95. "id": "8af72e80-e198-4ff8-9f70-da78a8ee9cc0"
  96. }
  97. ]
  98. }
  99. ]
  100. }
  101.  
  102. {
  103. "id": "6c240de3-94e7-4b1c-9ef3-218dc71d8b0a"
  104. "email": "blabla@sssssss.eu",
  105. "image": null,
  106. "username": "John García",
  107. "web": "OTRA"
  108. }
  109.  
  110. .map(function(chat){
  111. return chat.merge({
  112. "users":
  113. chat("users").map(function(user) {
  114. return r.table("users").filter({id: user("id")})
  115. .pluck("email", "username", "image")
  116. })
  117.  
  118. })
  119. })
Add Comment
Please, Sign In to add comment