Commit graph

119 commits

Author SHA1 Message Date
Neeraj Gupta ef250acad9
[server] Add person EntityType (#1246)
## Description

## Tests
2024-03-29 16:12:59 +05:30
Manav Rathi 54d93647ef
Add SMTP for sending emails (#1228)
## Tests
Tested for templated mails in user.go, userauth.go, stripe.go,
public_collection.go, playstore.go, admin.go, email_notification.go

Screenshots for all the templates -
[https://drive.google.com/drive/folders/1f7BjM5MHicRUbr5jlCe2-4MGz7s1moLw?usp=sharing](url)
2024-03-29 09:22:40 +05:30
Vishal d5f0334a34 Remove isEnabled from config 2024-03-28 17:44:08 +05:30
Vishal 1f75633c5c Private method to bottom of the file 2024-03-28 15:03:27 +05:30
Manav Rathi 2b379640ca
Allow billing plans to be mounted into the Docker container if needed 2024-03-28 13:07:43 +05:30
Vishal cc3376154f Change name 2024-03-27 22:39:12 +05:30
Vishal a7692b7d2e Update if else 2024-03-27 21:40:40 +05:30
Vishal 9893e3f305 Add Amazon SES for sending mails 2024-03-27 19:58:27 +05:30
Vishnu Mohandas eef33e9c0c
[mobile][web] Redirect to payment portal if subscription is past due (#1222)
## Description

When a customer whose Stripe subscription is past due (within the 30 day
window after expiry time and has not been cancelled) clicks on the
subscription modal, take them to the payment portal to complete the
subscription.

## Tests

- [x] Tested web
- [x] Tested mobile
2024-03-27 16:29:58 +05:30
vishnukvmd 44403c94c2 Cancel SEPA subscriptions when payments fail 2024-03-27 16:20:58 +05:30
Vishnu Mohandas 0c400db649
[server] Fix Stripe related issues (#1152)
## Description

### Stripe
- Settings have been modified to "Cancel" the subscription if all
attempts to charge an invoice fails. The previous configuration was to
set the subscription to "Past Due".

### Museum
- Updated our Stripe workflow to use `PaymentBehaviorAllowIncomplete` in
case of SEPA payments
- Fixed the issue caused by us spawning unnecessary subscriptions when a
customer tried to renew their expired subscription
- Removed the email that was being sent out when a Stripe subscription
expired. We will have to run our own cron to send a notification and
perform necessary clean up. When payments fail, we will still send a
notification to intimate the customer that their account is on hold.

### Mobile
- Fixed the dialogs and error messages on the payment page

## Tests
The following cases were tested for SEPA, Credit Cards, and Credit Cards
with 3DS.
- [x] Purchase
  - [x] Success
  - [x] Failure
- [x] Renewal
  - [x] Success
  - [x] Failure
- [x] Upgrades
  - [x] Success
  - [x] Failure
- [x] Cancellation
- [x] Resumption post recovery

## Note

These changes are likely to break in the event of some corner cases we
haven't thought of. But this will land us in a state that is better than
where we are right now in terms of collecting payments for expired
subscriptions and those via SEPA.
2024-03-27 14:43:36 +05:30
vishnukvmd 25a054287a Prevent duplicate emails for SEPA 2024-03-27 14:22:30 +05:30
Manav Rathi e803b7f053
Document in main README 2024-03-27 13:44:24 +05:30
Manav Rathi 4a4a6ba44a
Give an example of the pull command 2024-03-27 13:04:28 +05:30
Manav Rathi cb45a070be
Tweaks 2024-03-27 12:58:17 +05:30
Manav Rathi 4ba76e4aa2
Tweaks 2024-03-27 12:46:08 +05:30
Manav Rathi 7c0f41166c
Add a first cut of the publish script 2024-03-27 12:42:29 +05:30
Manav Rathi b31332ff30
Outline the plan 2024-03-27 12:42:26 +05:30
vishnukvmd c9618d8038 Update copy 2024-03-26 21:31:29 +05:30
vishnukvmd 888aca7e6c Extract common code 2024-03-26 21:11:57 +05:30
vishnukvmd 31d3319d20 Revert "Depend on subscription-past-due events to trigger the account-on-hold email"
This reverts commit a131c16f4e.
2024-03-26 20:59:02 +05:30
vishnukvmd a131c16f4e Depend on subscription-past-due events to trigger the account-on-hold email 2024-03-26 20:29:55 +05:30
vishnukvmd f2aac262b1 Remove unused flag 2024-03-25 23:27:39 +05:30
vishnukvmd 4afc056a9f Stop listening to subscription deleted events 2024-03-25 23:26:48 +05:30
vishnukvmd 2dcf5daf54 Handle cases where default payment method might not be specified 2024-03-25 23:16:20 +05:30
vishnukvmd 29245b73b9 Cancel subscriptions on SEPA failures immediately 2024-03-25 23:15:43 +05:30
vishnukvmd d003542e42 Simplify how last payment method is fetched 2024-03-25 23:13:56 +05:30
Manav Rathi a4ecc2c344
Update ente.io/faq => help.ente.io where possible
On desktop, now there Help menu will have an "Ente Help" option instead of "FAQ"
(Unrelated: I noticed that user facing strings in the desktop app are not
localized).

The only place remaining after this is the sidebar on mobile
(`support_section_widget.dart`), but I wasn't sure of what string to use (and
how to add it to the localized strings for mobile) so I've left it unchanged.
2024-03-25 19:26:10 +05:30
vishnukvmd a275ab7740 Set subscription to expire 7 days after payment failure 2024-03-23 14:37:29 +05:30
vishnukvmd e634310cb1 Remove unused method 2024-03-21 14:49:37 +05:30
vishnukvmd b95d7c241d Create new subs only if the existing subscription is in a cancelled state 2024-03-21 14:48:29 +05:30
vishnukvmd 3cf680eec1 [WiP] Prevent subscription cancellation 2024-03-21 14:42:38 +05:30
vishnukvmd 1f17f2442a Handle SEPA failures 2024-03-21 14:33:10 +05:30
vishnukvmd 859af52c64 Remove commented code 2024-03-21 13:55:42 +05:30
vishnukvmd 78e5e3bdb1 Minor refactor 2024-03-21 13:31:46 +05:30
vishnukvmd 5635e63cb7 Update handling for subscription updated events 2024-03-21 13:29:42 +05:30
Abhinav 520f7ab64c only use PaymentBehaviorAllowIncomplete for SEPA payment method 2024-03-21 07:18:28 +05:30
Abhinav 4e074770d2 invoice client specific invoice api 2024-03-21 06:48:49 +05:30
vishnukvmd 49893d9732 Update on-hold email subject 2024-03-20 14:31:33 +05:30
vishnukvmd db81f52cf1 Update mail when subscription is on-hold 2024-03-20 14:31:01 +05:30
vishnukvmd 628565cfaf Merge branch 'main' into sepa-fix 2024-03-20 14:08:36 +05:30
Vishnu Mohandas 8101fe1495
Patch few Stripe related issues (#1156) 2024-03-20 14:07:26 +05:30
vishnukvmd 61d5f3189b Update cancellation status on receiving webhook from Stripe 2024-03-20 14:05:09 +05:30
Abhinav 6b749294ce fix sepa issue 2024-03-19 18:40:32 +05:30
Neeraj Gupta 449284a6a1
[server] API to fetch ML embeddings for given fileIDs (#1144)
## Description
- Also started storing the embedding size and version in the table. This
will come handy while comparing overall size when different compression
and serialization formats are used..
- Also, it can be used to smartly auto-download the embeddings or inform
the user about approximate size when they decide to enable indexing or
search on a particular client.

## Tests

 Verified that embedding fetch and store is working fine.
 Verified that embeddings/diff API is working fine.
2024-03-19 12:23:24 +05:30
Neeraj Gupta 685e1b82c9 [server] Fix query for diff API 2024-03-19 12:09:39 +05:30
Neeraj Gupta 2b3494e61c [server] Return embedding version in API response 2024-03-19 11:25:00 +05:30
Neeraj Gupta e8756a8cf7 [server] Remove unused code 2024-03-19 11:06:36 +05:30
Neeraj Gupta 3df49beb07 [server] Remove unused model name 2024-03-19 11:04:25 +05:30
Neeraj Gupta 05b0f1649f [server] store embedding objSize & version 2024-03-19 11:02:22 +05:30