Selaa lähdekoodia

:recycle: deleting duplicate responses for profile_id

tags/0.0.1
J 4 vuotta sitten
vanhempi
commit
984434844e
1 muutettua tiedostoa jossa 7 lisäystä ja 3 poistoa
  1. 7
    3
      backend/lib/services/profile.js

+ 7
- 3
backend/lib/services/profile.js Näytä tiedosto

43
  * Grab the zip code string
43
  * Grab the zip code string
44
  */
44
  */
45
 const getZipCodeFromProfile = profile => {
45
 const getZipCodeFromProfile = profile => {
46
-    // console.log('profile getZipCode', profile)
47
     // There should only be one zip code entry per profile
46
     // There should only be one zip code entry per profile
48
     let zipRes = profile.responses.filter(
47
     let zipRes = profile.responses.filter(
49
         // Whatever the zipcode questions is
48
         // Whatever the zipcode questions is
50
         response => response.response_key_id == zipcodeKey,
49
         response => response.response_key_id == zipcodeKey,
51
     )[0]
50
     )[0]
51
+
52
     const responseIndexForZip = profile.responses.indexOf(zipRes)
52
     const responseIndexForZip = profile.responses.indexOf(zipRes)
53
     if (responseIndexForZip >= 0) {
53
     if (responseIndexForZip >= 0) {
54
         profile.responses.splice(responseIndexForZip, 1)
54
         profile.responses.splice(responseIndexForZip, 1)
55
     }
55
     }
56
-    // console.log(zipRes)
57
     return zipRes.val
56
     return zipRes.val
58
 }
57
 }
59
 
58
 
202
                 response.response_key_id == responseToSave.response_key_id,
201
                 response.response_key_id == responseToSave.response_key_id,
203
         )
202
         )
204
 
203
 
204
+        // Delete matches
205
         // ?:Maybe bad idea
205
         // ?:Maybe bad idea
206
         if (matchingResponses.length > 0) {
206
         if (matchingResponses.length > 0) {
207
-            return null
207
+            const alreadyAnswered = matchingResponses.map(matchingRes => matchingRes.response_key_id)
208
+            await Response.query()
209
+                .where({ profile_id: profileId })
210
+                .delete()
211
+                .whereIn('response_key_id', alreadyAnswered)
208
         }
212
         }
209
 
213
 
210
         await Response.query().insert(responseToSave)
214
         await Response.query().insert(responseToSave)

Loading…
Peruuta
Tallenna