import { Injectable } from '@angular/core'; import { assign, cloneDeep } from 'lodash-es'; import { FuseMockApiService, FuseMockApiUtils } from '@fuse/lib/mock-api'; import { domainSetting as domainSettingData } from './data'; @Injectable({ providedIn: 'root', }) export class DomainSettingMockApi { private _domainSetting: any = domainSettingData; /** * Constructor */ constructor(private _fuseMockApiService: FuseMockApiService) { // Register Mock API handlers this.registerHandlers(); } // ----------------------------------------------------------------------------------------------------- // @ Public methods // ----------------------------------------------------------------------------------------------------- /** * Register Mock API handlers */ registerHandlers(): void { // ----------------------------------------------------------------------------------------------------- // @ BasicSetting - GET // ----------------------------------------------------------------------------------------------------- this._fuseMockApiService .onGet('api/apps/settings/domain', 300) .reply(({ request }) => { // Clone the deposits let domainSetting: any | null = cloneDeep(this._domainSetting); // Return the response return [ 200, { domainSetting, }, ]; }); // ----------------------------------------------------------------------------------------------------- // @ BasicSetting - PATCH // ----------------------------------------------------------------------------------------------------- this._fuseMockApiService .onPatch('api/apps/settings/domain') .reply(({ request }) => { // Get the id and deposit const domainSetting = cloneDeep(request.body.domainSetting); // Prepare the updated basicSetting let updatedBasicSetting = null; // Find the deposit and update it // this._basicSetting.forEach((item, index, bs) => { // if (item.id === id) { // // Update the deposit // basicSetting[index] = assign({}, basicSetting[index], deposit); // // Store the updated deposit // updatedDeposit = deposits[index]; // } // }); // Return the response return [200, domainSetting]; }); } }