add: working JSON data insert

This commit is contained in:
Dominik Natter
2025-03-27 14:35:44 +01:00
parent 6951e662c9
commit 47dda68f07
6 changed files with 131 additions and 96 deletions

View File

@@ -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) => {