author | Chloe Laisne <chloe.laisne@gmail.com> |
Wed, 17 Aug 2016 15:30:19 +0200 | |
changeset 255 | ed05b89e3299 |
parent 245 | c9dd78a43b07 |
child 256 | 18f0c3ee9aa5 |
permissions | -rw-r--r-- |
245
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
1 |
import JSONAPISerializer from 'ember-data/serializers/json-api'; |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
2 |
|
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
3 |
export default JSONAPISerializer.extend({ |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
4 |
|
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
5 |
normalizeResponse: function(store, primaryModelClass, payload, id, requestType) { |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
6 |
var annotations = []; |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
7 |
payload.annotations.forEach(function(annotation) { |
255
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
8 |
console.log('ANNOT', annotation.content.data.words); |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
9 |
var annotationObject = { |
245
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
10 |
'content': annotation.content.data.content, |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
11 |
'start': annotation.begin, |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
12 |
'end': annotation.end |
255
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
13 |
}; |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
14 |
if(annotation.content.data.transl) { |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
15 |
annotationObject.translation = annotation.content.data.transl['@value']; |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
16 |
} |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
17 |
if(annotation.content.data.words) { |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
18 |
var words = []; |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
19 |
annotation.content.data.words.forEach(function(word) { |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
20 |
var wordObject = { |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
21 |
'content': word.content, |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
22 |
'translation': word.transl['@value'] |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
23 |
}; |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
24 |
words.push(wordObject); |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
25 |
}) |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
26 |
annotationObject.words = words; |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
27 |
} |
ed05b89e3299
Add words to transcript
Chloe Laisne <chloe.laisne@gmail.com>
parents:
245
diff
changeset
|
28 |
annotations.push(annotationObject); |
245
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
29 |
}); |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
30 |
return { |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
31 |
'data': { |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
32 |
'id': id, |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
33 |
'type': 'transcript', |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
34 |
'attributes': { |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
35 |
'title': payload.meta['dc:title']['@value'], |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
36 |
'annotations': annotations |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
37 |
} |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
38 |
} |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
39 |
}; |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
40 |
} |
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
41 |
|
c9dd78a43b07
Transcript model and erializer
Chloe Laisne <chloe.laisne@gmail.com>
parents:
diff
changeset
|
42 |
}); |