Source index
sanity/schemaTypes/check.ts
import {defineArrayMember, defineField, defineType} from 'sanity'
const strings = (name: string) => defineField({
name, type: 'array', of: [defineArrayMember({type: 'string'})],
validation: (r) => r.required().min(1),
})
export const check = defineType({
name: 'check',
title: 'Suggested manual check',
type: 'document',
fields: [
defineField({name: 'title', type: 'string', validation: (r) => r.required()}),
defineField({name: 'guide', type: 'reference', to: [{type: 'guide'}], validation: (r) => r.required()}),
defineField({name: 'checkType', type: 'string', options: {list: ['manual-review']}, initialValue: 'manual-review', validation: (r) => r.required().custom((value) => value === 'manual-review' || 'Only proposed manual reviews are supported.')}),
defineField({name: 'executionStatus', type: 'string', options: {list: ['notRun']}, initialValue: 'notRun', description: 'These are proposed procedures. No user interface was tested to generate these documents.', validation: (r) => r.required().custom((value) => value === 'notRun' || 'Execution evidence is outside this dataset; use notRun.')}),
strings('procedure'),
strings('expected'),
strings('limitations'),
defineField({name: 'sources', type: 'array', of: [defineArrayMember({type: 'reference', to: [{type: 'source'}]})], validation: (r) => r.required().min(1)}),
],
preview: {select: {title: 'title', subtitle: 'executionStatus'}},
})