Commit Graph

26 Commits

Author SHA1 Message Date
Thomas a16db120c0 Implement free trial limits (#19507)
* Add additional validations for subscription trials

GitOrigin-RevId: 1cb821c62e02d3eaa5b2bcacaee63b6bc7a63311
2024-08-08 08:05:05 +00:00
Antoine Clausse 78a0bc2b05 [web] Convert RecurlyWrapper functions to async (#18384)
* Rename `RecurlyWrapper` to `promises`, as it will only contain the promises soon

* Update `apiRequest`

* Update `_parseXml`

* Update `_parseXmlAndGetAttribute`

* Update `_parse*Xml`

* Update `updateAccountEmailAddress`

* Update `checkAccountExists`

* Update `createAccount`

* Update `createBillingInfo`

* Update `setAddressAndCompanyBillingInfo`

* Update `createSubscription`

* Update `_createPaypalSubscription`

* Update `_handle422Response`

* Update `_createCreditCardSubscription`

* Update `createSubscription`

* Update `getSubscriptions`

* Update `getSubscription`

* Update `getPaginatedEndpoint`

* Update `getAccount`

* Update `getAccountActiveCoupons`

* Update `getCoupon`

* Update `getBillingInfo`

* Update `getAccountPastDueInvoices`

* Update `attemptInvoiceCollection`

* Update `updateSubscription`

* Update `createFixedAmmountCoupon`

* Update `lookupCoupon`

* Update `redeemCoupon`

* Update `extendTrial`

* Update `listAccountActiveSubscriptions`

* To find which functions to add as callbackified, I used this Regex:
`RecurlyWrapper\.(?!promises)[^.\s]*`

And after adding callbackified functions, we're left with no results with the Regex:
`RecurlyWrapper\.(?!promises|apiUrl|_buildXml|_parseXml|attemptInvoiceCollection|createFixedAmmountCoupon|getAccountActiveCoupons|getBillingInfo|getPaginatedEndpoint|getSubscription|updateAccountEmailAddress)[^.\s]*`

* Update unit tests

* Test `getSubscription` both as "promise" and as "callback"

I'm not sure if we want to generalize this.

* Fix: add missing `await`s (!!)

* Change `apiRequest` to reject errors instead of resolving it in an object

* Fixup for CollectPayPalPastDueInvoice test

* Fix: callbackify `getSubscriptions` (!!)

* Replace `.then(...)` chain by multiple `await`

* Fixup `attemptInvoicesCollection`: prevent reading length of undefined

* Use `return await` when returning promises

Per https://github.com/overleaf/internal/pull/18384#pullrequestreview-2065738771

GitOrigin-RevId: ceda755b24fd29f97a27e60ac5db9bc7e369f932
2024-05-27 10:21:26 +00:00
David 6551aba1a5 Merge pull request #17005 from overleaf/dp-mongoose-callback-subscription-handler
Promisify SubscriptionHandler and SubscriptionHandlerTests

GitOrigin-RevId: b34328ee2cca4449a02723a587a1bfb887ed847a
2024-03-05 09:03:15 +00:00
Alexandre Bourdin 114e9bc9c8 Merge pull request #14130 from overleaf/ab-cancel-reactivate-sub-sync-status
[web] Update subscription from Recurly when canceling/reactivating

GitOrigin-RevId: 7ba9a3d8ee41efa3435ef6d8b29c7b71f008c069
2023-08-10 08:04:20 +00:00
Mathias Jakobsen f5b2cdc3cb Merge pull request #9319 from overleaf/mj-deferred-recurly-email
[web] Use bull queues for deferred cancellation email

GitOrigin-RevId: a104f9940badcffc15f1f237a1cefd5dd912f4e0
2022-08-24 08:04:36 +00:00
Alf Eaton 50df230846 [web] Upgrade Prettier to match version in monorepo root (#6231)
GitOrigin-RevId: 02f97af1b9704782eee77a0b7dfc477ada23e34d
2022-01-11 09:03:23 +00:00
Eric Mc Sween 0f7bfe9173 Merge pull request #5087 from overleaf/em-promisify-subscription-updater
Promisify FeaturesUpdater and SubscriptionHandler

GitOrigin-RevId: 1a9725afa119c0eaee3d975a11197b6f702f1307
2021-09-21 08:03:10 +00:00
Alexandre Bourdin 3577f25ba2 Merge pull request #5051 from overleaf/ab-web-mono-analytics-id
Analytics ID Support (v2)

GitOrigin-RevId: 707f62697f6566d8aad22e424684d97f7bc147df
2021-09-13 08:03:14 +00:00
Alexandre Bourdin 5b8de28250 Merge pull request #5050 from overleaf/revert-4639-ab-web-mono-analytics-id
Revert "Analytics ID support"

GitOrigin-RevId: cc5da762ba1bafcbcea65ed0dd86342896b6d1eb
2021-09-10 08:04:47 +00:00
Alexandre Bourdin 6dd641e0e6 Merge pull request #4639 from overleaf/ab-web-mono-analytics-id
Analytics ID support

GitOrigin-RevId: 820a6c0f4d19f046f6c791ce4dc64dbc80748924
2021-09-10 08:04:31 +00:00
Jakob Ackermann 5e773ce950 Merge pull request #4101 from overleaf/ae-settings-module
Migrate from `settings-sharelatex` to `@overleaf/settings`

GitOrigin-RevId: 9a298ba26382180c1351683c5fddc9004418c1e6
2021-07-08 02:08:28 +00:00
Miguel Serrano 6583d6de21 Merge pull request #3971 from overleaf/tm-migrate-recurly-cancellations
Migrate cancel/reactivatation of recurly subscription to node client

GitOrigin-RevId: 68a8a3eba7b653ec923d020a74a09e49efa8ba21
2021-05-06 02:09:35 +00:00
Thomas 72af966c9c Schedule subscription downgrades to occur at the current term end (#3801)
* Schedule subscription downgrades to occur at the current term end.

If the plan is a downgrade, schedule the subscription change for term
end. Use Recurly v3 API subscription change event instead of v2 update
subscription.

* Add ability for user to revert a pending subscription change

In the case where a user has downgraded, but has since decided they'd
rather stay on their current plan, we need a way to let them revert. It
isn't enough to re-use a subscription change, because Recurly sees it as
an attempt to make a change from the current plan to itself.

Instead, we use a new dialog and call a new endpoint that has the
specific intent of reverting the pending plan change, by calling the
removeSubscriptionChange recurly client method.

* Add message prompting users to contact support for immediate changes

We're showing this in the confirmation modal for a plan change that
would occur in the future, and and on the subscription page if a pending
change is due.

Most users shouldn't need this, but it should help them out if they find
an edge case like moving from eg. Student (Annual) to Professional
(Monthly) and were expecting to be "upgraded" immediately.

GitOrigin-RevId: c5be0efbeb8568ed9caa941aadcef6f6db65c420
2021-04-28 02:10:31 +00:00
Alf Eaton 1be43911b4 Merge pull request #3942 from overleaf/prettier-trailing-comma
Set Prettier's "trailingComma" setting to "es5"

GitOrigin-RevId: 9f14150511929a855b27467ad17be6ab262fe5d5
2021-04-28 02:10:01 +00:00
Alf Eaton 1ebc8a79cb Merge pull request #3495 from overleaf/ae-prettier-2
Upgrade Prettier to v2

GitOrigin-RevId: 85aa3fa1acb6332c4f58c46165a43d1a51471f33
2021-04-15 02:05:22 +00:00
Eric Mc Sween 9ddaa8c9f6 Merge pull request #3830 from overleaf/em-upgrade-node-12
Upgrade to Node 12

GitOrigin-RevId: 19870922884b7c98e7e5f2c94df21829672d2db5
2021-04-01 02:05:52 +00:00
Simon Detheridge 5201d98752 Merge pull request #3365 from overleaf/sk-dropbox-email-fix
Conditionally send email in Dropbox unlinkAccount

GitOrigin-RevId: 0f3d2fd34b89aa3f3a96f7ca66fee5d69d07ec2f
2020-11-08 03:04:33 +00:00
Shane Kilkelly 405a221187 Merge pull request #3318 from overleaf/sk-remove-events-module
Re-work unlinking dropbox when subscription ends

GitOrigin-RevId: 92cf5713d57e157cf544d0470d5fdb6e4010d5cd
2020-11-05 03:04:24 +00:00
Miguel Serrano 79b6f6e473 Merge pull request #2994 from overleaf/msm-add-user-projection-subscription-handler
Added projection to User.find() queries in SubscriptionHandler

GitOrigin-RevId: f74e3fcd2138306dc35b5c4d0da314046ab48e35
2020-07-17 02:06:36 +00:00
Timothée Alby e000fd4615 Merge pull request #2343 from overleaf/ta-invoice-attempt-callback
Collect Past Due Invoices on Paypal Billing Info Updates

GitOrigin-RevId: 6a0d298db8589ae6ba7cb62e4dfd562a1f292db0
2019-11-12 09:14:58 +00:00
Eric Mc Sween d0fc8d90e5 Merge pull request #2119 from overleaf/ta-subscription-deletion
Store Deleted Subscriptions

GitOrigin-RevId: c7004f1807dee6b6ec82eeb2a8fe939801ce3e8b
2019-09-09 12:05:23 +00:00
Timothée Alby 03460ba229 Merge pull request #2020 from overleaf/ta-recurly-sca
SCA Integration

GitOrigin-RevId: d7935584f87ec7c7339d050430efc87420a39de1
2019-08-22 12:10:46 +00:00
Simon Detheridge 7588393580 Merge pull request #2047 from overleaf/spd-eslint-mocha-arrows
Enforce consistent callback style in mocha tests

GitOrigin-RevId: a64c293dae6926ef5831abe97eaf2044942a5c85
2019-08-07 15:29:25 +00:00
Shane Kilkelly 238e2b2565 Merge pull request #1937 from overleaf/spd-sandboxedmodule-global-console
Add 'console' to SandboxedModule globals

GitOrigin-RevId: fad442ca128561a4fa193b929f217cf31ad0f043
2019-07-15 10:44:47 +00:00
Simon Detheridge 757ae39487 Merge pull request #1899 from overleaf/spd-implicit-return-tests
Decaf cleanup: Remove implicit return from 'it' and 'describe' in tests

GitOrigin-RevId: f297820e6212dddc0d60697a2fe1612ef27403b6
2019-06-21 13:58:57 +00:00
Alasdair Smith 0ca81de78c Merge pull request #1717 from overleaf/as-decaffeinate-backend
Decaffeinate backend

GitOrigin-RevId: 4ca9f94fc809cab6f47cec8254cacaf1bb3806fa
2019-05-29 09:32:21 +00:00