mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
no-issue Because adding and editing Offers can update the redirects for Ghost, we should ensure that any site cache is cleared so as to not conflict with Offer redirects.
56 lines
1.3 KiB
JavaScript
56 lines
1.3 KiB
JavaScript
const offersService = require('../../services/offers');
|
|
|
|
module.exports = {
|
|
docName: 'offers',
|
|
|
|
browse: {
|
|
permissions: true,
|
|
async query(frame) {
|
|
const offers = await offersService.api.listOffers();
|
|
frame.response = {
|
|
offers
|
|
};
|
|
}
|
|
},
|
|
|
|
read: {
|
|
data: ['id'],
|
|
permissions: true,
|
|
async query(frame) {
|
|
const offer = await offersService.api.getOffer(frame.data);
|
|
frame.response = {
|
|
offers: [offer]
|
|
};
|
|
}
|
|
},
|
|
|
|
edit: {
|
|
options: ['id'],
|
|
permissions: true,
|
|
headers: {
|
|
cacheInvalidate: true
|
|
},
|
|
async query(frame) {
|
|
const offer = await offersService.api.updateOffer({
|
|
...frame.data.offers[0],
|
|
id: frame.options.id
|
|
});
|
|
frame.response = {
|
|
offers: [offer]
|
|
};
|
|
}
|
|
},
|
|
|
|
add: {
|
|
permissions: true,
|
|
headers: {
|
|
cacheInvalidate: true
|
|
},
|
|
async query(frame) {
|
|
const offer = await offersService.api.createOffer(frame.data.offers[0]);
|
|
frame.response = {
|
|
offers: [offer]
|
|
};
|
|
}
|
|
}
|
|
};
|