add: working JSON data insert
This commit is contained in:
@@ -1,8 +1,5 @@
|
||||
import type { CollectionConfig } from "payload";
|
||||
|
||||
|
||||
|
||||
|
||||
export const Papers: CollectionConfig = {
|
||||
slug: "papers",
|
||||
labels: {
|
||||
@@ -18,49 +15,61 @@ export const Papers: CollectionConfig = {
|
||||
if (!user || !id) return false; // Explicitly handle missing ID
|
||||
|
||||
const paper = await payload.findByID({
|
||||
collection: 'papers',
|
||||
collection: "papers",
|
||||
id,
|
||||
depth: 1,
|
||||
});
|
||||
|
||||
if (!paper) return false;
|
||||
|
||||
return paper.authors.some((author: any) => author.user.id === user.id);
|
||||
return paper.authors.some((author: any) => author.user.name === user.name);
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
admin: {
|
||||
useAsTitle: "title",
|
||||
},
|
||||
fields: [
|
||||
{
|
||||
name: "published",
|
||||
type: "checkbox",
|
||||
defaultValue: false,
|
||||
label: "Veröffentlicht",
|
||||
access: {
|
||||
update: ({ req: { user } }) => Boolean(user?.type === "admin"),
|
||||
}
|
||||
},
|
||||
{
|
||||
name: "title",
|
||||
type: "text",
|
||||
required: true,
|
||||
unique: true,
|
||||
},
|
||||
{
|
||||
name: "department",
|
||||
type: "select",
|
||||
options: [
|
||||
{ label: "WI", value: "WI" },
|
||||
{ label: "CI", value: "CI" },
|
||||
{ label: "MD", value: "MD" },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "year",
|
||||
type: "text",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "issue",
|
||||
label: "Problemstellung",
|
||||
type: "textarea",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "goal",
|
||||
label: "Zielsetzung",
|
||||
type: "textarea",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "result",
|
||||
label: "Ergebnis",
|
||||
type: "textarea",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "technologies",
|
||||
@@ -75,7 +84,6 @@ export const Papers: CollectionConfig = {
|
||||
{
|
||||
name: "description",
|
||||
type: "text",
|
||||
required: true,
|
||||
admin: {
|
||||
placeholder: "... wurde für das Frontend verwendet",
|
||||
},
|
||||
@@ -90,32 +98,26 @@ export const Papers: CollectionConfig = {
|
||||
name: "image",
|
||||
type: "upload",
|
||||
relationTo: "media",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "description",
|
||||
type: "text",
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
name: "mentor",
|
||||
type: "text",
|
||||
label: "Betreuer",
|
||||
},
|
||||
{
|
||||
name: "authors",
|
||||
type: "array",
|
||||
label: "Projektmitglieder",
|
||||
required: true,
|
||||
fields: [
|
||||
{
|
||||
name: "profilePicture",
|
||||
type: "upload",
|
||||
relationTo: "media",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
name: "user",
|
||||
type: "relationship",
|
||||
relationTo: "users",
|
||||
name: "name",
|
||||
type: "text",
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
@@ -136,7 +138,6 @@ export const Papers: CollectionConfig = {
|
||||
{
|
||||
name: "description",
|
||||
type: "text",
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
validate: (authors) => {
|
||||
|
||||
Reference in New Issue
Block a user