initial commit

This commit is contained in:
equippedcoding-master
2025-09-17 09:37:06 -05:00
parent 86108ca47e
commit e2c98790b2
55389 changed files with 6206730 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
import {
createPage,
deletePage,
listPages,
pageDetails,
savePageContent,
updatePage,
} from './page.services';
export const create = async (req, res) => {
const pageBody = req.body;
const page = await createPage(pageBody);
res.json(page);
};
export const list = async (req, res) => {
const pages = await listPages();
res.json(pages);
};
export const details = async (req, res) => {
const { pageId } = req.params;
const details = await pageDetails(pageId);
res.json(details);
};
export const deletePageRecord = async (req, res) => {
const { pageId } = req.params;
const data = await deletePage(pageId);
res.json(data);
};
export const update = async (req, res) => {
const { pageId } = req.params;
const pageBody = req.body;
const page = await updatePage(pageId, pageBody);
res.json(page);
};
export const changeContent = async (req, res) => {
const { pageId } = req.params;
const pageContent = await savePageContent(pageId, req.body);
res.json(pageContent);
};
export const loadContent = async (req, res) => {
const { pageId } = req.params;
res.header('Content-Type', 'application/json');
const pageData = await pageDetails(pageId);
res.json(pageData.content);
};

View File

@@ -0,0 +1,23 @@
const mongoose = require('mongoose');
const { Schema } = mongoose;
const Page = new mongoose.Schema(
{
name: {
type: String,
required: true,
trim: true,
maxlength: 25,
},
slug: {
type: String,
required: true,
},
content: Object,
},
{
timestamps: true,
},
);
export default mongoose.model('Pages', Page);

View File

@@ -0,0 +1,24 @@
import express from 'express';
import {
changeContent,
create,
update,
deletePageRecord,
details,
list,
loadContent,
} from './page.controller';
const pageRoute = express.Router();
pageRoute.post('/', create);
pageRoute.post('/:pageId/content', changeContent);
pageRoute.put('/:pageId', update);
pageRoute.delete('/:pageId', deletePageRecord);
pageRoute.get('/:pageId', details);
pageRoute.get('/', list);
pageRoute.get('/:pageId/content', loadContent);
export default pageRoute;

View File

@@ -0,0 +1,27 @@
import Pages from './page.modal';
export const createPage = async (pageBody) => {
const slug = pageBody.name.toLowerCase().split(' ').join('-');
pageBody.slug = slug;
const page = new Pages(pageBody);
const pageResponse = await page.save();
return pageResponse;
};
export const listPages = async () => {
const pages = await Pages.find({});
return pages;
};
export const deletePage = async (pageId) => {};
export const updatePage = async (pageId, pageBody) => {};
export const pageDetails = async (pageId) => {
const pages = await Pages.findOne({ _id: pageId });
return pages;
};
export const savePageContent = async (pageId, content) => {
const pageUpdated = await Pages.findOneAndUpdate({ _id: pageId }, { content });
return pageUpdated;
};
export const findPageById = async (pageId) => {
const page = await Pages.findById(pageId);
return page;
};