33 lines
1.0 KiB
JavaScript
Raw Normal View History

'use strict';
2021-11-03 19:31:57 +01:00
const { yup, validateYupSchema } = require('@strapi/utils');
2021-08-31 15:48:14 +02:00
const constants = require('../services/constants');
const apiTokenCreationSchema = yup
.object()
.shape({
2022-08-08 23:33:39 +02:00
name: yup.string().min(1).required(),
description: yup.string().optional(),
2022-08-08 23:33:39 +02:00
type: yup.string().oneOf(Object.values(constants.API_TOKEN_TYPE)).required(),
permissions: yup.array().of(yup.string()).nullable(),
lifespan: yup.number().min(1).oneOf(Object.values(constants.API_TOKEN_LIFESPANS)).nullable(),
})
2022-08-25 12:01:52 +02:00
.noUnknown()
.strict();
const apiTokenUpdateSchema = yup
.object()
.shape({
2022-08-08 23:33:39 +02:00
name: yup.string().min(1).notNull(),
description: yup.string().nullable(),
2022-08-08 23:33:39 +02:00
type: yup.string().oneOf(Object.values(constants.API_TOKEN_TYPE)).notNull(),
permissions: yup.array().of(yup.string()).nullable(),
})
2022-08-25 12:01:52 +02:00
.noUnknown()
.strict();
module.exports = {
2021-11-03 19:31:57 +01:00
validateApiTokenCreationInput: validateYupSchema(apiTokenCreationSchema),
validateApiTokenUpdateInput: validateYupSchema(apiTokenUpdateSchema),
};