@strapi/utils
Advanced tools
Comparing version 4.0.0-beta.3 to 4.0.0-beta.4
@@ -7,7 +7,8 @@ 'use strict'; | ||
*/ | ||
const { has } = require('lodash/fp'); | ||
const _ = require('lodash'); | ||
const parseType = require('./parse-type'); | ||
const contentTypesUtils = require('./content-types'); | ||
const QUERY_OPERATORS = ['_where', '_or', '_and']; | ||
const { PUBLISHED_AT_ATTRIBUTE } = contentTypesUtils.constants; | ||
@@ -136,9 +137,11 @@ class InvalidOrderError extends Error { | ||
// map convert | ||
return populate.flatMap(value => { | ||
if (typeof value !== 'string') { | ||
throw new InvalidPopulateError(); | ||
} | ||
return _.uniq( | ||
populate.flatMap(value => { | ||
if (typeof value !== 'string') { | ||
throw new InvalidPopulateError(); | ||
} | ||
return value.split(',').map(value => _.trim(value)); | ||
}); | ||
return value.split(',').map(value => _.trim(value)); | ||
}) | ||
); | ||
} | ||
@@ -151,2 +154,3 @@ | ||
} | ||
return transformedPopulate; | ||
@@ -218,5 +222,27 @@ } | ||
// NOTE: We could validate the parameters are on existing / non private attributes | ||
const convertFiltersQueryParams = filters => filters; | ||
const convertPublicationStateParams = (type, params = {}, query = {}) => { | ||
if (!type) { | ||
return; | ||
} | ||
const { publicationState } = params; | ||
if (!_.isNil(publicationState)) { | ||
if (!contentTypesUtils.constants.DP_PUB_STATES.includes(publicationState)) { | ||
throw new Error( | ||
`Invalid publicationState. Expected one of 'preview','live' received: ${publicationState}.` | ||
); | ||
} | ||
// NOTE: this is the query layer filters not the entity service filters | ||
query.filters = ({ meta }) => { | ||
if (publicationState === 'live' && has(PUBLISHED_AT_ATTRIBUTE, meta.attributes)) { | ||
return { [PUBLISHED_AT_ATTRIBUTE]: { $notNull: true } }; | ||
} | ||
}; | ||
} | ||
}; | ||
module.exports = { | ||
@@ -229,3 +255,3 @@ convertSortQueryParams, | ||
convertFieldsQueryParams, | ||
QUERY_OPERATORS, | ||
convertPublicationStateParams, | ||
}; |
@@ -7,3 +7,2 @@ 'use strict'; | ||
const { buildQuery, hasDeepFilters } = require('./build-query'); | ||
const { QUERY_OPERATORS } = require('./convert-query-params'); | ||
const parseMultipartData = require('./parse-multipart'); | ||
@@ -42,3 +41,2 @@ const sanitizeEntity = require('./sanitize-entity'); | ||
templateConfiguration, | ||
QUERY_OPERATORS, | ||
buildQuery, | ||
@@ -45,0 +43,0 @@ hasDeepFilters, |
{ | ||
"name": "@strapi/utils", | ||
"version": "4.0.0-beta.3", | ||
"version": "4.0.0-beta.4", | ||
"description": "Shared utilities for the Strapi packages", | ||
@@ -44,3 +44,3 @@ "homepage": "https://strapi.io", | ||
"license": "SEE LICENSE IN LICENSE", | ||
"gitHead": "5501518e6c4290f6b285f7fd065953381a61b08a" | ||
"gitHead": "b4a32bc84e2e23043dbc33b2bded0ea9ddcd13e7" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
50359
1481