2024-07-13 19:03:21 +02:00

42 lines
1.3 KiB
TypeScript

import { CollectionConfig } from "payload/types";
import { backPropagationField } from "../../fields/backPropagationField/backPropagationField";
import { rowField } from "../../fields/rowField/rowField";
import { buildCollectionConfig } from "../../utils/collectionConfig";
import { Collections, CollectionGroups } from "../../shared/payload/constants";
const fields = {
url: "url",
title: "title",
subscribers: "subscribers",
videos: "videos",
} as const satisfies Record<string, string>;
export const VideosChannels: CollectionConfig = buildCollectionConfig({
slug: Collections.VideosChannels,
labels: {
singular: "Videos Channel",
plural: "Videos Channels",
},
defaultSort: fields.title,
admin: {
useAsTitle: fields.title,
defaultColumns: [fields.url, fields.title, fields.subscribers, fields.videos],
group: CollectionGroups.Media,
disableDuplicate: true,
},
timestamps: false,
fields: [
{ name: fields.url, type: "text", required: true, unique: true },
rowField([
{ name: fields.title, type: "text", required: true },
{ name: fields.subscribers, type: "number", required: true },
]),
backPropagationField({
name: fields.videos,
relationTo: Collections.Videos,
hasMany: true,
where: ({ id }) => ({ "platform.channel": { equals: id } }),
}),
],
});