mirror of
https://github.com/TryGhost/Ghost.git
synced 2025-02-10 23:36:14 -05:00
Added support for Offer status to API
refs https://github.com/TryGhost/Team/issues/1131 - Includes `status` on OfferDTO so client can use it - Allows editing `status` of Offers - Allows setting initial `status` when creating Offers
This commit is contained in:
parent
04b9944e67
commit
facbfcfa8e
2 changed files with 11 additions and 1 deletions
|
@ -22,6 +22,8 @@
|
|||
* @prop {'once'|'repeating'|'forever'} duration
|
||||
* @prop {null|number} duration_in_months
|
||||
*
|
||||
* @prop {'active'|'archived'} status
|
||||
*
|
||||
* @prop {object} tier
|
||||
* @prop {string} tier.id
|
||||
* @prop {string} tier.name
|
||||
|
@ -46,6 +48,7 @@ class OfferMapper {
|
|||
duration_in_months: offer.duration.value.type === 'repeating' ? offer.duration.value.months : null,
|
||||
currency_restriction: offer.type.value === 'fixed',
|
||||
currency: offer.type.value === 'fixed' ? offer.currency.value : null,
|
||||
status: offer.status.value,
|
||||
tier: {
|
||||
id: offer.tier.id,
|
||||
name: offer.tier.name
|
||||
|
|
|
@ -3,6 +3,7 @@ const OfferName = require('../domain/models/OfferName');
|
|||
const OfferCode = require('../domain/models/OfferCode');
|
||||
const OfferTitle = require('../domain/models/OfferTitle');
|
||||
const OfferDescription = require('../domain/models/OfferDescription');
|
||||
const OfferStatus = require('../domain/models/OfferStatus');
|
||||
const OfferMapper = require('./OfferMapper');
|
||||
const UniqueChecker = require('./UniqueChecker');
|
||||
|
||||
|
@ -31,7 +32,7 @@ class OffersAPI {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param {object} data
|
||||
* @param {any} data
|
||||
*
|
||||
* @returns {Promise<OfferMapper.OfferDTO>}
|
||||
*/
|
||||
|
@ -55,6 +56,7 @@ class OffersAPI {
|
|||
* @param {string} [data.display_title]
|
||||
* @param {string} [data.display_description]
|
||||
* @param {string} [data.code]
|
||||
* @param {string} [data.status]
|
||||
*
|
||||
* @returns {Promise<OfferMapper.OfferDTO>}
|
||||
*/
|
||||
|
@ -85,6 +87,11 @@ class OffersAPI {
|
|||
offer.displayDescription = description;
|
||||
}
|
||||
|
||||
if (data.status) {
|
||||
const status = OfferStatus.create(data.status);
|
||||
offer.status = status;
|
||||
}
|
||||
|
||||
await this.repository.save(offer, options);
|
||||
|
||||
return OfferMapper.toDTO(offer);
|
||||
|
|
Loading…
Add table
Reference in a new issue