* Add PlanSponsorshipType to static store
* Add sponsorship type to token and creates sponsorship
* PascalCase properties
* Require sponsorship for remove
* Create subscription sponsorship helper class
* Handle Sponsored subscription changes
* Add sponsorship id to subscription metadata
* Make sponsoring references nullable
This state indicates that a sponsorship has lapsed, but was not able to
be reverted for billing reasons
* WIP: Validate and remove subscriptions
* Update sponsorships on organization and org user delete
* Add friendly name to organization sponsorship
* Add autoscale fields to Organization
* Add autoscale setting changes
* Autoscale organizations
updates InviteUsersAsync to support all invite sources.
sends an email to org owners when organization autoscaled
* All organizations autoscale
Disabling autoscaling can be done by setting max seats to current seats.
We only warn about autoscaling on the first autoscaling event.
* Fix tests
* Bug fixes
* Simplify subscription update logic
* Void invoices that fail to delete
Stripe no longer allows deletion of draft invoices that were created as part of subscription updates. It's necessary to void out these invoices without sending tem to the client.
* Notify org owners when their subscription runs out of seats
* Use datetime for notifications
Allows for later re-sending email if we want to periodically remind
owners
* Do not update subscription if it already matches new quatity
* Include all migrations
* Remove unnecessary inline styling
* SubscriptionUpdate handles update decisions
* Remove unnecessary html setter
* PR review
* Use minimum access for class methods
* [Reset Password] Organization Key Pair
* Fixed type in Organization_ReadAbilites sproc
* Fixed broken unit test by making sure premium addon was false
* Updated PublicKey decorator and removed unecessary validation
* [enum] Add Yandex to global equivalent domains list
Exhaustive list of Yandex domain names obtained by contacting their support.
* [Dictionary] Add Yandex to global equivalent domains list
Exhaustive list of Yandex domain names obtained by contacting their support.
After further research, amazon.co.nz has never been more than a redirect (in order: to amazon.com, amazon.co.uk then back to amazon.com). See PR for more information.
* Expanded the Plan model to make plan & product data a bit more dynamic
* Created a Product enum to track versioned instances of the same plan
* Created and API call and Response model for getting plan & product data from the server
* Add Envato network to equivalent domain sets
Envato is an Alexa top 500 website that asks you to use the same login on many different domains. The login forms are on those domains, not envato.com.
For my use case, account-level domain equivalence rules don’t work because I want to share this with a team, and multiple URLs per login is duplicative because we have multiple Envato logins.
tutsplus.com is another Envato domain that accepts Envato logins, but I believe it also accepts tutsplus.com-specific logins, making it not fully equivalent.
* Add Envato to GlobalEquivalentDomainsType
* GlobalEquivalentDomains: add Airbnb and Eventbrite
* StaticStore: add airbnb domains
List based on https://www.airbnb.com/sitemaps/localized
* StaticStore: sort airbnb domains
* StaticStore: add Eventbrite domains
No public list found, went through some `nslookup` bruteforce checks...
* StaticStore: add missing eventbrite.com