@@ -107,14 +107,16 @@ export default class PhraseanetClient {
107
107
params : Record < string , any > ,
108
108
offset : number = 0 ,
109
109
limit : number = 50 ,
110
- searchQuery : string
110
+ searchQuery : string ,
111
+ importStories : boolean
111
112
) : Promise < CPhraseanetRecord [ ] > {
112
113
return this . search (
113
114
params ,
114
115
offset ,
115
116
PhraseanetSearchType . Record ,
116
117
searchQuery ,
117
- limit
118
+ limit ,
119
+ importStories
118
120
) as unknown as Promise < CPhraseanetRecord [ ] > ;
119
121
}
120
122
@@ -129,7 +131,8 @@ export default class PhraseanetClient {
129
131
offset ,
130
132
PhraseanetSearchType . Story ,
131
133
searchQuery ,
132
- limit
134
+ limit ,
135
+ true
133
136
) as unknown as Promise < CPhraseanetStory [ ] > ;
134
137
}
135
138
@@ -138,7 +141,8 @@ export default class PhraseanetClient {
138
141
offset : number = 0 ,
139
142
searchType : PhraseanetSearchType ,
140
143
searchQuery : string ,
141
- limit : number = 100
144
+ limit : number = 100 ,
145
+ importStories : boolean
142
146
) : Promise < ( CPhraseanetRecord | CPhraseanetStory ) [ ] > {
143
147
let last_error : any = null ;
144
148
for ( let ttry = 1 ; ttry <= 3 ; ttry ++ ) {
@@ -168,6 +172,17 @@ export default class PhraseanetClient {
168
172
if ( searchType === PhraseanetSearchType . Record ) {
169
173
res . data . response . results . records . map (
170
174
( r : PhraseanetRecord ) => {
175
+ if ( r . stories === undefined ) {
176
+ if ( importStories ) {
177
+ ttry = 3 ; // deadly error, no need to retry
178
+ throw new Error (
179
+ 'Phraseanet is not up-to-date : importStories requires https://github.com/alchemy-fr/Phraseanet/pull/4602'
180
+ ) ;
181
+ } else {
182
+ // be nice: fix old phraseanet versions
183
+ r . stories = [ ] ;
184
+ }
185
+ }
171
186
recs . push ( new CPhraseanetRecord ( r , this ) ) ;
172
187
}
173
188
) ;
0 commit comments