github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/Decentralized-Energy-Composer-master/angular-app/src/app/TransactionRB/TransactionRB.service.ts (about) 1 import { Injectable } from '@angular/core'; 2 import { DataService } from '../data.service'; 3 import { Observable } from 'rxjs/Observable'; 4 5 import { Resident } from '../org.decentralized.energy.network'; 6 import { Bank } from '../org.decentralized.energy.network'; 7 import { Coins } from '../org.decentralized.energy.network'; 8 import { Cash } from '../org.decentralized.energy.network'; 9 import { CashToCoins } from '../org.decentralized.energy.network'; 10 11 import 'rxjs/Rx'; 12 13 // Can be injected into a constructor 14 @Injectable() 15 export class TransactionRBService { 16 17 //define namespace strings for api calls 18 private RESIDENT: string = 'Resident'; 19 private BANK: string = 'Bank'; 20 private CASH: string = 'Cash'; 21 private COINS: string = 'Coins'; 22 private CASH_TO_COINS: string = 'CashToCoins'; 23 24 //use data.service.ts to create services to make API calls 25 constructor(private residentService: DataService<Resident>, private bankService: DataService<Bank>, private coinsService: DataService<Coins>, private cashService: DataService<Cash>, private cashToCoinsService: DataService<CashToCoins>) { 26 }; 27 28 //get all resident objects on the blockchain network 29 public getAllResidents(): Observable<Resident[]> { 30 return this.residentService.getAll(this.RESIDENT); 31 } 32 33 //get all bank objects 34 public getAllBanks(): Observable<Bank[]> { 35 return this.bankService.getAll(this.BANK); 36 } 37 38 //get cash asset by id 39 public getCash(id: any): Observable<Cash> { 40 return this.cashService.getSingle(this.CASH, id); 41 } 42 43 //get coins asset by id 44 public getCoins(id: any): Observable<Coins> { 45 return this.coinsService.getSingle(this.COINS, id); 46 } 47 48 //create cash to coins transaction 49 public cashToCoins(itemToAdd: any): Observable<CashToCoins> { 50 return this.cashToCoinsService.add(this.CASH_TO_COINS, itemToAdd); 51 } 52 53 }