/** Angular Imports */ import { Injectable } from '@angular/core'; import { HttpClient, HttpParams } from '@angular/common/http'; /** rxjs Imports */ import { Observable } from 'rxjs'; /** * Organization service. */ @Injectable({ providedIn: 'root' }) export class OrganizationService { /** * @param {HttpClient} http Http Client to send requests. */ constructor(private http: HttpClient) { } /** * @returns {Observable} Loan Provisioning Criteria data */ getProvisioningCriteria(): Observable { return this.http.get('/provisioningcriteria'); } /** * @returns {Observable} Offices data */ getOffices(): Observable { return this.http.get('/offices'); } /** * @param {any} office Office to be created. * @returns {Observable} */ createOffice(office: any): Observable { return this.http.post('/offices', office); } /** * @returns {Observable} Employees data */ getEmployees(): Observable { return this.http.get('/staff'); } /** * @param {any} employee Employee to be created. * @returns {Observable} */ createEmployee(employee: any): Observable { return this.http.post('/staff', employee); } /** * @param {string} employeeId Employee ID of employee. * @returns {Observable} Employee. */ getEmployee(employeeId: string): Observable { return this.http.get(`/staff/${employeeId}`); } /** * @returns {Observable} Currencies data */ getCurrencies(): Observable { return this.http.get('/currencies'); } /** * @returns {Observable} SMS Campaigns data */ getSmsCampaigns(): Observable { return this.http.get('/smscampaigns'); } /** * @returns {Observable} Adhoc Queries data */ getAdhocQueries(): Observable { return this.http.get('/adhocquery'); } /** * @param {string} adhocQueryId Adhoc Query ID of adhoc query. * @returns {Observable} Adhoc query. */ getAdhocQuery(adhocQueryId: string): Observable { return this.http.get(`/adhocquery/${adhocQueryId}`); } /** * @param {string} adhocQueryId Adhoc Query ID of adhoc query to be deleted. * @returns {Observable} */ deleteAdhocQuery(adhocQueryId: string): Observable { return this.http.delete(`/adhocquery/${adhocQueryId}`); } /** * @returns {Observable} Tellers data */ getTellers(): Observable { return this.http.get('/tellers'); } /** * @param {string} tellerId Teller ID of teller. * @returns {Observable} Teller. */ getTeller(tellerId: string): Observable { return this.http.get(`/tellers/${tellerId}`); } /** * @param {string} tellerId Teller ID of teller to be deleted. * @returns {Observable} */ deleteTeller(tellerId: string): Observable { return this.http.delete(`/tellers/${tellerId}`); } /** * @returns {Observable} Payment Types data */ getPaymentTypes(): Observable { return this.http.get('/paymenttypes'); } /** * @param {any} paymentType Payment type to be created. * @returns {Observable} */ createPaymentType(paymentType: any): Observable { return this.http.post('/paymenttypes', paymentType); } /** * @param {string} paymentTypeId Payment type ID of payment type to be deleted. * @returns {Observable} */ deletePaymentType(paymentTypeId: string): Observable { return this.http.delete(`/paymenttypes/${paymentTypeId}`); } /** * @returns {Observable} Password Preferences Template data */ getPasswordPreferencesTemplate(): Observable { return this.http.get('/passwordpreferences/template'); } /** * @param {any} passwordPreferences Password Preferences data. * @returns {Observable} */ updatePasswordPreferences(passwordPreferences: any): Observable { return this.http.put('/passwordpreferences', passwordPreferences); } /** * @param {number} offset Page offset. * @param {number} limit Number of entries within the page. * @returns {Observable} Entity Data Table Checks data. */ getEntityDataTableChecks(offset: number = 0, limit: number = -1): Observable { const httpParams = new HttpParams() .set('offset', offset.toString()) .set('limit', limit.toString()); return this.http.get('/entityDatatableChecks', { params: httpParams }); } /** * @param {string} entityDataTableCheckId Entity Data Table Check ID of entity data table to be deleted. * @returns {Observable} */ deleteEntityDataTableCheck(entityDataTableCheckId: string): Observable { return this.http.delete(`/entityDatatableChecks/${entityDataTableCheckId}`); } /** * @returns {Observable} Working days data. */ getWorkingDays(): Observable { return this.http.get('/workingdays'); } /** * @param {any} workingDays Working days data. * @returns {Observable} */ updateWorkingDays(workingDays: any): Observable { return this.http.put('/workingdays', workingDays); } }