mirror of
https://github.com/strapi/strapi.git
synced 2025-11-04 20:07:19 +00:00
use standard filtering for ID in ct findOne query
This commit is contained in:
parent
210434dab9
commit
fa3d90f201
@ -1,19 +1,12 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const { extendType } = require('nexus');
|
const { extendType } = require('nexus');
|
||||||
const { pipe } = require('lodash/fp');
|
|
||||||
|
|
||||||
const { actionExists } = require('../../../old/utils');
|
const { actionExists } = require('../../../old/utils');
|
||||||
const { utils, args } = require('../../../types');
|
const { utils, args } = require('../../../types');
|
||||||
const {
|
const { transformArgs } = require('../utils');
|
||||||
getUniqueScalarAttributes,
|
|
||||||
scalarAttributesToFiltersMap,
|
|
||||||
transformArgs,
|
|
||||||
} = require('../utils');
|
|
||||||
const { buildQueriesResolvers } = require('../../resolvers');
|
const { buildQueriesResolvers } = require('../../resolvers');
|
||||||
|
|
||||||
const getUniqueAttributesFiltersMap = pipe(getUniqueScalarAttributes, scalarAttributesToFiltersMap);
|
|
||||||
|
|
||||||
module.exports = ({ strapi }) => {
|
module.exports = ({ strapi }) => {
|
||||||
const buildCollectionTypeQueries = contentType => {
|
const buildCollectionTypeQueries = contentType => {
|
||||||
return extendType({
|
return extendType({
|
||||||
@ -32,7 +25,7 @@ module.exports = ({ strapi }) => {
|
|||||||
* @param contentType
|
* @param contentType
|
||||||
*/
|
*/
|
||||||
const addFindOneQuery = (t, contentType) => {
|
const addFindOneQuery = (t, contentType) => {
|
||||||
const { uid, attributes } = contentType;
|
const { uid } = contentType;
|
||||||
|
|
||||||
const findOneQueryName = utils.getFindOneQueryName(contentType);
|
const findOneQueryName = utils.getFindOneQueryName(contentType);
|
||||||
const responseTypeName = utils.getEntityResponseName(contentType);
|
const responseTypeName = utils.getEntityResponseName(contentType);
|
||||||
@ -42,15 +35,17 @@ module.exports = ({ strapi }) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// todo[v4]: Don't allow to filter using every unique attributes for now
|
||||||
// Only authorize filtering using unique scalar fields for findOne queries
|
// Only authorize filtering using unique scalar fields for findOne queries
|
||||||
const uniqueAttributes = getUniqueAttributesFiltersMap(attributes);
|
// const uniqueAttributes = getUniqueAttributesFiltersMap(attributes);
|
||||||
|
|
||||||
t.field(findOneQueryName, {
|
t.field(findOneQueryName, {
|
||||||
type: responseTypeName,
|
type: responseTypeName,
|
||||||
|
|
||||||
args: {
|
args: {
|
||||||
id: utils.getScalarFilterInputTypeName('ID'),
|
id: 'ID',
|
||||||
...uniqueAttributes,
|
// todo[v4]: Don't allow to filter using every unique attributes for now
|
||||||
|
// ...uniqueAttributes,
|
||||||
},
|
},
|
||||||
|
|
||||||
async resolve(source, args) {
|
async resolve(source, args) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user