2017-07-27 17:41:23 +00:00
|
|
|
import axios from 'axios';
|
|
|
|
|
import { loadAsyncResource } from 'client/libs/asyncResource';
|
|
|
|
|
import buyOp from 'common/script/ops/buy';
|
2017-07-31 23:04:40 +00:00
|
|
|
import purchaseOp from 'common/script/ops/purchaseWithSpell';
|
2017-08-24 05:16:18 +00:00
|
|
|
import buyMysterySetOp from 'common/script/ops/buyMysterySet';
|
|
|
|
|
import hourglassPurchaseOp from 'common/script/ops/hourglassPurchase';
|
2017-07-27 17:41:23 +00:00
|
|
|
import sellOp from 'common/script/ops/sell';
|
|
|
|
|
|
2017-07-31 23:04:40 +00:00
|
|
|
export function fetchMarket (store, forceLoad = false) { // eslint-disable-line no-shadow
|
2017-07-27 17:41:23 +00:00
|
|
|
return loadAsyncResource({
|
|
|
|
|
store,
|
|
|
|
|
path: 'shops.market',
|
|
|
|
|
url: '/api/v3/shops/market',
|
|
|
|
|
deserialize (response) {
|
|
|
|
|
return response.data.data;
|
|
|
|
|
},
|
|
|
|
|
forceLoad,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-31 23:04:40 +00:00
|
|
|
export function fetchQuests (store, forceLoad = false) { // eslint-disable-line no-shadow
|
|
|
|
|
return loadAsyncResource({
|
|
|
|
|
store,
|
|
|
|
|
path: 'shops.quests',
|
|
|
|
|
url: '/api/v3/shops/quests',
|
|
|
|
|
deserialize (response) {
|
|
|
|
|
return response.data.data;
|
|
|
|
|
},
|
|
|
|
|
forceLoad,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function fetchSeasonal (store, forceLoad = false) { // eslint-disable-line no-shadow
|
|
|
|
|
return loadAsyncResource({
|
|
|
|
|
store,
|
|
|
|
|
path: 'shops.seasonal',
|
|
|
|
|
url: '/api/v3/shops/seasonal',
|
|
|
|
|
deserialize (response) {
|
|
|
|
|
return response.data.data;
|
|
|
|
|
},
|
|
|
|
|
forceLoad,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function fetchTimeTravelers (store, forceLoad = false) { // eslint-disable-line no-shadow
|
|
|
|
|
return loadAsyncResource({
|
|
|
|
|
store,
|
|
|
|
|
path: 'shops.time-travelers',
|
|
|
|
|
url: '/api/v3/shops/time-travelers',
|
|
|
|
|
deserialize (response) {
|
|
|
|
|
return response.data.data;
|
|
|
|
|
},
|
|
|
|
|
forceLoad,
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2017-07-27 17:41:23 +00:00
|
|
|
export function buyItem (store, params) {
|
|
|
|
|
const user = store.state.user.data;
|
|
|
|
|
buyOp(user, {params});
|
|
|
|
|
axios
|
|
|
|
|
.post(`/api/v3/user/buy/${params.key}`);
|
|
|
|
|
// TODO
|
|
|
|
|
// .then((res) => console.log('equip', res))
|
|
|
|
|
// .catch((err) => console.error('equip', err));
|
|
|
|
|
}
|
|
|
|
|
|
2017-07-31 23:04:40 +00:00
|
|
|
export function purchase (store, params) {
|
|
|
|
|
const user = store.state.user.data;
|
|
|
|
|
purchaseOp(user, {params});
|
|
|
|
|
axios
|
|
|
|
|
.post(`/api/v3/user/purchase/${params.type}/${params.key}`);
|
|
|
|
|
// TODO
|
|
|
|
|
// .then((res) => console.log('equip', res))
|
|
|
|
|
// .catch((err) => console.error('equip', err));
|
|
|
|
|
}
|
|
|
|
|
|
2017-08-24 05:16:18 +00:00
|
|
|
export function purchaseMysterySet (store, params) {
|
|
|
|
|
const user = store.state.user.data;
|
|
|
|
|
buyMysterySetOp(user, {params});
|
|
|
|
|
axios
|
|
|
|
|
.post(`/api/v3/user/buy-mystery-set/${params.key}`);
|
|
|
|
|
// TODO
|
|
|
|
|
// .then((res) => console.log('equip', res))
|
|
|
|
|
// .catch((err) => console.error('equip', err));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function purchaseHourglassItem (store, params) {
|
|
|
|
|
const user = store.state.user.data;
|
|
|
|
|
hourglassPurchaseOp(user, {params});
|
|
|
|
|
axios
|
|
|
|
|
.post(`/api/v3/user/purchase-hourglass/${params.type}/${params.key}`);
|
|
|
|
|
// TODO
|
|
|
|
|
// .then((res) => console.log('equip', res))
|
|
|
|
|
// .catch((err) => console.error('equip', err));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2017-07-27 17:41:23 +00:00
|
|
|
export function sellItems (store, params) {
|
|
|
|
|
const user = store.state.user.data;
|
|
|
|
|
sellOp(user, {params, query: {amount: params.amount}});
|
|
|
|
|
axios
|
|
|
|
|
.post(`/api/v3/user/sell/${params.type}/${params.key}?amount=${params.amount}`);
|
|
|
|
|
// TODO
|
|
|
|
|
// .then((res) => console.log('equip', res))
|
|
|
|
|
// .catch((err) => console.error('equip', err));
|
|
|
|
|
}
|