Commit Graph

2536 Commits

Author SHA1 Message Date
Fabien O'Carroll
730811fb6e Handled week & day interval in population of mrr events
refs https://github.com/TryGhost/Team/issues/635

This is to ensure we don't break migrations for any sites which have
imported external subscriptions which have an interval of 'week' or
'day'

The bump to members-api includes the handling of these intervals for
ongoing population of mrr events
2021-05-21 17:57:17 +01:00
Renovate Bot
6d2890c1a8
Update metascraper to v5.21.9 2021-05-21 10:16:46 +00:00
Renovate Bot
d08ea611b7 Update dependency cssnano to v5.0.3 2021-05-21 09:14:36 +01:00
Renovate Bot
5aaa910a2e Update dependency @tryghost/job-manager to v0.8.6 2021-05-21 09:08:54 +01:00
Renovate Bot
9010932466
Update dependency sanitize-html to v2.4.0 2021-05-20 16:28:50 +00:00
Fabien O'Carroll
253eee627c Removed boot precondition checks from members-api
refs https://github.com/TryGhost/Team/issues/598
refs https://github.com/TryGhost/Ghost/commit/5cdf910e

Since we have moved the preconditon checks into this codebase, we no
longer need the members-api module to run them. This bump includes the
changes to remove the last of those checks.
2021-05-20 12:14:14 +01:00
Renovate Bot
d98334eb89
Update dependency express-session to v1.17.2 2021-05-19 20:47:30 +00:00
Renovate Bot
fd394f0c3a
Update dependency @sentry/node to v6.4.1 2021-05-19 18:16:24 +00:00
Fabien O'Carroll
0e77b378a6 Migrated members_{monthly,yearly}_price_id settings
refs https://github.com/TryGhost/Team/issues/698

