File

src/app/@core/services/api/api-data-provider.service.ts

Index

Properties
Methods

Constructor

constructor(httpClient: HttpClient, apiConfigReaderService: ApiConfigReaderService)
Parameters :
Name Type Optional
httpClient HttpClient no
apiConfigReaderService ApiConfigReaderService no

Methods

create
create(payload: any)
Parameters :
Name Type Optional
payload any no
Returns : Observable<any>
createApi
createApi(entityKey: string)
Parameters :
Name Type Optional
entityKey string no
Returns : this
delete
delete()
Returns : Observable<any>
find
find()
Returns : Observable<any>
getAll
getAll()
Returns : Observable<any>
getById
getById()
Returns : Observable<any>
isMethodConfigExists
isMethodConfigExists(methodName: string)
Parameters :
Name Type Optional
methodName string no
Returns : any
update
update()
Returns : Observable<any>

Properties

apiConfig
apiConfig: any
Type : any
entityKey
entityKey: string
Type : string
Default value : ''
import {Injectable, OnInit} from "@angular/core";
import {HttpClient} from "@angular/common/http";
import {Observable} from "rxjs/Rx";
import {ApiConfigReaderService} from "./api-config-reader.service";

@Injectable()
export class ApiDataProviderService {
  entityKey: string = '';
  apiConfig: any;

  constructor(private httpClient: HttpClient,
              private apiConfigReaderService: ApiConfigReaderService) {
    this.apiConfig = this.apiConfigReaderService.getConfig();
  }

  createApi(entityKey: string) {
    this.entityKey = entityKey;
    return this;
  }

  getAll(): Observable<any> {
    if (this.isMethodConfigExists) {
      return this.httpClient.get(this.apiConfig[this.entityKey].getAll.url);
    }
  }

  getById(): Observable<any> {
    if (this.isMethodConfigExists) {
      return this.httpClient.get(this.apiConfig[this.entityKey].getById.url);
    }
  }

  find(): Observable<any> {
    if (this.isMethodConfigExists) {
      return this.httpClient.get(this.apiConfig[this.entityKey].find.url);
    }
  }

  create(payload: any): Observable<any> {
    if (this.isMethodConfigExists) {
      return this.httpClient.post(this.apiConfig[this.entityKey].create.url, payload);
    }
  }

  update(): Observable<any> {
    if (this.isMethodConfigExists) {
      return this.httpClient.get(this.apiConfig[this.entityKey].update.url);
    }
  }

  delete(): Observable<any> {
    if (this.isMethodConfigExists) {
      return this.httpClient.get(this.apiConfig[this.entityKey].delete.url);
    }
  }

  isMethodConfigExists(methodName: string) {
    return this.entityKey[methodName]
  }
}

results matching ""

    No results matching ""