mirror of
				https://github.com/strapi/strapi.git
				synced 2025-11-03 19:36:20 +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