github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/Decentralized-Energy-Composer-master/angular-app/src/app/TransactionRR/TransactionRR.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 { Coins } from '../org.decentralized.energy.network'; 7 import { Energy } from '../org.decentralized.energy.network'; 8 import { EnergyToCoins } from '../org.decentralized.energy.network'; 9 10 import 'rxjs/Rx'; 11 12 // Can be injected into a constructor 13 @Injectable() 14 export class TransactionRRService { 15 16 //define namespace strings for api calls 17 private RESIDENT: string = 'Resident'; 18 private ENERGY: string = 'Energy'; 19 private COINS: string = 'Coins'; 20 private ENERGY_TO_COINS: string = 'EnergyToCoins'; 21 22 //use data.service.ts to create services to make API calls 23 constructor(private residentService: DataService<Resident>, private coinsService: DataService<Coins>, private energyService: DataService<Energy>, private energyToCoinsService: DataService<EnergyToCoins>) { 24 }; 25 26 //get all resident objects on the blockchain network 27 public getAllResidents(): Observable<Resident[]> { 28 return this.residentService.getAll(this.RESIDENT); 29 } 30 31 //get energy asset by id 32 public getEnergy(id: any): Observable<Energy> { 33 return this.energyService.getSingle(this.ENERGY, id); 34 } 35 36 //get coins asset by id 37 public getCoins(id: any): Observable<Coins> { 38 return this.coinsService.getSingle(this.COINS, id); 39 } 40 41 //create energy to coins transaction 42 public energyToCoins(itemToAdd: any): Observable<EnergyToCoins> { 43 return this.energyToCoinsService.add(this.ENERGY_TO_COINS, itemToAdd); 44 } 45 46 }