github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/Decentralized-Energy-Composer-master/angular-app/src/app/UtilityCompany/UtilityCompany.service.ts (about) 1 import { Injectable } from '@angular/core'; 2 import { DataService } from '../data.service'; 3 import { Observable } from 'rxjs/Observable'; 4 import { UtilityCompany } from '../org.decentralized.energy.network'; 5 6 import { Coins } from '../org.decentralized.energy.network'; 7 import { Energy } from '../org.decentralized.energy.network'; 8 9 import 'rxjs/Rx'; 10 11 // Can be injected into a constructor 12 @Injectable() 13 export class UtilityCompanyService { 14 15 //define namespace strings for api calls 16 private UTILITYCOMPANY: string = 'UtilityCompany'; 17 private COINS: string = 'Coins'; 18 private ENERGY: string = 'Energy'; 19 20 //use data.service.ts to create services to make API calls 21 constructor(private utilityCompanyService: DataService<UtilityCompany>, private coinsService: DataService<Coins>, private energyService: DataService<Energy>) { 22 }; 23 24 //get all utility company objects on the blockchain network 25 public getAllUtilityCompanys(): Observable<UtilityCompany[]> { 26 return this.utilityCompanyService.getAll(this.UTILITYCOMPANY); 27 } 28 29 //get utility company by id 30 public getUtilityCompany(id: any): Observable<UtilityCompany> { 31 return this.utilityCompanyService.getSingle(this.UTILITYCOMPANY, id); 32 } 33 34 //add utility company 35 public addUtilityCompany(itemToAdd: any): Observable<UtilityCompany> { 36 return this.utilityCompanyService.add(this.UTILITYCOMPANY, itemToAdd); 37 } 38 39 //delete utility company 40 public deleteUtilityCompany(id: any): Observable<UtilityCompany> { 41 return this.utilityCompanyService.delete(this.UTILITYCOMPANY, id); 42 } 43 44 //update resident 45 public updateUtilityCompany(id: any, itemToUpdate: any): Observable<UtilityCompany> { 46 return this.utilityCompanyService.update(this.UTILITYCOMPANY, id, itemToUpdate); 47 } 48 49 50 //similar functions for coins asset 51 public getAllCoins(): Observable<Coins[]> { 52 return this.coinsService.getAll(this.COINS); 53 } 54 55 public getCoins(id: any): Observable<Coins> { 56 return this.coinsService.getSingle(this.COINS, id); 57 } 58 59 public addCoins(itemToAdd: any): Observable<Coins> { 60 return this.coinsService.add(this.COINS, itemToAdd); 61 } 62 63 public updateCoins(id: any, itemToUpdate: any): Observable<Coins> { 64 return this.coinsService.update(this.COINS, id, itemToUpdate); 65 } 66 67 public deleteCoins(id: any): Observable<Coins> { 68 console.log(id) 69 return this.coinsService.delete(this.COINS, id); 70 } 71 72 73 //similar functions for energy asset 74 public getAllEnergy(): Observable<Energy[]> { 75 return this.energyService.getAll(this.ENERGY); 76 } 77 78 public getEnergy(id: any): Observable<Energy> { 79 return this.energyService.getSingle(this.ENERGY, id); 80 } 81 82 public addEnergy(itemToAdd: any): Observable<Energy> { 83 return this.energyService.add(this.ENERGY, itemToAdd); 84 } 85 86 public updateEnergy(id: any, itemToUpdate: any): Observable<Energy> { 87 return this.energyService.update(this.ENERGY, id, itemToUpdate); 88 } 89 90 public deleteEnergy(id: any): Observable<Energy> { 91 return this.energyService.delete(this.ENERGY, id); 92 } 93 94 }