diff --git a/backend/src/db/factories.js b/backend/src/db/factories.js index 7ea82f661..ca637a01c 100644 --- a/backend/src/db/factories.js +++ b/backend/src/db/factories.js @@ -49,8 +49,9 @@ Factory.define('badge') Factory.define('image') .attr('url', faker.image.unsplash.imageUrl) - .attr('aspectRatio', 1) + .attr('aspectRatio', 1.0) .attr('alt', faker.lorem.sentence) + .attr('type', 'image/jpeg') .after((buildObject, options) => { const { url: imageUrl } = buildObject if (imageUrl) buildObject.url = uniqueImageUrl(imageUrl) diff --git a/backend/src/models/Image.js b/backend/src/models/Image.js index 19824b493..b46342c18 100644 --- a/backend/src/models/Image.js +++ b/backend/src/models/Image.js @@ -3,5 +3,6 @@ export default { alt: { type: 'string' }, sensitive: { type: 'boolean', default: false }, aspectRatio: { type: 'float', default: 1.0 }, + type: { type: 'string' }, createdAt: { type: 'string', isoDate: true, default: () => new Date().toISOString() }, } diff --git a/backend/src/schema/resolvers/images.js b/backend/src/schema/resolvers/images.js index 8b3f4a3e8..111f84888 100644 --- a/backend/src/schema/resolvers/images.js +++ b/backend/src/schema/resolvers/images.js @@ -2,7 +2,7 @@ import Resolver from './helpers/Resolver' export default { Image: { ...Resolver('Image', { - undefinedToNull: ['sensitive', 'alt', 'aspectRatio'], + undefinedToNull: ['sensitive', 'alt', 'aspectRatio', 'type'], }), }, } diff --git a/backend/src/schema/resolvers/images/images.js b/backend/src/schema/resolvers/images/images.js index 9b57579c4..656ae114a 100644 --- a/backend/src/schema/resolvers/images/images.js +++ b/backend/src/schema/resolvers/images/images.js @@ -53,8 +53,8 @@ export async function mergeImage(resource, relationshipType, imageInput, opts = if (!(existingImage || upload)) throw new UserInputError('Cannot find image for given resource') if (existingImage && upload) deleteImageFile(existingImage, deleteCallback) const url = await uploadImageFile(upload, uploadCallback) - const { alt, sensitive, aspectRatio } = imageInput - const image = { alt, sensitive, aspectRatio, url } + const { alt, sensitive, aspectRatio, type } = imageInput + const image = { alt, sensitive, aspectRatio, url, type } txResult = await transaction.run( ` MATCH (resource {id: $resource.id}) diff --git a/backend/src/schema/types/type/Image.gql b/backend/src/schema/types/type/Image.gql index 41cc11eef..f171a4b77 100644 --- a/backend/src/schema/types/type/Image.gql +++ b/backend/src/schema/types/type/Image.gql @@ -8,6 +8,7 @@ type Image { alt: String, sensitive: Boolean, aspectRatio: Float, + type: String, } input ImageInput { @@ -15,4 +16,5 @@ input ImageInput { upload: Upload, sensitive: Boolean, aspectRatio: Float, + type: String, }