45 lines
924 B
TypeScript
45 lines
924 B
TypeScript
import type { Core } from '@strapi/strapi';
|
|
|
|
const allowedMediaTypes = [
|
|
'image/*',
|
|
'video/*',
|
|
'audio/*',
|
|
'application/pdf',
|
|
'application/msword',
|
|
'application/vnd.openxmlformats-officedocument.*',
|
|
'text/plain',
|
|
'text/csv',
|
|
];
|
|
|
|
const deniedExecutableTypes = [
|
|
'application/vnd.microsoft.portable-executable',
|
|
'application/x-msdownload',
|
|
'application/x-msdos-program',
|
|
'application/x-executable',
|
|
'application/x-dosexec',
|
|
'application/x-sh',
|
|
'text/x-shellscript',
|
|
'application/x-mach-binary',
|
|
];
|
|
|
|
const config = ({ env }: Core.Config.Shared.ConfigParams): Core.Config.Plugin => ({
|
|
'users-permissions': {
|
|
config: {
|
|
jwtManagement: 'refresh',
|
|
sessions: {
|
|
httpOnly: true,
|
|
},
|
|
},
|
|
},
|
|
upload: {
|
|
config: {
|
|
security: {
|
|
allowedTypes: allowedMediaTypes,
|
|
deniedTypes: deniedExecutableTypes,
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
export default config;
|