This repository has been archived on 2024-02-11. You can view files and clone it, but cannot push or open issues or pull requests.
Files
restful-api-task/repositories/schema.js
2021-10-15 02:00:40 +03:00

25 lines
930 B
JavaScript

import { object, boolean, date, number, string } from 'yup'
export const webFields = { title: null, category: null, archive: null, content: null }
export const idOnlySchema = number().integer().positive().min(1).max(1024).required()
const initialSchema = {
updated_at: string().nullable().default(null),
created_at: date().default(() => new Date()),
content: string().ensure().max(1024),
archive: boolean().nullable().default(false),
category: string().matches(/^(random_thought|idea|task|quote)$/).required(),
title: string().trim().min(1).max(127).required(),
id: string().nullable().default(null),
}
/**
* Combine exportable schemas using previously created chunks along with adding a new ones dynamically
*/
export const newNoteSchema = object(initialSchema)
initialSchema.id = idOnlySchema
initialSchema.updated_at = date().default(() => new Date())
export const updateNoteSchema = object(initialSchema)