31 lines
940 B
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(),
})
.noUnknown();
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-18 12:00:47 +02:00
lastUsed: yup.date().nullable(),
})
.noUnknown();
module.exports = {
2021-11-03 19:31:57 +01:00
validateApiTokenCreationInput: validateYupSchema(apiTokenCreationSchema),
validateApiTokenUpdateInput: validateYupSchema(apiTokenUpdateSchema),
};