Socket
Socket
Sign inDemoInstall

@strapi/utils

Package Overview
Dependencies
Maintainers
10
Versions
1271
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@strapi/utils - npm Package Compare versions

Comparing version 4.0.0-beta.3 to 4.0.0-beta.4

46

lib/convert-query-params.js

@@ -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"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc