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  }