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  }