github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/Decentralized-Energy-Composer-master/angular-app/src/app/TransactionRU/TransactionRU.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 { UtilityCompany } from '../org.decentralized.energy.network'; 7 import { Coins } from '../org.decentralized.energy.network'; 8 import { Energy } from '../org.decentralized.energy.network'; 9 import { EnergyToCoins } from '../org.decentralized.energy.network'; 10 11 import 'rxjs/Rx'; 12 13 // Can be injected into a constructor 14 @Injectable() 15 export class TransactionRUService { 16 17 //define namespace strings for api calls 18 private RESIDENT: string = 'Resident'; 19 private UTILITYCOMPANY: string = 'UtilityCompany'; 20 private ENERGY: string = 'Energy'; 21 private COINS: string = 'Coins'; 22 private ENERGY_TO_COINS: string = 'EnergyToCoins'; 23 24 //use data.service.ts to create services to make API calls 25 constructor(private residentService: DataService<Resident>, private utilityCompanyService: DataService<UtilityCompany>, private coinsService: DataService<Coins>, private energyService: DataService<Energy>, private energyToCoinsService: DataService<EnergyToCoins>) { 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 utilty company objects on the blockchain network 34 public getAllUtilityCompanys(): Observable<UtilityCompany[]> { 35 return this.utilityCompanyService.getAll(this.UTILITYCOMPANY); 36 } 37 38 //get energy asset by id 39 public getEnergy(id: any): Observable<Energy> { 40 return this.energyService.getSingle(this.ENERGY, 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 energy to coins transaction 49 public energyToCoins(itemToAdd: any): Observable<EnergyToCoins> { 50 return this.energyToCoinsService.add(this.ENERGY_TO_COINS, itemToAdd); 51 } 52 53 54 }