123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- 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<any> {
- return new Promise((reject, resolve) => {
- this.odooProvider.get('product_attribute_line').then(lines => {
- return lines;
- }).then(lines => {
- return this.storeLines(lines);
- }).then(() => {
- console.log('product_attribute_line: product attribute lines downloaded');
- resolve();
- }).catch(e => {
- reject(e);
- });
- });
- }
-
- private storeLines(lines: Array<any>): Promise<any> {
- return new Promise((reject, resolve) => {
- this.dataProvider.deleteAll(DataProvider.DOCS.PRODUCT_ATTRIBUTE_LINE).then(() => {
- return;
- }).then(() => {
- return this.dataProvider.save(DataProvider.DOCS.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);
- });
- });
- }
- }
|