From: Galen Charlton Date: Fri, 20 Mar 2020 18:25:01 +0000 (-0400) Subject: actually push out initial version of provider record service X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=ef4a2738c9119182cc6b73de5980769db46659d5;p=working%2FEvergreen.git actually push out initial version of provider record service Signed-off-by: Galen Charlton --- 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); + } + +}