@websolutespa/payload-plugin-bowl-llm
Version:
LLM plugin for Bowl PayloadCms plugin
57 lines (56 loc) • 1.38 kB
JavaScript
import { isRole, isTenant, roles } from '@websolutespa/payload-plugin-bowl';
import { userUploadHandler } from '../api/userUpload.handler';
import { options } from '../options';
const uploadAccessRead = (args)=>{
if (args.req.user) {
return isRole(roles.Admin)(args) || isTenant(options.slug.llmUserUpload)(args);
}
const token = args.req.query?.t;
if (!token) {
return false;
}
return {
'id': {
equals: token
}
};
};
export const LlmUserUpload = {
type: 'withCollection',
slug: options.slug.llmUserUpload,
admin: {
group: options.group.llm,
defaultColumns: [
'id',
'llmApp',
'filename'
],
listSearchableFields: [
'llmApp',
'filename'
]
},
access: {
create: (args)=>false,
read: (args)=>uploadAccessRead(args),
update: (args)=>false,
delete: (args)=>isRole(roles.Admin)(args)
},
endpoints: [
{
path: '/upload',
method: 'post',
handler: userUploadHandler
}
],
upload: true,
fields: [
{
name: 'llmApp',
type: 'relationship',
relationTo: options.slug.llmApp,
required: true
}
]
};
//# sourceMappingURL=LlmUserUpload.js.map