github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/Decentralized-Energy-Composer-master/angular-app/src/app/Resident/Resident.service.ts (about) 1 import { Injectable } from '@angular/core'; 2 import { DataService } from '../data.service'; 3 import { Observable } from 'rxjs/Observable'; 4 import { Resident } from '../org.decentralized.energy.network'; 5 6 7 import { Cash } from '../org.decentralized.energy.network'; 8 import { Coins } from '../org.decentralized.energy.network'; 9 import { Energy } from '../org.decentralized.energy.network'; 10 11 12 import 'rxjs/Rx'; 13 14 // Can be injected into a constructor 15 @Injectable() 16 export class ResidentService { 17 18 //define namespace strings for api calls 19 private RESIDENT: string = 'Resident'; 20 private COINS: string = 'Coins'; 21 private ENERGY: string = 'Energy'; 22 private CASH: string = 'Cash'; 23 24 //use data.service.ts to create services to make API calls 25 constructor(private residentService: DataService<Resident>, private coinsService: DataService<Coins>, private energyService: DataService<Energy>, private cashService: DataService<Cash>) { 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 resident by id 34 public getResident(id: any): Observable<Resident> { 35 return this.residentService.getSingle(this.RESIDENT, id); 36 } 37 38 //add resident 39 public addResident(itemToAdd: any): Observable<Resident> { 40 return this.residentService.add(this.RESIDENT, itemToAdd); 41 } 42 43 //delete resident 44 public deleteResident(id: any): Observable<Resident> { 45 return this.residentService.delete(this.RESIDENT, id); 46 } 47 48 //update resident 49 public updateResident(id: any, itemToUpdate: any): Observable<Resident> { 50 return this.residentService.update(this.RESIDENT, id, itemToUpdate); 51 } 52 53 54 //similar functions for coins asset 55 public getAllCoins(): Observable<Coins[]> { 56 return this.coinsService.getAll(this.COINS); 57 } 58 59 public getCoins(id: any): Observable<Coins> { 60 return this.coinsService.getSingle(this.COINS, id); 61 } 62 63 public addCoins(itemToAdd: any): Observable<Coins> { 64 return this.coinsService.add(this.COINS, itemToAdd); 65 } 66 67 public updateCoins(id: any, itemToUpdate: any): Observable<Coins> { 68 return this.coinsService.update(this.COINS, id, itemToUpdate); 69 } 70 71 public deleteCoins(id: any): Observable<Coins> { 72 console.log(id) 73 return this.coinsService.delete(this.COINS, id); 74 } 75 76 77 //similar functions for energy asset 78 public getAllEnergy(): Observable<Energy[]> { 79 return this.energyService.getAll(this.ENERGY); 80 } 81 82 public getEnergy(id: any): Observable<Energy> { 83 return this.energyService.getSingle(this.ENERGY, id); 84 } 85 86 public addEnergy(itemToAdd: any): Observable<Energy> { 87 return this.energyService.add(this.ENERGY, itemToAdd); 88 } 89 90 public updateEnergy(id: any, itemToUpdate: any): Observable<Energy> { 91 return this.energyService.update(this.ENERGY, id, itemToUpdate); 92 } 93 94 public deleteEnergy(id: any): Observable<Energy> { 95 return this.energyService.delete(this.ENERGY, id); 96 } 97 98 99 //similar functions for cash asset 100 public getAllCash(): Observable<Cash[]> { 101 return this.cashService.getAll(this.CASH); 102 } 103 104 public getCash(id: any): Observable<Cash> { 105 return this.cashService.getSingle(this.CASH, id); 106 } 107 108 public addCash(itemToAdd: any): Observable<Cash> { 109 return this.cashService.add(this.CASH, itemToAdd); 110 } 111 112 public updateCash(id: any, itemToUpdate: any): Observable<Cash> { 113 return this.cashService.update(this.CASH, id, itemToUpdate); 114 } 115 116 public deleteCash(id: any): Observable<Cash> { 117 console.log(id) 118 return this.cashService.delete(this.CASH, id); 119 } 120 121 }