mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 01:47:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const { yup, validateYupSchema } = require('@strapi/utils');
 | |
| const constants = require('../services/constants');
 | |
| 
 | |
| 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(),
 | |
|     permissions: yup.array().of(yup.string()).nullable(),
 | |
|     lifespan: yup
 | |
|       .number()
 | |
|       .integer()
 | |
|       .min(1)
 | |
|       .oneOf(Object.values(constants.API_TOKEN_LIFESPANS))
 | |
|       .nullable(),
 | |
|   })
 | |
|   .noUnknown()
 | |
|   .strict();
 | |
| 
 | |
| 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(),
 | |
|     permissions: yup.array().of(yup.string()).nullable(),
 | |
|     lifespan: yup
 | |
|       .number()
 | |
|       .integer()
 | |
|       .min(1)
 | |
|       .oneOf(Object.values(constants.API_TOKEN_LIFESPANS))
 | |
|       .nullable(),
 | |
|   })
 | |
|   .noUnknown()
 | |
|   .strict();
 | |
| 
 | |
| module.exports = {
 | |
|   validateApiTokenCreationInput: validateYupSchema(apiTokenCreationSchema),
 | |
|   validateApiTokenUpdateInput: validateYupSchema(apiTokenUpdateSchema),
 | |
| };
 | 
