113 lines
2.8 KiB
TypeScript
113 lines
2.8 KiB
TypeScript
import mock from '../../mockAdapter';
|
|
|
|
// third-party
|
|
import { add, sub } from 'date-fns';
|
|
import { Chance } from 'chance';
|
|
//Types
|
|
import type { Address } from '@/types/apps/EcommerceType';
|
|
|
|
const chance = new Chance();
|
|
|
|
// billing address list
|
|
let address: Address[] = [
|
|
{
|
|
id: 1,
|
|
name: chance.name(),
|
|
destination: 'Home',
|
|
building: chance.address({ short_suffix: true }),
|
|
city: chance.city(),
|
|
state: chance.state({ full: true }),
|
|
phone: chance.phone(),
|
|
isDefault: true
|
|
},
|
|
{
|
|
id: 2,
|
|
name: chance.name(),
|
|
destination: 'Office',
|
|
building: chance.address({ short_suffix: true }),
|
|
city: chance.city(),
|
|
state: chance.state({ full: true }),
|
|
phone: chance.phone(),
|
|
isDefault: false
|
|
},
|
|
{
|
|
id: 3,
|
|
name: chance.name(),
|
|
destination: 'Office',
|
|
building: chance.address({ short_suffix: true }),
|
|
city: chance.city(),
|
|
state: chance.state({ full: true }),
|
|
phone: chance.phone(),
|
|
isDefault: false
|
|
}
|
|
];
|
|
|
|
// ==============================|| MOCK SERVICES ||============================== //
|
|
|
|
mock.onGet('/api/address/list').reply(() => {
|
|
return [200, address];
|
|
});
|
|
|
|
mock.onPost('/api/address/new').reply((request) => {
|
|
try {
|
|
const data = JSON.parse(request.data);
|
|
const { name, destination, building, street, city, state, country, post, phone, isDefault } = data;
|
|
const newAddress = {
|
|
id: new Date(),
|
|
name,
|
|
destination,
|
|
building,
|
|
street,
|
|
city,
|
|
state,
|
|
country,
|
|
post,
|
|
phone,
|
|
isDefault
|
|
};
|
|
|
|
if (isDefault) {
|
|
address = address.map((item) => {
|
|
if (item.isDefault === true) {
|
|
return { ...item, isDefault: false };
|
|
}
|
|
return item;
|
|
});
|
|
}
|
|
|
|
address = [...address, newAddress];
|
|
|
|
return [200, { address }];
|
|
} catch (err) {
|
|
console.error(err);
|
|
return [500, { message: 'Internal server error' }];
|
|
}
|
|
});
|
|
|
|
mock.onPost('/api/address/edit').reply((request) => {
|
|
try {
|
|
const data = JSON.parse(request.data);
|
|
|
|
if (data.isDefault) {
|
|
address = address.map((item) => {
|
|
if (item.isDefault === true) {
|
|
return { ...item, isDefault: false };
|
|
}
|
|
return item;
|
|
});
|
|
}
|
|
|
|
address = address.map((item) => {
|
|
if (item.id === data.id) {
|
|
return data;
|
|
}
|
|
return item;
|
|
});
|
|
|
|
return [200, { address }];
|
|
} catch (err) {
|
|
console.error(err);
|
|
return [500, { message: 'Internal server error' }];
|
|
}
|
|
});
|