github.com/muhammedhassanm/blockchain@v0.0.0-20200120143007-697261defd4d/Decentralized-Energy-Composer-master/angular-app/src/app/TransactionRB/TransactionRB.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 { Bank } from '../org.decentralized.energy.network';
     7  import { Coins } from '../org.decentralized.energy.network';
     8  import { Cash } from '../org.decentralized.energy.network';
     9  import { CashToCoins } from '../org.decentralized.energy.network';
    10  
    11  import 'rxjs/Rx';
    12  
    13  // Can be injected into a constructor
    14  @Injectable()
    15  export class TransactionRBService {
    16  
    17      //define namespace strings for api calls
    18  	  private RESIDENT: string = 'Resident';
    19      private BANK: string = 'Bank'; 
    20      private CASH: string = 'Cash';
    21      private COINS: string = 'Coins';
    22      private CASH_TO_COINS: string = 'CashToCoins';
    23  
    24      //use data.service.ts to create services to make API calls
    25      constructor(private residentService: DataService<Resident>, private bankService: DataService<Bank>, private coinsService: DataService<Coins>, private cashService: DataService<Cash>, private cashToCoinsService: DataService<CashToCoins>) {
    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 bank objects
    34      public getAllBanks(): Observable<Bank[]> {
    35          return this.bankService.getAll(this.BANK);
    36      }
    37  
    38      //get cash asset by id
    39      public getCash(id: any): Observable<Cash> {
    40        return this.cashService.getSingle(this.CASH, 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 cash to coins transaction
    49      public cashToCoins(itemToAdd: any): Observable<CashToCoins> {
    50        return this.cashToCoinsService.add(this.CASH_TO_COINS, itemToAdd);
    51      }
    52  
    53  }