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  }