Merge pull request #19 from zschaffer/4-schema-adjustments

#4 Change Schema
This commit is contained in:
Zane Schaffer 2022-07-18 15:10:12 -07:00 committed by GitHub
commit 01497232a7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 89 additions and 93 deletions

View File

@ -9,26 +9,21 @@ export default {
name: 'name',
type: 'string'
},
{
title: 'Description',
name: 'description',
type: 'text'
},
{
title: 'Zane image',
name: 'zane',
type: 'image'
},
{
title: 'Xinrui image',
name: 'xyn',
type: 'image'
},
{
title: 'Description',
name: 'description',
type: 'text'
},
{
title: 'Emotion Image',
name: 'image',
type: 'image'
}
],
preview: {
select: {
title: 'name',
subtitle: 'description'
}
}
preview: {
select: {
title: 'name',
subtitle: 'description'
}
}
};

View File

@ -2,80 +2,71 @@ const ratings = {
title: 'Ratings',
name: 'rating',
type: 'array',
of: [
{
type: 'object', fields: [
of: [
{
title: 'Rater Name',
name: 'name',
type: 'string',
validation: Rule => Rule.required(),
options: {
list: [
{ title: 'Xinrui', value: 'xyn' },
{ title: 'Zane', value: 'zane' }
]
type: 'object',
fields: [
{
title: 'Rater Name',
name: 'name',
type: 'string',
validation: (Rule) => Rule.required(),
options: {
list: [
{ title: 'Xinrui', value: 'xyn' },
{ title: 'Zane', value: 'zane' }
]
}
},
{
title: 'Rating Number',
name: 'rating',
type: 'number',
options: {
list: [
{ title: '⭐', value: 1 },
{ title: '⭐⭐', value: 2 },
{ title: '⭐⭐⭐', value: 3 },
{ title: '⭐⭐⭐⭐', value: 4 },
{ title: '⭐⭐⭐⭐⭐', value: 5 }
]
},
validation: (Rule) => Rule.required()
},
{
title: 'Comments',
name: 'comments',
type: 'text'
},
{
title: 'Emotion',
name: 'emotion',
type: 'reference',
to: [{ type: 'emotion' }],
initialValue: { _ref: '3a9fcf71-2660-4b3e-80da-a4488dd5b3b8' }
}
],
preview: {
select: {
title: 'name',
subtitle: 'slug.current'
}
}
},
{
title: 'Rating Number',
name: 'rating',
type: 'number',
options: {
list: [
{ title: '⭐', value: 1 },
{ title: '⭐⭐', value: 2 },
{ title: '⭐⭐⭐', value: 3 },
{ title: '⭐⭐⭐⭐', value: 4 },
{ title: '⭐⭐⭐⭐⭐', value: 5 }
]
},
validation: Rule => Rule.required()
},
{
title: 'Comments',
name: 'comments',
type: 'text'
},
{
title: 'Rating Slug',
name: 'slug',
type: 'slug',
options: {
source: (doc, {parent}) => {
console.log(doc, parent)
return `${parent.name}_${parent.rating}_${doc.name}_${doc._id.slice(-6)}`}
}
},
{
title: 'Emotion',
name: 'emotion',
type: 'reference',
to: [{type: 'emotion'}]
}
],
preview: {
select: {
title: 'name',
subtitle: 'slug.current'
}
}
}
]
}
]
};
export default {
title: 'Products',
name: 'product',
type: 'document',
description: 'List of all rated products',
preview: {
select: {
title: 'name',
subtitle: 'description'
}
},
preview: {
select: {
title: 'name',
subtitle: 'description'
}
},
fields: [
{
title: 'Name of Product',
@ -83,6 +74,16 @@ export default {
type: 'string',
validation: (Rule) => Rule.required()
},
{
title: 'Manufacturer',
name: 'subname',
type: 'string'
},
{
title: 'Product URL',
name: 'url',
type: 'url'
},
{
title: 'Upload an Image',
name: 'image',
@ -92,18 +93,18 @@ export default {
title: 'Select Tags',
name: 'tags',
type: 'array',
of: [{
type: 'reference',
to: [{type: 'tag'}]
}]
of: [
{
type: 'reference',
to: [{ type: 'tag' }]
}
]
},
{
title: 'Description of Product',
name: 'description',
type: 'text'
},
ratings,
ratings
]
};