{"version":3,"sources":["jsdelivr-header.js","/npm/landing-page-builder@1.4.566/dist/index.js"],"names":[],"mappings":"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","file":"/npm/landing-page-builder@1.4.566/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/landing-page-builder@1.4.566/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst createCollection_1 = __importDefault(require(\"./createCollection\"));\nconst ListViewPreviewButton_1 = require(\"./components/ListViewPreviewButton\");\nconst landingPageService_1 = require(\"./services/landingPageService\");\nconst metaDataService_1 = require(\"./services/metaDataService\");\nconst metaDataServiceForPageHistory_1 = require(\"./services/metaDataServiceForPageHistory\");\nconst axios_1 = __importDefault(require(\"axios\"));\nconst form_data_1 = __importDefault(require(\"form-data\"));\nconst turndown_1 = __importDefault(require(\"turndown\"));\nconst templateService_1 = require(\"./services/templateService\");\nconst MetaDataJSON_1 = require(\"./repository/MetaDataJSON\");\nconst Components_1 = require(\"custom-re-usable-components/dist/Components\");\nconst payload_1 = __importDefault(require(\"payload\"));\nconst LeadsContactInfo_1 = require(\"./components/LeadsContactInfo/LeadsContactInfo\");\nconst uuid_1 = require(\"uuid\");\nconst createLandingPages = (pluginConfig) => (incomingConfig) => ({\n    ...incomingConfig,\n    collections: [\n        ...(incomingConfig?.collections || []),\n        //LandingPage Collection\n        (0, createCollection_1.default)({\n            slug: \"landingPage\",\n            admin: {\n                useAsTitle: \"PageTitle\",\n                defaultColumns: [\"pageTitle\", \"state\", \"createdAt\", \"id\"],\n                listSearchableFields: ['pageTitle']\n            },\n            access: {\n                create: ({ req }) => {\n                    const { user } = req;\n                    if (user?.role === \"admin\") {\n                        return true;\n                    }\n                    return false;\n                },\n                read: () => true,\n                update: ({ req }) => {\n                    const { user } = req;\n                    if (user?.role === \"admin\") {\n                        return true;\n                    }\n                    return {\n                        or: [\n                            { pageTitle: { equals: \"gallery-te\" } },\n                            { pageTitle: { equals: \"gallery-en\" } },\n                        ],\n                    };\n                },\n                delete: ({ req }) => {\n                    const { user } = req;\n                    if (user?.role === \"admin\") {\n                        return true;\n                    }\n                    return false;\n                },\n            },\n            fields: [\n                {\n                    name: \"id\",\n                    type: \"text\",\n                    required: true,\n                    label: \"ID\",\n                },\n                {\n                    name: \"pageTitle\",\n                    type: \"text\",\n                    label: \"Page title\",\n                    unique: true,\n                    required: true,\n                },\n                {\n                    name: \"styles\",\n                    type: \"text\",\n                    required: true,\n                    label: \"Styles\",\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"scripts\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Scripts\",\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"data\",\n                    type: \"array\",\n                    fields: [\n                        {\n                            name: \"id\",\n                            type: \"text\",\n                            required: false,\n                        },\n                        {\n                            name: \"textvalue\",\n                            type: \"text\",\n                            required: false,\n                        },\n                    ],\n                    label: \"Data\",\n                },\n                {\n                    name: \"metaData\",\n                    type: \"text\",\n                    required: true,\n                    label: \"Meta Data\",\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"tracking\",\n                    type: \"array\",\n                    required: false,\n                    label: \"tracking\",\n                    fields: [\n                        {\n                            name: \"label\",\n                            type: \"text\",\n                            required: false,\n                        },\n                        {\n                            name: \"value\",\n                            type: \"text\",\n                            required: false,\n                        },\n                    ],\n                },\n                {\n                    name: \"tags\",\n                    type: \"array\",\n                    required: false,\n                    label: \"tags\",\n                    fields: [\n                        {\n                            name: \"label\",\n                            type: \"text\",\n                            required: false,\n                        },\n                        {\n                            name: \"value\",\n                            type: \"text\",\n                            required: false,\n                        },\n                    ],\n                },\n                {\n                    name: \"state\",\n                    type: \"select\",\n                    options: [\n                        {\n                            label: \"DRAFT\",\n                            value: \"DRAFT\",\n                        },\n                        {\n                            label: \"PUBLISHED\",\n                            value: \"PUBLISHED\",\n                        },\n                    ],\n                },\n                {\n                    name: \"title\",\n                    type: \"text\",\n                    label: \"Title\",\n                },\n                {\n                    name: \"heading\",\n                    type: \"text\",\n                    label: \"Title Heading\",\n                },\n                {\n                    name: \"headingDescription\",\n                    type: \"textarea\",\n                    label: \"Description Heading\",\n                },\n                {\n                    name: \"subHeading\",\n                    type: \"text\",\n                    label: \"Title subHeading\",\n                },\n                {\n                    name: \"subHeadingDescription\",\n                    type: \"textarea\",\n                    label: \"Description subHeading\",\n                },\n                {\n                    name: \"theme\",\n                    type: \"text\",\n                    label: \"Theme\",\n                    defaultValue: \"light\",\n                },\n                {\n                    name: \"preview\",\n                    type: \"ui\",\n                    admin: {\n                        components: {\n                            Field: ListViewPreviewButton_1.ListViewPreviewButton,\n                            Cell: ListViewPreviewButton_1.ListViewPreviewButton,\n                        },\n                    },\n                },\n                {\n                    name: \"headerMenu\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Header Menu\",\n                },\n                {\n                    name: \"collectionName\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Collection Name\",\n                },\n                {\n                    name: \"hashTags\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Hash Tags\",\n                },\n                {\n                    name: \"hasSeries\",\n                    type: \"checkbox\",\n                    required: false,\n                    defaultValue: false,\n                    label: \"Has Series\",\n                },\n                {\n                    name: \"seriesTag\",\n                    type: \"text\",\n                    required: false,\n                    // TODO: Check Relevance\n                    // admin: {\n                    //     condition: (_, siblingData) =>\n                    //         siblingData?.seriesTag === true,\n                    // },\n                    label: \"Series Tags\",\n                },\n                {\n                    name: \"seriesNumber\",\n                    type: \"number\",\n                    required: false,\n                    label: \"Series Number\",\n                },\n                {\n                    name: \"thumbNail\",\n                    type: \"text\",\n                    required: false,\n                    label: \"ThumbNail Image\",\n                },\n                {\n                    name: \"thumbNailLabel\",\n                    type: \"text\",\n                    required: false,\n                    label: \"ThumbNail Label\",\n                },\n                {\n                    name: \"thumbNailDescription\",\n                    type: \"text\",\n                    required: false,\n                    label: \"ThumbNail Description\",\n                },\n                {\n                    name: \"relatedBlogTags\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Related blog Tags\",\n                },\n                {\n                    name: \"sortOrder\",\n                    type: \"number\",\n                    label: \"Sort Order\",\n                    admin: {\n                        readOnly: true, // Optional: to make sure this field isn't edited manually\n                    },\n                },\n            ],\n            endpoints: [\n                {\n                    path: \"/upload-data\",\n                    method: \"post\",\n                    handler: async (req, res) => {\n                        try {\n                            const { id, metaData, styles, theme, tags, pageTitle, title, heading, headingDescription, subHeading, subHeadingDescription, headerMenu, collectionName, hashTags, hasSeries, seriesTag, seriesNumber, thumbNail, thumbNailLabel, thumbNailDescription, data, scripts, } = req.body;\n                            const pageLists = await (0, MetaDataJSON_1.getAllMetaData)();\n                            const isExists = pageLists.docs.find((t) => t.pageTitle === pageTitle);\n                            if (isExists) {\n                                res.status(500).json({\n                                    error: \"A page with this name already exists\",\n                                });\n                            }\n                            else {\n                                const response = await metaDataService_1.metaDataService.addMetaData(id, metaData, styles, theme, tags, pageTitle, title, heading, headingDescription, subHeading, subHeadingDescription, headerMenu, collectionName, hashTags, hasSeries, seriesTag, seriesNumber, thumbNail, thumbNailLabel, thumbNailDescription, data, scripts);\n                                res.status(200).send(response);\n                            }\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/mapped-pages\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        try {\n                            const response = await metaDataService_1.metaDataService.getAllMappedMetaData();\n                            res.status(200).send(response);\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/page\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        try {\n                            const { pageTitle } = req.query;\n                            if (!pageTitle) {\n                                throw new Error(pageTitle);\n                            }\n                            const response = await landingPageService_1.landingPageService.getLandingPage(pageTitle);\n                            res.status(200).send(response);\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/page-by-id\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        try {\n                            const { pageId } = req.query;\n                            if (!pageId) {\n                                throw new Error(pageId);\n                            }\n                            const response = await landingPageService_1.landingPageService.getLandingPageById(pageId);\n                            res.status(200).send(response);\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/import-medium\",\n                    method: \"post\",\n                    handler: async (req, res) => {\n                        try {\n                            const { pageTitle } = req.query;\n                            if (!pageTitle) {\n                                throw new Error(pageTitle);\n                            }\n                            const response = await landingPageService_1.landingPageService.getLandingPage(pageTitle);\n                            const reConstructedHTML = await (0, Components_1.generateReactElements)(response.docs.metaData, response.docs.data);\n                            const requestBody = {\n                                title: response.docs.pageTitle,\n                                contentFormat: \"html\",\n                                content: reConstructedHTML,\n                                tags: [\"enlume\", \"design\"],\n                                publishStatus: \"draft\",\n                            };\n                            const headers = {\n                                Authorization: `Bearer ${process.env.PAYLOAD_PUBLIC_}`,\n                                \"Content-Type\": \"application/json\",\n                                Accept: \"application/json\",\n                                \"Accept-Charset\": \"utf-8\",\n                            };\n                            //@ts-expect-error: work around, fix coming soon\n                            await axios_1.default.post(url, requestBody, {\n                                headers,\n                            });\n                            // Send a success response\n                            res.status(200).send({\n                                message: \"Post created successfully\",\n                            });\n                        }\n                        catch (error) {\n                            // Send an error response\n                            res.status(500).send({\n                                // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                                //@ts-ignore\n                                error: error.message,\n                            });\n                        }\n                    },\n                },\n                {\n                    path: \"/get-all-blogs\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        const { searchText, page, collectionName } = req.query;\n                        try {\n                            const blogs = await landingPageService_1.landingPageService.getAllBlogs(\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            //@ts-ignore\n                            searchText, page, collectionName);\n                            res.status(200).send(blogs);\n                        }\n                        catch (error) {\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            //@ts-ignore\n                            // res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/get-all-stories\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        const { searchText, page, collectionName } = req.query;\n                        try {\n                            const stories = await landingPageService_1.landingPageService.getAllStories(\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            //@ts-ignore\n                            );\n                            res.status(200).send(stories);\n                        }\n                        catch (error) {\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            //@ts-ignore\n                            // res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/get-blogs-for-prerender\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        try {\n                            const blogs = await landingPageService_1.landingPageService.getBlogsForPrerender();\n                            res.status(200).send(blogs);\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/recommended-blogs\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        try {\n                            const { pageTitle } = req.query;\n                            const blogs = await payload_1.default.find({\n                                collection: \"landingPage\",\n                                where: {\n                                    and: [\n                                        {\n                                            collectionName: {\n                                                equals: \"Blogs\",\n                                            },\n                                        },\n                                        {\n                                            state: {\n                                                equals: \"PUBLISHED\",\n                                            },\n                                        },\n                                    ],\n                                },\n                                limit: 1000,\n                            });\n                            const blogItem = await payload_1.default.find({\n                                collection: \"landingPage\",\n                                where: {\n                                    pageTitle: {\n                                        equals: `${pageTitle}`,\n                                    },\n                                },\n                            });\n                            const currentBlogSeriesTag = blogItem.docs[0].seriesTag;\n                            const blogSeriesData = blogs.docs.filter((blog) => blog.seriesTag && blog.seriesTag === currentBlogSeriesTag);\n                            const blogSeriesDataIds = blogSeriesData.map((i) => i.pageTitle);\n                            const totalBlogsInSeries = blogSeriesDataIds.length;\n                            const consolidatedBlogIds = [];\n                            const result = [];\n                            const findIndexBySeriesNumber = (array, seriesNumber) => {\n                                return array.findIndex((item) => item.seriesNumber ===\n                                    seriesNumber);\n                            };\n                            const circularTraversal = (array, startIndex) => {\n                                const result = [];\n                                let currentIndex = startIndex % array.length;\n                                for (let i = 0; i < array.length; i++) {\n                                    result.push(array[currentIndex]);\n                                    currentIndex =\n                                        (currentIndex + 1) %\n                                            array.length;\n                                }\n                                return result;\n                            };\n                            const blog = blogs.docs.find((item) => item.pageTitle === pageTitle);\n                            const seriesNumber = blog.seriesNumber;\n                            let relatedTags = [];\n                            if (blog.relatedBlogTags) {\n                                relatedTags = blog.relatedBlogTags\n                                    .split(\",\")\n                                    .map((tag) => tag.trim().toLowerCase())\n                                    .filter((tag) => tag);\n                            }\n                            const blogsData = blogs.docs;\n                            const seriesBlogsData = blogsData.filter((item) => blogSeriesDataIds.includes(item.pageTitle));\n                            const blogSeriesSortedData = seriesBlogsData.sort((a, b) => a.seriesNumber - b.seriesNumber);\n                            switch (true) {\n                                case totalBlogsInSeries >= 5:\n                                    let firstIndex = findIndexBySeriesNumber(blogSeriesSortedData, seriesNumber);\n                                    const sortedDataSeries = circularTraversal(blogSeriesSortedData, firstIndex);\n                                    sortedDataSeries.map((item, index) => {\n                                        if (item.pageTitle !==\n                                            pageTitle &&\n                                            result.length < 4) {\n                                            result.push(item);\n                                        }\n                                    });\n                                    break;\n                                case totalBlogsInSeries < 5:\n                                    let startIndex = findIndexBySeriesNumber(blogSeriesSortedData, seriesNumber);\n                                    const sortedSeriesData = circularTraversal(blogSeriesSortedData, startIndex);\n                                    sortedSeriesData.map((item, index) => {\n                                        if (item.pageTitle !==\n                                            pageTitle &&\n                                            result.length < 4) {\n                                            if (!result.includes(item)) {\n                                                result.push(item);\n                                            }\n                                            consolidatedBlogIds.push(item.pageTitle);\n                                        }\n                                    });\n                                    blogsData.map((item, index) => {\n                                        if (item.relatedBlogTags !==\n                                            undefined) {\n                                            const relatedBlogKeys = item?.relatedBlogTags.split(\",\")\n                                                .map((tag) => tag.trim().toLowerCase())\n                                                .filter((tag) => tag);\n                                            if (relatedBlogKeys.length >\n                                                0) {\n                                                relatedBlogKeys.map((tag, tagIndex) => {\n                                                    if (item.pageTitle !==\n                                                        pageTitle &&\n                                                        relatedTags.includes(tag) &&\n                                                        result.length <\n                                                            4 &&\n                                                        !consolidatedBlogIds?.includes(item.id)) {\n                                                        if (!result.includes(item)) {\n                                                            result.push(item);\n                                                        }\n                                                        consolidatedBlogIds.push(item.id);\n                                                    }\n                                                });\n                                            }\n                                        }\n                                    });\n                                    blogsData.map((item, index) => {\n                                        if (item.pageTitle !==\n                                            pageTitle &&\n                                            relatedTags?.length >= 0 &&\n                                            !consolidatedBlogIds?.includes(item.pageTitle) &&\n                                            result.length < 4) {\n                                            if (!result.includes(item)) {\n                                                result.push(item);\n                                            }\n                                            consolidatedBlogIds.push(item.pageTitle);\n                                        }\n                                    });\n                                    break;\n                            }\n                            res.status(200).send({\n                                relatedBlogs: result,\n                            });\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/import-dev-community\",\n                    method: \"post\",\n                    handler: async (req, res) => {\n                        const { html, title } = req.body;\n                        try {\n                            const DEVToken = process.env.PAYLOAD_PUBLIC_DEVTOKEN;\n                            const url = `https://dev.to/api/articles`;\n                            const headers = {\n                                Accept: \"application/vnd.forem.api-v1+json\",\n                                \"api-key\": DEVToken,\n                            };\n                            const turndownService = new turndown_1.default();\n                            const markdown = turndownService.turndown(html);\n                            const article = {\n                                title,\n                                body_markdown: markdown,\n                                published: true,\n                                description: \"Test\",\n                                tags: \"development\",\n                            };\n                            const response = await axios_1.default.post(url, { article }, {\n                                headers,\n                            });\n                            res.status(200).send({\n                                message: response.data,\n                            });\n                        }\n                        catch (error) {\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            //@ts-ignore\n                            // res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/upload-medium-images\",\n                    method: \"post\",\n                    handler: async (req) => {\n                        const { value } = req.body;\n                        // const formData = new FormData();\n                        // formData.append(\"image\", v as Blob, \"logo.jpeg\");\n                        try {\n                            const token = \"2b6e8e9de46ddb6612330fd06329a3218c4935f5c1d539f33d8a572ddedd75358\";\n                            // const config = {\n                            //   headers: {\n                            //     Authorization: `Bearer ${token}`,\n                            //     \"Content-Type\": \"multipart/form-data\",\n                            //     Accept: \"application/json\",\n                            //   },\n                            // };\n                            // // const buffer = Buffer.from(value, \"base64\");\n                            // const response = await axios.post(url, formData, config);\n                            // res.status(200).send({ message: response.data });\n                            const form = new form_data_1.default();\n                            // Append the base64 image data to the form data\n                            form.append(\"image\", Buffer.from(value, \"base64\"), {\n                                filename: \"filename.png\",\n                                contentType: \"image/png\",\n                            });\n                            // Define the request headers\n                            const headers = {\n                                Authorization: `Bearer ${token}`,\n                                \"Content-Type\": `multipart/form-data; boundary=${form.getBoundary()}`,\n                                Accept: \"application/json\",\n                                \"Accept-Charset\": \"utf-8\",\n                                ...form.getHeaders(),\n                            };\n                            // Define the API endpoint URL\n                            const apiUrl = \"https://api.medium.com/v1/images\";\n                            // Make the POST request\n                            await axios_1.default\n                                .post(apiUrl, form, { headers })\n                                .then(() => {\n                                // Handle the API response here\n                            })\n                                .catch((error) => {\n                                // Handle any errors here\n                                console.error(\"API Error:\", error);\n                            });\n                        }\n                        catch (error) {\n                            // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n                            //@ts-ignore\n                            console.error(error.message);\n                        }\n                    },\n                },\n                {\n                    path: \"/\",\n                    method: \"delete\",\n                    handler: async (req, res) => {\n                        try {\n                            const decodedUrl = decodeURIComponent(req.url);\n                            const uuidRegex = /[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}/g;\n                            const ids = decodedUrl.match(uuidRegex);\n                            const header = await landingPageService_1.landingPageService.findGlobals(\"headerMenu\");\n                            ids?.map(async (id) => {\n                                const record = await landingPageService_1.landingPageService.findPage(id);\n                                const title = record.pageTitle;\n                                await header.headerLinks.map((item) => {\n                                    if (item.subMenu.blocks\n                                        .length !== 0) {\n                                        item.subMenu.blocks.map((i, index) => {\n                                            if (i.link.label ===\n                                                title) {\n                                                item.subMenu.blocks.splice(index, 1);\n                                            }\n                                        });\n                                    }\n                                });\n                                await landingPageService_1.landingPageService.updateGlobals(\"headerMenu\", header);\n                                await landingPageService_1.landingPageService.deleteLandingPage(\"landingPage\", id);\n                                await landingPageService_1.landingPageService.deleteHistoryPage(\"pageHistory\", title);\n                                await landingPageService_1.landingPageService.deleteBlogPage(\"Blog\", title);\n                            });\n                            res.status(200).send({\n                                message: \"Content deleted successfully!\",\n                            });\n                        }\n                        catch (error) {\n                            res.status(500).send({\n                                error: error,\n                            });\n                        }\n                    },\n                },\n                {\n                    path: \"/get-collection-name\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        try {\n                            const { pageTitle } = req.query;\n                            const blogItem = await payload_1.default.find({\n                                collection: \"landingPage\",\n                                where: {\n                                    pageTitle: {\n                                        equals: `${pageTitle}`,\n                                    },\n                                },\n                            });\n                            const collectionName = blogItem.docs[0].collectionName;\n                            res.status(200).send({\n                                collectionName: collectionName,\n                            });\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n            ],\n        }, pluginConfig?.overrides || {}),\n        //Template Collection\n        (0, createCollection_1.default)({\n            admin: {\n                defaultColumns: [\"from\", \"to.type\", \"createdAt\"],\n                hidden: ({ user }) => {\n                    return user?.role !== \"admin\";\n                },\n            },\n            slug: \"templates\",\n            fields: [\n                {\n                    name: \"template\",\n                    type: \"text\",\n                    label: \"Template\",\n                    required: true,\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"style\",\n                    type: \"text\",\n                    label: \"CSS Styles\",\n                    required: true,\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"scripts\",\n                    type: \"text\",\n                    label: \"Scripts\",\n                    required: false,\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"imageUrl\",\n                    type: \"text\",\n                    label: \"Image\",\n                    required: true,\n                },\n                {\n                    name: \"data\",\n                    type: \"array\",\n                    fields: [\n                        {\n                            name: \"id\",\n                            type: \"text\",\n                            required: false,\n                        },\n                        {\n                            name: \"textvalue\",\n                            type: \"text\",\n                            required: false,\n                        },\n                    ],\n                    label: \"Data\",\n                    required: false,\n                },\n            ],\n            endpoints: [\n                {\n                    path: \"/upload-data\",\n                    method: \"post\",\n                    handler: async (req, res) => {\n                        try {\n                            const { template, styles, scripts, imageUrl, data, } = req.body;\n                            const response = await templateService_1.templateService.addTemplate(template, styles, scripts, imageUrl, data);\n                            res.status(200).send(response);\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n            ],\n        }, pluginConfig?.overrides || {}),\n        //PageHistory Collection\n        (0, createCollection_1.default)({\n            slug: \"pageHistory\",\n            admin: {\n                defaultColumns: [\"from\", \"to.type\", \"createdAt\"],\n                hidden: ({ user }) => {\n                    return user?.role !== \"admin\";\n                },\n            },\n            access: {\n                create: ({ req }) => {\n                    const { user } = req;\n                    if (user?.role === \"admin\") {\n                        return true;\n                    }\n                    return false;\n                },\n                read: () => true,\n                update: ({ req }) => {\n                    const { user } = req;\n                    if (user?.role === \"admin\") {\n                        return true;\n                    }\n                    return {\n                        or: [\n                            { pageTitle: { equals: \"gallery-te\" } },\n                            { pageTitle: { equals: \"gallery-en\" } },\n                        ],\n                    };\n                },\n                delete: ({ req }) => {\n                    const { user } = req;\n                    if (user?.role === \"admin\") {\n                        return true;\n                    }\n                    return false;\n                },\n            },\n            fields: [\n                {\n                    name: \"id\",\n                    type: \"text\",\n                    required: true,\n                    label: \"ID\",\n                },\n                {\n                    name: \"pageTitle\",\n                    type: \"text\",\n                    label: \"Page title\",\n                },\n                {\n                    name: \"styles\",\n                    type: \"text\",\n                    required: true,\n                    label: \"Styles\",\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"scripts\",\n                    type: \"text\",\n                    label: \"Scripts\",\n                    required: false,\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"data\",\n                    type: \"array\",\n                    fields: [\n                        {\n                            name: \"id\",\n                            type: \"text\",\n                            required: false,\n                        },\n                        {\n                            name: \"textvalue\",\n                            type: \"text\",\n                            required: false,\n                        },\n                    ],\n                    label: \"Data\",\n                },\n                {\n                    name: \"metaData\",\n                    type: \"text\",\n                    required: true,\n                    label: \"Meta Data\",\n                    maxLength: 16000000,\n                },\n                {\n                    name: \"tracking\",\n                    type: \"array\",\n                    required: false,\n                    label: \"tracking\",\n                    fields: [\n                        {\n                            name: \"label\",\n                            type: \"text\",\n                            required: false,\n                        },\n                        {\n                            name: \"value\",\n                            type: \"text\",\n                            required: false,\n                        },\n                    ],\n                },\n                {\n                    name: \"tags\",\n                    type: \"array\",\n                    required: false,\n                    label: \"tags\",\n                    fields: [\n                        {\n                            name: \"label\",\n                            type: \"text\",\n                            required: false,\n                        },\n                        {\n                            name: \"value\",\n                            type: \"text\",\n                            required: false,\n                        },\n                    ],\n                },\n                {\n                    name: \"state\",\n                    type: \"select\",\n                    options: [\n                        {\n                            label: \"DRAFT\",\n                            value: \"DRAFT\",\n                        },\n                        {\n                            label: \"PUBLISHED\",\n                            value: \"PUBLISHED\",\n                        },\n                    ],\n                },\n                {\n                    name: \"title\",\n                    type: \"text\",\n                    label: \"Title\",\n                },\n                {\n                    name: \"heading\",\n                    type: \"text\",\n                    label: \"Title Heading\",\n                },\n                {\n                    name: \"headingDescription\",\n                    type: \"textarea\",\n                    label: \"Description Heading\",\n                },\n                {\n                    name: \"subHeading\",\n                    type: \"text\",\n                    label: \"Title subHeading\",\n                },\n                {\n                    name: \"subHeadingDescription\",\n                    type: \"textarea\",\n                    label: \"Description subHeading\",\n                },\n                {\n                    name: \"theme\",\n                    type: \"text\",\n                    label: \"Theme\",\n                    defaultValue: \"light\",\n                },\n                // {\n                //     name: \"preview\",\n                //     type: \"ui\",\n                //     admin: {\n                //         components: {\n                //             Field: ListViewPreviewButton,\n                //             Cell: ListViewPreviewButton,\n                //         },\n                //     },\n                // },\n                {\n                    name: \"headerMenu\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Header Menu\",\n                },\n                {\n                    name: \"collectionName\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Collection Name\",\n                },\n                {\n                    name: \"hashTags\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Hash Tags\",\n                },\n                {\n                    name: \"hasSeries\",\n                    type: \"checkbox\",\n                    required: false,\n                    defaultValue: false,\n                    label: \"Has Series\",\n                },\n                {\n                    name: \"seriesTag\",\n                    type: \"text\",\n                    required: false,\n                    // TODO: Check Relevance\n                    // admin: {\n                    //     condition: (_, siblingData) =>\n                    //         siblingData?.seriesTag === true,\n                    // },\n                    label: \"Series Tags\",\n                },\n                {\n                    name: \"seriesNumber\",\n                    type: \"number\",\n                    required: false,\n                    label: \"Series Number\",\n                },\n                {\n                    name: \"thumbNail\",\n                    type: \"text\",\n                    required: false,\n                    label: \"ThumbNail Image\",\n                },\n                {\n                    name: \"thumbNailLabel\",\n                    type: \"text\",\n                    required: false,\n                    label: \"ThumbNail Label\",\n                },\n                {\n                    name: \"thumbNailDescription\",\n                    type: \"text\",\n                    required: false,\n                    label: \"ThumbNail Description\",\n                },\n                {\n                    name: \"relatedBlogTags\",\n                    type: \"text\",\n                    required: false,\n                    label: \"Related blog Tags\",\n                },\n            ],\n            endpoints: [\n                {\n                    path: \"/upload-data\",\n                    method: \"post\",\n                    handler: async (req, res) => {\n                        try {\n                            const { id, metaData, styles, theme, tags, pageTitle, title, heading, headingDescription, subHeading, subHeadingDescription, headerMenu, collectionName, hashTags, hasSeries, seriesTag, seriesNumber, thumbNail, thumbNailLabel, thumbNailDescription, data, scripts, } = req.body;\n                            const pageLists = await (0, MetaDataJSON_1.getAllMetaDataForPageHistrory)();\n                            const isExists = pageLists.docs.find((t) => t.pageTitle === pageTitle);\n                            if (isExists) {\n                                res.status(500).json({\n                                    error: \"A page with this name already exists\",\n                                });\n                            }\n                            else {\n                                const response = await metaDataServiceForPageHistory_1.metaDataServiceForPageHistory.addMetaData(id, metaData, styles, theme, tags, pageTitle, title, heading, headingDescription, subHeading, subHeadingDescription, headerMenu, collectionName, hashTags, hasSeries, seriesTag, seriesNumber, thumbNail, thumbNailLabel, thumbNailDescription, data, scripts);\n                                res.status(200).send(response);\n                            }\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n                {\n                    path: \"/pages-by-title\",\n                    method: \"get\",\n                    handler: async (req, res) => {\n                        try {\n                            const { pageTitle } = req.query;\n                            if (!pageTitle) {\n                                throw new Error(pageTitle);\n                            }\n                            const response = await landingPageService_1.landingPageService.getPageHistory(pageTitle);\n                            res.status(200).send(response);\n                        }\n                        catch (error) {\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n            ],\n        }, pluginConfig?.overrides || {}),\n        //Contact Leads Collection\n        (0, createCollection_1.default)({\n            slug: \"leadsContactInformation\",\n            admin: {\n                defaultColumns: [\"from\", \"to.type\", \"createdAt\"],\n                hidden: ({ user }) => {\n                    return user?.role !== \"admin\";\n                },\n                components: {\n                    views: {\n                        List: LeadsContactInfo_1.LeadsContactInfo,\n                    },\n                },\n            },\n            access: {\n                create: () => true,\n                read: () => true,\n                update: () => true,\n                delete: () => true,\n            },\n            fields: [\n                {\n                    name: \"pagename\",\n                    type: \"text\",\n                },\n                {\n                    name: \"dateOfSubmission\",\n                    type: \"text\",\n                },\n                {\n                    name: \"firstname\",\n                    type: \"text\",\n                },\n                {\n                    name: \"lastname\",\n                    type: \"text\",\n                },\n                {\n                    name: \"email\",\n                    type: \"email\",\n                },\n                {\n                    name: \"phone\",\n                    type: \"text\",\n                },\n                {\n                    name: \"message\",\n                    type: \"text\",\n                },\n                {\n                    name: \"termsAndCondition\",\n                    type: \"checkbox\",\n                },\n                {\n                    name: \"agreeToContact\",\n                    type: \"checkbox\",\n                },\n            ],\n        }, pluginConfig?.overrides || {}),\n        //Blogs Collection\n        (0, createCollection_1.default)({\n            slug: \"Blog\",\n            admin: {\n                defaultColumns: [\"from\", \"to.type\", \"createdAt\"],\n                hidden: ({ user }) => {\n                    return user?.role !== \"admin\";\n                },\n            },\n            fields: [\n                {\n                    name: \"id\",\n                    type: \"text\",\n                    required: true,\n                    label: \"ID\",\n                },\n                {\n                    name: \"pageTitle\",\n                    type: \"text\",\n                    label: \"Page title\",\n                },\n                {\n                    name: \"content\",\n                    type: \"text\",\n                    required: true,\n                    label: \"Content\",\n                },\n            ],\n            endpoints: [\n                {\n                    path: \"/generate-data\",\n                    method: \"post\",\n                    handler: async (req, res) => {\n                        const data = req.body.data;\n                        const pageTitle = req.body.pageTitle;\n                        try {\n                            let content = \"\";\n                            data.forEach((item) => {\n                                content += item.textvalue + \" \";\n                            });\n                            const blogs = await payload_1.default.find({\n                                collection: \"Blog\",\n                                where: {\n                                    pageTitle: {\n                                        equals: pageTitle,\n                                    },\n                                },\n                            });\n                            if (blogs.docs.length > 0) {\n                                await payload_1.default.update({\n                                    collection: \"Blog\",\n                                    id: blogs.docs[0].id,\n                                    data: {\n                                        pageTitle: pageTitle,\n                                        content: content.trim(),\n                                    },\n                                });\n                            }\n                            else {\n                                await payload_1.default.create({\n                                    collection: \"Blog\",\n                                    data: {\n                                        id: (0, uuid_1.v4)(),\n                                        pageTitle: pageTitle,\n                                        content: content.trim(),\n                                    },\n                                });\n                            }\n                            res.status(200).send({\n                                message: \"Data created successfully\",\n                            });\n                        }\n                        catch (error) {\n                            console.error(\"Error creating/updating blog:\", error);\n                            res.status(500).send({ error: error });\n                        }\n                    },\n                },\n            ],\n        }, pluginConfig?.overrides || {}),\n    ],\n});\nexports.default = createLandingPages;\n"]}