|
@@ -1,5 +1,6 @@
|
|
|
import { Injectable } from "@angular/core";
|
|
|
import { Observable } from "rxjs/Observable";
|
|
|
+import { Observer } from "rxjs/Observer";
|
|
|
|
|
|
import { PouchService } from "./pouch-service";
|
|
|
import { OdooService } from "../services/odoo-service";
|
|
@@ -16,6 +17,7 @@ import "rxjs/add/operator/map";
|
|
|
import "rxjs/add/operator/groupBy";
|
|
|
import "rxjs/add/operator/mergeAll";
|
|
|
|
|
|
+
|
|
|
@Injectable()
|
|
|
export class SyncService {
|
|
|
|
|
@@ -67,28 +69,27 @@ export class SyncService {
|
|
|
*/
|
|
|
protected download(): Observable<any> {
|
|
|
return this.getModels()
|
|
|
- .concatMap(item => this.odoo.searchRead(item.model.name, []).map(r => {
|
|
|
- return Object.assign(r, { type: item.model.document });
|
|
|
+ .concatMap(item => this.odoo.searchRead(item.model.name, item.model.domain, item.fields.getNames())
|
|
|
+ .map(r => {
|
|
|
+ delete r.length;
|
|
|
+
|
|
|
+ return Object.assign(r, {
|
|
|
+ odoo_model: item.model.name,
|
|
|
+ });
|
|
|
}))
|
|
|
- .concatMap(data => this.store(data));
|
|
|
+ .concatMap(data => this.pouch.save(data));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
+ *
|
|
|
+ * @param data
|
|
|
*/
|
|
|
- protected store(data: any): Observable<any> {
|
|
|
- let type = data.type;
|
|
|
- let records = data.records;
|
|
|
+ protected test(data?: any) {
|
|
|
+ console.log(data);
|
|
|
|
|
|
- return Observable.from(records).map((r: any) => {
|
|
|
- r.remote_id = r.id;
|
|
|
- delete r.id;
|
|
|
-
|
|
|
- return r;
|
|
|
- }).concatMap(item => this.pouch.save(Object.assign(item, {
|
|
|
- type: type,
|
|
|
- doc_status: DocStatus.None
|
|
|
- })));
|
|
|
+ return Observable.create((o: Observer<any>) => {
|
|
|
+ o.complete();
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|