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  }