From ef4a2738c9119182cc6b73de5980769db46659d5 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Fri, 20 Mar 2020 14:25:01 -0400 Subject: [PATCH] actually push out initial version of provider record service Signed-off-by: Galen Charlton --- .../staff/acq/provider/provider-record.service.ts | 58 ++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 Open-ILS/src/eg2/src/app/staff/acq/provider/provider-record.service.ts 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 index 0000000000..d329bed93c --- /dev/null +++ b/Open-ILS/src/eg2/src/app/staff/acq/provider/provider-record.service.ts @@ -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 { + 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); + } + +} -- 2.11.0