The migrations to populate these settings are handled by the members-api
module, as they depend on the stripe_prices table being populated. This
cannot be guarunteed at boot, so we're unable to do this as a standard
migration.
2021-05-19 15:37:20 +01:00
Renovate Bot
ae98bf5a6d Update dependency mock-knex to v0.4.10 2021-05-18 11:05:31 +01:00
Renovate Bot
2af3d760a2
Update dependency @sentry/node to v6.4.0 2021-05-17 08:09:59 +00:00
renovate[bot]
3b5ce73026
Update dependency @tryghost/session-service to v0.1.22 (#12965)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-05-14 18:35:36 +02:00
Renovate Bot
421d457430 Update dependency @tryghost/helpers to v1.1.45 2021-05-13 10:07:59 +01:00
Naz
eb7e4bb815 🐛 Fixed frontmatter-related validation error
refs https://github.com/TryGhost/Team/issues/687

- The frontmatter field has leaked into the API layer unintentionally when it was introduced into the DB schema during 4.0 release.
- The fix add the field to "trim" list in all API. A proper validation and handling will be add per API as usecase for the field becomes clear
2021-05-13 12:14:05 +04:00
Daniel Lockyer
9c2388e8aa
v4.5.0 2021-05-11 13:34:32 +01:00
Fabien O'Carroll
ed0f90a82d Fixed errors when importing comped Members
no-issue

The logic for finding the zero-value price to be used was broken, and
this patch to members-api fixes it
2021-05-11 12:13:48 +01:00
Renovate Bot
83d4a19757 Update dependency @tryghost/url-utils to v1.1.4 2021-05-11 12:09:16 +01:00
Renovate Bot
0b94b930b7 Update dependency @tryghost/html-to-mobiledoc to v0.7.16 2021-05-11 12:09:04 +01:00
Renovate Bot
a316ddd528 Update dependency @tryghost/helpers to v1.1.44 2021-05-10 20:37:26 +01:00
Fabien O'Carroll
8add0e04f5 Updated members-api to work with multiple products
refs https://github.com/TryGhost/Team/issues/682
refs https://github.com/TryGhost/Team/issues/650

- Provide backwards compatibility for the `comped` flag in the API and
  the importer.
- Ensures the default stripe product name is kept in sync with the name
  of the Ghost Product
- Updates the webhook handling to work with multiple products
2021-05-10 20:23:35 +01:00
Kevin Ansfield
c36e749820
Added support for gating content by member labels and products (#12946)
refs https://github.com/TryGhost/Team/issues/581
closes https://github.com/TryGhost/Team/issues/582

Emails can now be sent to members with specific associated labels or products by specifying an NQL string. We want to bring the same members segment feature to content by allowing `visibility` to be an NQL filter string on top of the `public/members/paid` special-case strings.

As an example it's possible to set `posts.visibility` to `label:vip` to make a post available only to those members with the `vip` label.

- removed enum validations for `visibility` so it now accepts any string or `null`
    - bumped `@tryghost/admin-api-schema` for API-level validation changes
- added nql validation to API input validators by running the visibility query against the members model
- added transform of NQL to special-case visibility values when saving post model
    - ensures there's a single way of representing "members" and "paid" where NQL gives multiple ways of representing the same segment
    - useful for keeping theme-level checks such as `{{#has visibility="paid"}}` working as expected
- updated content-gating to parse nql from post's visibility and use it to query the currently logged in member to see if there's a match
    - bumped @tryghost/members-api to include label and product data when loading member
2021-05-10 19:32:11 +01:00
Renovate Bot
e73d26d9da Update dependency @tryghost/string to v0.1.19 2021-05-10 17:33:38 +01:00
Renovate Bot
285a722444 Update dependency @tryghost/social-urls to v0.1.24 2021-05-10 17:28:25 +01:00
Renovate Bot
e7f300d4d2
Update dependency @sentry/node to v6.3.6 2021-05-10 09:23:15 +00:00
Renovate Bot
ec0a8c1d2f
Update dependency eslint to v7.26.0 2021-05-10 01:42:57 +00:00
Renovate Bot
8308db8eac
Update dependency mocha to v8.4.0 2021-05-07 20:26:12 +00:00
Renovate Bot
420ab29039 Update dependency @tryghost/package-json to v0.1.1 2021-05-07 16:14:45 +01:00
Naz
d72ba77aba Added support for max periodic limit check
refs https://github.com/TryGhost/Team/issues/588

- This is a new type of limit allowing to measure resource use (e.g. sent emails) per period (e.g. subscription, billing, cycle, etc)
- To enable periodical limit add  following values under `hostSettings.limits`:
```
"emails": {
    "maxPeriodic": 10,
    "error": "Your plan supports up to {{max}} emails. Please upgrade to reenable sending emails."
}
```
and following under `hostSettings.subscription`:
```
"subscription": {
    "start": "2020-04-02T15:53:55.000Z",
    "interval": "month"
}
```
- Above config would allow checking if 10 emails per month starting on the 2nd of every month has been reached untill now
2021-05-07 18:43:47 +04:00
Daniel Lockyer
4385070881
⬆️ Bumped minimum Node version to 12.22.1 and 14.16.1
refs https://nodejs.org/en/blog/vulnerability/april-2021-security-releases/

- these are the latest security releases and we should encourage people
  to upgrade to them
- also replaces Node 12 in the tests with Node 14 as this is soon our
  recommended version
2021-05-07 14:14:46 +01:00
Hannah Wolfe
781cc6f304
Switched to eslint-plugin-node + fix eslint test perf
refs: https://github.com/TryGhost/Ghost/commit/7bce05ab8

- I wrote a custom plugin for the no-cross-requires logic between our modules after not finding anything that could do it
- Then, when searching for the next rule I wanted, I found eslint-plugin-ghost has no-restricted-requires
- This rule is more flexible, so switching to it
- NOTE: This update to eslint-plugin-ghost also fixes performance of linting our test files by pinning eslint-plugin-mocha to v7 as v8 has performance problems
2021-05-07 13:25:18 +01:00
Renovate Bot
576a1ce5b7 Update dependency @tryghost/mw-session-from-token to v0.1.20 2021-05-07 13:10:55 +01:00
Renovate Bot
93de578939 Update dependency @tryghost/session-service to v0.1.21 2021-05-07 12:46:25 +01:00
Renovate Bot
80033a57b7 Update dependency @tryghost/job-manager to v0.8.5 2021-05-07 12:46:14 +01:00
Renovate Bot
037a443f49 Update dependency @tryghost/zip to v1.1.13 2021-05-07 12:45:30 +01:00
Daniel Lockyer
b1499d4037 Extracted package-json lib to Utils
refs 37ebe723c6

- `package-json` was a standalone library using dependency injection so
  we could pull it out into its own package in Utils
- this was done in the commit referenced above
- this commit removes the implementation and tests in Ghost and replaces
  the require in the initialization wrapper with the new package
2021-05-07 12:35:06 +01:00
Hannah Wolfe
c0054fdbd7
Fixed path to eslint file for tests
refs: d2c6838133

- Changed the file type but neglected to update the config filepath for tests
2021-05-07 12:14:01 +01:00
Renovate Bot
103b5bff56
Update dependency glob to v7.1.7 2021-05-06 22:37:19 +00:00
Renovate Bot
de1d77b86d Update dependency image-size to v1 2021-05-05 17:14:40 +01:00
Renovate Bot
a795e12ffe Update dependency fs-extra to v10 2021-05-05 16:06:45 +01:00
Daniel Lockyer
470f2a8728
Updated dependency grunt-contrib-compress to v2
- this reverts commit 4be4af9c18 because
  we have now dropped Node 10
2021-05-05 15:46:02 +01:00
Renovate Bot
ee9ef5498d Update metascraper to v5.21.7 2021-05-05 15:43:46 +01:00
Renovate Bot
a9cc729c54 Update dependency oembed-parser to v1.4.7 2021-05-05 15:24:05 +01:00
Daniel Lockyer
156900a4ae
⚙️ Bumped required Ghost-CLI version to 1.17.0
refs https://github.com/TryGhost/Team/issues/658

- Ghost-CLI 1.17.0 displays warnings when users are on an unsupported
  version of Node, or are running a Ghost version that is EOL
- by bumping this here, we can force users to update to CLI 1.17.0 to
  get these features
2021-05-05 14:40:28 +01:00
Daniel Lockyer
57ff38da8a
🔥 Dropped support for Node 10
refs https://github.com/TryGhost/Team/issues/658

- Node 10 become EOL as of April 30th so it's time to drop support
- this commit:
  - removes the Node 10 range from the `node` `engines` block
  - removes Node 10 from CI tests
  - switches Node 10 in the CLI test to Node 12 so we can ensure it
    installs on our oldest supported Node version
2021-05-05 14:38:14 +01:00
Daniel Lockyer
6bc4c2caa6
v4.4.0 2021-05-04 11:55:36 +01:00
Renovate Bot
7b6df51d08 Update dependency cssnano to v5.0.2 2021-05-04 08:57:43 +01:00
Naz
a83cccd84b Enabled "emails" limit configuration
refs https://github.com/TryGhost/Team/issues/588

- This bump allows to pass configuration for "emails" limit (flag type for now) and allows to do checks against this limit as a consequence
- Useful to be able to do basic checks for newsletter-related functionality
2021-05-03 14:06:45 +04:00
Renovate Bot
026b85baca
Update dependency @sentry/node to v6.3.5 2021-04-30 13:33:27 +00:00
Renovate Bot
62d257f7a0
Update dependency @sentry/node to v6.3.4 2021-04-29 11:16:46 +00:00
Daniel Lockyer
15ecfd471b
Merged v4.3.3 into main
v4.3.3
2021-04-29 12:14:39 +01:00