Commit Graph

12207 Commits

Author SHA1 Message Date
Naz
bf1fcd25ce
Added migration utils for dropping tables
refs https://github.com/TryGhost/Ghost/issues/12565

- Dropping tables happens sporadicaly, usually during major version releases. It made sense to create a utility based on previous migrations of this type (e.g.:  3.0/03-drop-client-auth-tables.js migration) to avoid code duplication in the future
2021-02-02 16:12:53 +00:00
Fabien 'egg' O'Carroll
73f6fd8c51
Enabled Members for all sites (#12582)
no-issue

This removes all references to the members labs setting, any code that was run conditionally behind this flag now runs unconditionally. 

* Removed usage of Members labs flag
* Removed tests for Members disabled
* Added dynamic keypair generation for when setting is missing
2021-02-02 16:12:53 +00:00
Rishabh Garg
26ee648397
🏗 Flattened members subscriptions data in API (#12581)
no refs

- Updates member model serializer to directly set subscriptions on member object instead of `stripe.subscriptions`
- Updates all references to members subscriptions from nested `stripe.subscriptions` to `subscriptions`
- Updates v3 API serializer to still use `stripe.subscriptions`
- Updates tests
2021-02-02 16:12:53 +00:00
Fabien 'egg' O'Carroll
6af2706f10
Updated Admin API and Mega to use status flag (#12579)
no-issue

* Removed support for paid param from v3 & canary API
* Updated active subscription checks to use status flag
* Updated MEGA to use status filter over paid flag
* Removed support for paid option at model level
* Installed @tryghost/members-api@1.0.0-rc.0
* Updated members fixtures
2021-02-02 16:12:51 +00:00
Fabien 'egg' O'Carroll
229295d671
Exited process when members-api fatally errors (#12489)
closes https://github.com/TryGhost/Ghost/issues/12448

This adds handling to force the process to exit when we receive an error
from the members-api on initialisation.
2021-02-02 16:12:10 +00:00
Thibaut Patel
8ecaeb4af9
💡 Renamed the cookie used for the private mode
issue https://github.com/TryGhost/Ghost/issues/12564

- This change means users who have already entered the site password will need to do it again
2021-02-02 16:12:10 +00:00
Fabien O'Carroll
5d122c3c62
Updated plan_nickname column to be nullable
no-issue

This value is nullable from the Stripe API so we're making sure that we
can store exact values locally.

SQLite3 does not supports altering columns so instead we have to:
1. Create a temp table and copy the data to it
2. Delete the original table
3. Recreate the original table with the necessary modifications
4. Copy the data from the temp table
5. Drop the temp table
2021-02-02 16:12:10 +00:00
Fabien O'Carroll
cc17de16ba
Added ability to specific table definition to createTable
no-issue
2021-02-02 16:12:10 +00:00
Naz
e33599432d
Fixed maintenance app initialization 2021-02-02 16:12:10 +00:00
Naz
9bff415572
Moved maintenance app to separate package
refs #12568

- Made a package out of maintenance app to keep as little code in the repository
2021-02-02 16:12:08 +00:00
Naz
dcb89f2be0
Changed maintenance app debug code 2021-02-02 16:11:35 +00:00
Naz
244e2374d3
Refactored maintenance app to be a class with DI
refs #12568

- DI pattern through constructor allows for very clear separation of concerns and makes it easy to extract the class into a separate module
2021-02-02 16:11:35 +00:00
Naz
7d9f056e9b
Added error handling and response formatting in maintenance 2021-02-02 16:11:35 +00:00
Naz
d60e36ab57
Added "maintenance" app serving 503 page
refs #12568

- When the server is in maintenance mode (e.g. during migration) it needs to serve a 503 page. Previously this role was delegated to the "frontend" which tightly coupled server bootup and frontend.
- With a dedicated HTTP application serving up 503 server is no longer coupled to the frontend during maintenance
2021-02-02 16:11:35 +00:00
Naz
7e28802b1c
Changed express apps to start after migrations
refs #12568

- Allowing express app (frontend) to be booted after the migrations
decouples server maintenance mode from a need to have the "frontend"
loaded beforehand
2021-02-02 16:11:34 +00:00
Fabien 'egg' O'Carroll
a79ed1170d
Added status property to members (#12570)
refs #12160

This flag will allow us easier filtering of members via the API

* Added status column to members table

This flag will be used to determine if a member is free or paid, rather
than relying on joins with the customers and subscriptions tables.

* Added migration to populate members.status

As we add the column with a default value of "free" we only need to care
about the paid members here. We also preemptively handle migrations for
SQLite where there are > 998 paid members.
2021-02-02 16:11:34 +00:00
Thibaut Patel
b724b2be92
Removed the deprecated send_email_when_published field from the API
refs https://github.com/TryGhost/Team/issues/457
2021-02-02 16:11:34 +00:00
Naz
9163c48f4e
Refactored minimal setup for Ghost boot
refs #12568

- Moved duplicated initialization code to make initialization stages clearer
2021-02-02 16:11:34 +00:00
Naz
75cacc460b
Fixed await for db initialization
refs #12568

- Was missed during the refactor in 62c2a1a05d
2021-02-02 16:11:34 +00:00
Naz
815f67492c
Refactored server boot process to use async/await
refs #12568

- The readivility of multiple nested promises is very poor
- Refactored this piece of code before doing a bigger reshuffle of frontend/server boot process
2021-02-02 16:11:34 +00:00
Thibaut Patel
746ab389ad
Removed the "type" filter from the GET settings api
refs https://github.com/TryGhost/Team/issues/454
2021-02-02 16:11:34 +00:00
Rish
c37c66609d
Removed portal-action and requestSrc
no issue

We added `portal-action` and `requestSrc` in 3.x to allow Portal to handle notifications only for auth actions trigged while using it directly, so that existing themes are not affected in any way. Going forward in 4.0, we don't want to have any special handling in backend for Portal but instead expect themes to handle any Portal specific behavior directly.

- Removes setting of `portal-action` for auth actions like signup
- Removes `requestSrc` being passed through to determine portal actions
2021-02-02 16:11:34 +00:00
Daniel Lockyer
8737267001
v3.41.3 2021-02-01 14:40:51 +00:00
Daniel Lockyer
43fe53e5c8
Updated Ghost-Admin to v3.41.3 2021-02-01 14:40:51 +00:00
renovate[bot]
bc4ed6a614
Update dependency @tryghost/members-api to v0.37.7 (#12586)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-02-01 14:11:53 +05:30
Renovate Bot
9e6be47f51
Update dependency keypair to v1.0.2 2021-02-01 03:05:29 +00:00
Renovate Bot
4a3eaf3ee1
Update Test & linting packages 2021-02-01 00:31:41 +00:00
Rishabh Garg
5417c4d0e1 Removed stripe keys and analytics data from export (#12573)
closes https://github.com/TryGhost/Ghost/issues/12449

We’re starting to bump into errors with our current exporter due to the size of some of the tables in the db and hitting an issue with Ghost running out of memory during export. The intention for the export/import is not to be backup/restore functionality, but for exporting content and authors.

In addition, exporting and re-importing Stripe secret/publishable keys can cause unexpected side-effects for sites that can has major side-effects. This change -

- Removes `email_batches` and `email_recipients` tables from export data to reduce export size due to large amount of analytics data
- Removes stripe's secret/publishable/webhook keys to avoid unexpected issues with re-import
2021-01-28 14:55:54 +05:30
Daniel Lockyer
8db92b0625
v3.41.2 2021-01-27 15:50:27 +00:00
Daniel Lockyer
bbc9c85770
Updated Ghost-Admin to v3.41.2 2021-01-27 15:50:27 +00:00
renovate[bot]
a7524a3676
🐛 Fixed issue opening Stripe Checkout via data-members-plan
Update dependency @tryghost/members-api to v0.37.6 (#12580)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-27 15:46:23 +00:00
Renovate Bot
b354456f83
Update dependency ghost-ignition to v4.4.3 2021-01-27 13:48:30 +00:00
Renovate Bot
193e0b20e8
Update dependency sanitize-html to v2.3.2 2021-01-26 22:15:17 +00:00
Daniel Lockyer
93bf807419
v3.41.1 2021-01-26 16:54:30 +00:00
Daniel Lockyer
e713585dd4
Updated Ghost-Admin to v3.41.1 2021-01-26 16:54:29 +00:00
Thibaut Patel
cd27cba93d 🔒 Fixed open redirect in private site login
no refs

- prevents redirect to external sites after providing private site password

Credits: https://github.com/max-schaefer
2021-01-26 16:42:42 +00:00
Daniel Lockyer
7f04ca1bda
v3.41.0 2021-01-26 16:03:12 +00:00
Daniel Lockyer
4357a1d378
Updated Ghost-Admin to v3.41.0 2021-01-26 16:03:11 +00:00
Fabien O'Carroll
8631710b68 Fixed Members importer usage of linkStripeCustomer
no-issue

The method signature was updated in the refactor and this was missed
2021-01-26 21:26:19 +05:30
renovate[bot]
0e08ce1612
Update dependency @tryghost/members-api to v0.37.5 (#12575)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-26 13:15:02 +00:00
Renovate Bot
380ee8223a Update dependency @tryghost/members-csv to v0.4.2 2021-01-26 09:53:26 +05:30
Renovate Bot
b6c9538e54 Update dependency @tryghost/magic-link to v0.6.4 2021-01-26 09:52:13 +05:30
Renovate Bot
10fcaf8f23 Update dependency @tryghost/members-ssr to v0.8.8 2021-01-26 09:51:43 +05:30
Renovate Bot
fad905d86c
Update dependency supertest to v6.1.3 2021-01-25 21:47:40 +00:00
John O'Nolan
31f8156676 2021 2021-01-25 16:52:15 +00:00
renovate[bot]
646f63ebdf
Update dependency @tryghost/members-api to v0.37.3 (#12571)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-25 14:27:04 +00:00
renovate[bot]
38647930b1
Update dependency @tryghost/members-api to v0.37.2 (#12561)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-01-25 11:12:15 +00:00
Renovate Bot
01206217f5
Update dependency supertest to v6.1.2 2021-01-25 06:46:03 +00:00
Renovate Bot
8fd3034d3c
Update dependency sinon to v9.2.4 2021-01-25 00:51:49 +00:00
Renovate Bot
f8776c0536
Update dependency sanitize-html to v2.3.1 2021-01-22 20:35:28 +00:00