2021-09-24 12:05:40 +02:00

54 lines
1.2 KiB
JavaScript

'use strict';
const { yup, formatYupErrors } = require('@strapi/utils');
const constants = require('../services/constants');
const handleReject = error => Promise.reject(formatYupErrors(error));
const apiTokenCreationSchema = yup
.object()
.shape({
name: yup
.string()
.min(1)
.required(),
description: yup.string().optional(),
type: yup
.string()
.oneOf(Object.values(constants.API_TOKEN_TYPE))
.required(),
})
.noUnknown();
const validateApiTokenCreationInput = async data => {
return apiTokenCreationSchema
.validate(data, { strict: true, abortEarly: false })
.catch(handleReject);
};
const apiTokenUpdateSchema = yup
.object()
.shape({
name: yup
.string()
.min(1)
.notNull(),
description: yup.string().nullable(),
type: yup
.string()
.oneOf(Object.values(constants.API_TOKEN_TYPE))
.notNull(),
})
.noUnknown();
const validateApiTokenUpdateInput = async data => {
return apiTokenUpdateSchema
.validate(data, { strict: true, abortEarly: false })
.catch(handleReject);
};
module.exports = {
validateApiTokenCreationInput,
validateApiTokenUpdateInput,
};