diff --git a/.changeset/proud-dancers-check.md b/.changeset/proud-dancers-check.md new file mode 100644 index 00000000000..30ca24c1abc --- /dev/null +++ b/.changeset/proud-dancers-check.md @@ -0,0 +1,5 @@ +--- +'@keystone-next/fields-cloudinary-image-legacy': patch +--- + +Fixed the type resolver when using the `sqlite` provider. diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0b2caf861b1..1ba8992191f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -147,8 +147,8 @@ jobs: if: needs.should_run_tests.outputs.shouldRunTests == 'true' run: yarn jest --ci --maxWorkers=1 api-tests env: - CLOUDINARY_CLOUD_NAME: keystone-cloudinary - CLOUDINARY_KEY: 758252673115372 + CLOUDINARY_CLOUD_NAME: ${{ secrets.CLOUDINARY_CLOUD_NAME }} + CLOUDINARY_KEY: ${{ secrets.CLOUDINARY_KEY }} CLOUDINARY_SECRET: ${{ secrets.CLOUDINARY_SECRET }} CI_NODE_TOTAL: 9 CI_NODE_INDEX: ${{ matrix.index }} @@ -200,8 +200,8 @@ jobs: - name: Unit tests run: yarn jest --ci --maxWorkers=1 --testPathIgnorePatterns=api-tests --testPathIgnorePatterns=examples-smoke-tests env: - CLOUDINARY_CLOUD_NAME: keystone-cloudinary - CLOUDINARY_KEY: 758252673115372 + CLOUDINARY_CLOUD_NAME: ${{ secrets.CLOUDINARY_CLOUD_NAME }} + CLOUDINARY_KEY: ${{ secrets.CLOUDINARY_KEY }} CLOUDINARY_SECRET: ${{ secrets.CLOUDINARY_SECRET }} examples_smoke_tests: diff --git a/packages/fields-cloudinary-image/package.json b/packages/fields-cloudinary-image/package.json index d688d98620d..f13d24a8e73 100644 --- a/packages/fields-cloudinary-image/package.json +++ b/packages/fields-cloudinary-image/package.json @@ -15,6 +15,8 @@ "main": "dist/fields-cloudinary-image-legacy.cjs.js", "module": "dist/fields-cloudinary-image-legacy.esm.js", "devDependencies": { + "@keystone-next/cloudinary": "*", + "@keystone-next/fields": "*", "@keystone-next/file-adapters-legacy": "*", "cloudinary": "^1.25.1", "dotenv": "^8.2.0", diff --git a/packages/fields-cloudinary-image/src/Implementation.js b/packages/fields-cloudinary-image/src/Implementation.js index d24d66f0fb2..3b074e4f7d1 100644 --- a/packages/fields-cloudinary-image/src/Implementation.js +++ b/packages/fields-cloudinary-image/src/Implementation.js @@ -70,7 +70,7 @@ class CloudinaryImage extends File.implementation { gqlOutputFieldResolvers() { return { [this.path]: item => { - const itemValues = item[this.path]; + let itemValues = item[this.path]; if (!itemValues) { return null; } diff --git a/packages/fields-cloudinary-image/src/test-fixtures.skip.js b/packages/fields-cloudinary-image/src/test-fixtures.skip.js index 241a2ca10f5..1aa5d3afea1 100644 --- a/packages/fields-cloudinary-image/src/test-fixtures.skip.js +++ b/packages/fields-cloudinary-image/src/test-fixtures.skip.js @@ -1,13 +1,10 @@ -require('dotenv').config({ path: path.resolve(__dirname, '../.env') }); - import fs from 'fs'; import mime from 'mime'; import { Upload } from 'graphql-upload'; import cloudinary from 'cloudinary'; -import { Text } from '@keystone-next/fields-legacy'; -import { CloudinaryAdapter } from '@keystone-next/file-adapters-legacy'; +import { cloudinaryImage } from '@keystone-next/cloudinary'; +import { text } from '@keystone-next/fields'; -import { CloudinaryImage } from './'; const path = require('path'); cloudinary.v2.config({ @@ -28,16 +25,9 @@ const prepareFile = _filePath => { return upload; }; -const cloudinaryAdapter = new CloudinaryAdapter({ - cloudName: process.env.CLOUDINARY_CLOUD_NAME || 'cloudinary_cloud_name', - apiKey: process.env.CLOUDINARY_KEY || 'cloudinary_key', - apiSecret: process.env.CLOUDINARY_SECRET || 'cloudinary_secret', - folder: 'cloudinary-test', -}); - // Configurations export const name = 'CloudinaryImage'; -export const type = CloudinaryImage; +export const typeFunction = cloudinaryImage; export const supportsUnique = false; export const fieldName = 'image'; export const subfieldName = 'originalFilename'; @@ -50,10 +40,24 @@ export const exampleValue2 = () => prepareFile('keystone.jpeg'); export const createReturnedValue = exampleValue().file.filename; export const updateReturnedValue = exampleValue2().file.filename; -export const fieldConfig = () => ({ adapter: cloudinaryAdapter }); +export const fieldConfig = () => ({ + cloudinary: { + cloudName: process.env.CLOUDINARY_CLOUD_NAME || 'cloudinary_cloud_name', + apiKey: process.env.CLOUDINARY_KEY || 'cloudinary_key', + apiSecret: process.env.CLOUDINARY_SECRET || 'cloudinary_secret', + folder: 'cloudinary-test', + }, +}); export const getTestFields = () => ({ - name: { type: Text }, - image: { type, adapter: cloudinaryAdapter }, + name: text(), + image: cloudinaryImage({ + cloudinary: { + cloudName: process.env.CLOUDINARY_CLOUD_NAME || 'cloudinary_cloud_name', + apiKey: process.env.CLOUDINARY_KEY || 'cloudinary_key', + apiSecret: process.env.CLOUDINARY_SECRET || 'cloudinary_secret', + folder: 'cloudinary-test', + }, + }), }); export const initItems = () => [