import { Injectable } from '@angular/core'; import { DataProvider } from '../data-provider'; import { OdooProvider } from '../odoo-provider'; @Injectable() export class ProductAttributeLineSyncProvider { constructor( public dataProvider: DataProvider, public odooProvider: OdooProvider ) { } /** * */ doSync(): Promise { return new Promise((reject, resolve) => { this.odooProvider.get('product_attribute_line').then(lines => { return lines; }).then(lines => { return this.storeLines(lines); }).then(() => { resolve(); }).catch(e => { reject(e); }); }); } /** * */ private storeLines(lines: Array): Promise { return new Promise((reject, resolve) => { this.dataProvider.deleteAll('product_attribute_line').then(() => { return; }).then(() => { return this.dataProvider.save('product_attribute_line', lines.map(item => { item.remote_id = item.id; item.doc_state = "sync"; delete item.id; return item; })); }).then(() => { resolve(); }).catch(e => { reject(e); }); }); } }