74 lines
2.4 KiB
TypeScript

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];
});
}
}