in lib/api/repository/repository.ts [142:165]
private doSaveItems(itemsData:Array<any>, method:"PUT" | "POST", options?:HttpOptions):Observable<Array<TEntity>>{
const saveHttpOptions:HttpOptions = this.entity.parseSaveItemsQuery
? this.entity.parseSaveItemsQuery(itemsData, options, this.entity, this.paris.config)
: Object.assign({}, options, {data: {items: itemsData}});
const endpointName:string = this.getEndpointName(options && options.params ? { where: options.params } : null);
let currentOptions = this.addCustomHeaders(itemsData);
return this.paris.dataStore.save(`${endpointName}/`, method, Object.assign({}, saveHttpOptions, currentOptions), this.getBaseUrl(options && {where: options.params}))
.pipe(
catchError((err: AjaxError) => {
this.emitEntityHttpErrorEvent(err);
throw err
}),
mergeMap((savedItemsData?: Array<any> | {items:Array<any>}) => {
if (!savedItemsData)
return of([]);
let itemsData:Array<any> = savedItemsData instanceof Array ? savedItemsData : savedItemsData.items;
let itemCreators:Array<Observable<TEntity>> = itemsData.map(savedItemData => this.createItem(savedItemData));
return combineLatest(itemCreators);
})
)
}