actually push out initial version of provider record service
authorGalen Charlton <gmc@equinoxinitiative.org>
Fri, 20 Mar 2020 18:25:01 +0000 (14:25 -0400)
committerGalen Charlton <gmc@equinoxinitiative.org>
Fri, 20 Mar 2020 18:25:01 +0000 (14:25 -0400)
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Open-ILS/src/eg2/src/app/staff/acq/provider/provider-record.service.ts [new file with mode: 0644]

diff --git a/Open-ILS/src/eg2/src/app/staff/acq/provider/provider-record.service.ts b/Open-ILS/src/eg2/src/app/staff/acq/provider/provider-record.service.ts
new file mode 100644 (file)
index 0000000..d329bed
--- /dev/null
@@ -0,0 +1,58 @@
+import {Injectable} from '@angular/core';
+import {Observable, from} from 'rxjs';
+import {empty, throwError} from 'rxjs';
+import {map} from 'rxjs/operators';
+import {PcrudService} from '@eg/core/pcrud.service';
+import {IdlService, IdlObject} from '@eg/core/idl.service';
+import {NetService} from '@eg/core/net.service';
+
+export class ProviderSummary {
+}
+
+export class ProviderRecord {
+    id: number;
+    record: IdlObject;
+
+    constructor(record: IdlObject) {
+        this.id = Number(record.id());
+        this.record = record;
+    }
+}
+
+@Injectable()
+export class ProviderRecordService {
+
+    private currentProvider: ProviderRecord;
+
+    constructor(
+        private idl: IdlService,
+        private net: NetService,
+        private pcrud: PcrudService
+    ) { 
+        this.currentProvider = null;
+    }
+
+    getProviderRecord(id: number): Observable<ProviderRecord> {
+        console.debug('fetching provider');
+        return this.pcrud.search('acqpro', { id: id },
+            {
+                flesh: 1,
+                flesh_fields: { acqpro: ['contacts', 'addresses', 'provider_notes'] }
+            },
+            {}
+        ).pipe(map(acqpro => {
+            const provider = new ProviderRecord(acqpro);
+            this.currentProvider = provider;
+            return provider;
+        }));
+    }
+
+    current(): IdlObject {
+        return this.currentProvider ? this.currentProvider.record : null;
+    }
+
+    fetch(id: number) {
+        this.getProviderRecord(id);
+    }
+
+}