Fabien O'Carroll
04b9944e67
Defaulted to 'active' status when creating Offers
...
refs https://github.com/TryGhost/Team/issues/1131
This ensures that Offers are active by default.
2021-10-12 17:10:51 +02:00
Fabien O'Carroll
a772f5b82f
Wired up Offer status to the OfferRepository
...
refs https://github.com/TryGhost/Team/issues/1131
This allows us to persist and hydrate the Offer status from our
database.
2021-10-12 15:29:13 +02:00
Fabien O'Carroll
1f936357d9
Added concept of OfferStatus to domain model
...
refs https://github.com/TryGhost/Team/issues/1131
This allows us to model the behaviour of archived & active offers, as
well as allowing us to set their status on the model.
2021-10-12 15:27:27 +02:00
Fabien O'Carroll
d148108ae6
Published new versions
...
- @tryghost/members-api@2.1.1
- @tryghost/members-offers@0.4.2
2021-10-08 15:21:07 +02:00
Fabien O'Carroll
1312943f5b
Updated Offer to only change code once
...
no-issue
This simplifies the handling of updating redirects for a code, and
doesn't affect our application layer because we never have the need to
change a code twice.
In future this should be replaced with events at the domain level - so
that we do not have to track changed properties and instead a redirect
service can listen to events, which would be dispatched on a successful
save by the repository.
2021-10-08 13:02:22 +02:00
Fabien O'Carroll
1f703920c9
Published new versions
...
- @tryghost/members-offers@0.4.1
2021-10-08 12:43:16 +02:00
Fabien O'Carroll
08d3e6e99c
Allowed for OfferDescription to be null/empty
...
refs https://github.com/TryGhost/Team/issues/1083
OfferDescription is not a required field, so we must not throw when it
is falsy or not present.
2021-10-08 12:40:57 +02:00
Fabien O'Carroll
35f150bcf4
Moved errors to domain/errors
...
no-issue
More cleanup to pull files into their appropriate responsibility
2021-10-08 12:31:11 +02:00
Fabien O'Carroll
9bcd25fe5e
Moved application concerns to an application dir
...
no-issue
Shuffling files to give a better idea of what the files concern, as well
as to add some structure.
2021-10-08 12:27:17 +02:00
Fabien O'Carroll
78be4b55c9
Moved ValueObject to domain/models/shared
...
no-issue
This is only ever used in this directory so it makes sense to be
colocated.
2021-10-08 12:23:40 +02:00
Fabien O'Carroll
4a27ef68df
Moved events into domain directory
...
no-issue
Events are a domain concern and as such should live in this directory
2021-10-08 12:21:27 +02:00
Fabien O'Carroll
32a88df1d3
Published new versions
...
- @tryghost/members-offers@0.4.0
2021-10-08 12:13:38 +02:00
Fabien O'Carroll
9f7a922415
Added support for "repeating" duration Offers
...
refs https://github.com/TryGhost/Team/issues/1083
We combine the duration and duration_in_months into a single value
object which can be validated together, meaning we will never have
properties which are out of sync (e.g. forever durations with 2 months).
2021-10-08 12:10:36 +02:00
Fabien O'Carroll
6afb1eae40
Published new versions
...
- @tryghost/members-offers@0.3.5
2021-10-08 11:41:07 +02:00
Fabien O'Carroll
bd3f1e6456
Fixed sending back currency
for Fixed Offers
...
no-issue
Since we changed the type from "amount" to "fixed" the logic to send
back the currency was not working. This updates it to use the correct
values.
2021-10-08 11:38:47 +02:00
Fabien O'Carroll
a5f4698201
Published new versions
...
- @tryghost/members-offers@0.3.4
2021-10-07 18:21:52 +02:00
Fabien O'Carroll
c8933c9abd
Fixed handling of null currency & used duration
...
no-issue
Currency is not always present on an offer so we need to handle it.
Duration was incorrectly not passed to Stripe when creating the coupon.
2021-10-07 18:18:53 +02:00
Fabien O'Carroll
13b870d0ef
Published new versions
...
- @tryghost/members-offers@0.3.3
2021-10-07 17:42:52 +02:00
Fabien O'Carroll
170591a113
Improved types for Offer
...
no-issue
This splits out the types of the Offers properties from the types of the
expected values to be passed to create.
2021-10-07 17:37:48 +02:00
Fabien O'Carroll
2b58ecd82e
Added support for creating fixed offers with currency
...
refs https://github.com/TryGhost/Team/issues/1083
We now allow creating offers for a fixed amount, rather than a
percentage. These require a currency to be passed as a fixed amount is
meaningless without one.
2021-10-07 17:37:48 +02:00
Fabien O'Carroll
2c04afe810
Updated types of Offers to "fixed" and "percent"
...
no-issue
This is inline with the language used elsewhere to describe these types.
2021-10-07 17:35:34 +02:00
Fabien O'Carroll
6d383c2d0e
Added support for "once" and "forever" Offer duration
...
refs https://github.com/TryGhost/Team/issues/1083
Instead of Offers being hardcoded to the "once" duration this will allow
Admins to start creating offers of variable durations.
2021-10-07 17:13:23 +02:00
Fabien O'Carroll
ea0282c80e
Published new versions
...
- @tryghost/members-offers@0.3.2
2021-10-07 16:46:52 +02:00
Fabien O'Carroll
504fb1bfa1
Used Value Objects to validate outside of Offer factory
...
no-issue
This adds the concept of "Value Objects" to an Offers properties,
allowing us to move validation out and ensure that an Offer will only
ever have valid properties, without having to duplicate checks - or
leave them to the persistent layer. This means we can fail early, as
well as write unit tests for all of our validation.
2021-10-07 16:46:08 +02:00
Fabien O'Carroll
a673b2ae99
Published new versions
...
- @tryghost/members-offers@0.3.1
2021-10-07 12:47:03 +02:00
Fabien O'Carroll
d9e40c6070
Ensured Offer code is slugified
...
refs https://github.com/TryGhost/Team/issues/1083
This ensures that the code will be URL safe for redirects
2021-10-07 12:45:51 +02:00
Fabien O'Carroll
309e827a7f
Published new versions
...
- @tryghost/members-api@2.1.0
- @tryghost/members-offers@0.3.0
2021-10-06 16:55:51 +02:00
Fabien O'Carroll
6ae8b7eb0c
Added stripeCouponId to Offer
...
refs https://github.com/TryGhost/Team/issues/1090
When creating a Stripe Checkout Session for an Offer - we need access to
the underlying Stripe Coupon. Exposing it here allows consumers of the
OfferRepository access.
2021-10-06 16:12:53 +02:00
Fabien O'Carroll
d57d082c39
Exposed OfferRepository from OffersModule
...
refs https://github.com/TryGhost/Team/issues/1090
When creating checkout session we will need to be able to look up Offers
from the OfferRepository. This exposes the repository so that it can be
passed as a dependency elsewhere.
2021-10-06 15:15:03 +02:00
Fabien O'Carroll
371581f677
Published new versions
...
- @tryghost/members-offers@0.2.1
2021-10-06 12:08:48 +02:00
Fabien O'Carroll
dbc7d73be7
Fixed updateOffer API method
...
no-issue
- Property names were out of sync with API
- Async methods were not awaited
- Transaction was erroneously commited
2021-10-06 12:07:03 +02:00
Fabien O'Carroll
6397438e73
Published new versions
...
- @tryghost/members-offers@0.2.0
2021-10-05 16:27:31 +02:00
Fabien O'Carroll
33d042ccf7
Added getOffer method to OffersAPI
...
refs https://github.com/TryGhost/Team/issues/1083
2021-10-05 16:25:56 +02:00
Fabien O'Carroll
b3ed676e53
Moved redirect handling outside of repository
...
no-issue
The redirect handling is more of an application concern that can happen
at the top level, rather than the lower level of the repository.
2021-10-05 16:24:47 +02:00
Fabien O'Carroll
d4ed604cce
Published new versions
...
- @tryghost/members-offers@0.1.2
2021-10-05 13:15:47 +02:00
Fabien O'Carroll
5dd5b71718
Fixed redirects for new offers
...
refs https://github.com/TryGhost/Team/issues/1091
2021-10-05 13:14:33 +02:00
Fabien O'Carroll
587954faf9
Published new versions
...
- @tryghost/members-offers@0.1.1
2021-10-05 11:44:32 +02:00
Fabien O'Carroll
ef73121ae4
Fixed UniqueChecker methods
...
no-issue
These were returning the opposite of what they should have.
2021-10-05 11:43:38 +02:00
Fabien O'Carroll
81badcae2e
Published new versions
...
- @tryghost/members-offers@0.1.0
2021-10-05 11:19:44 +02:00
Fabien O'Carroll
5674036902
Added initial Offers module
...
refs https://github.com/TryGhost/Team/issues/1083
This is the initial scaffolding for setting up Offers in Ghost
2021-10-05 11:19:15 +02:00