Skip to content

Commit

Permalink
Merge pull request #45 from TritonSE/feature/katelynrachel/pastevents…
Browse files Browse the repository at this point in the history
…-testimonials-ourteam

Feature/katelynrachel/pastevents testimonials ourteam
  • Loading branch information
jennymar authored Jun 3, 2024
2 parents aab4fd6 + dc3dcf4 commit e5476fe
Show file tree
Hide file tree
Showing 52 changed files with 2,039 additions and 538 deletions.
2 changes: 2 additions & 0 deletions backend/dist/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ const newsletter_1 = __importDefault(require("./routes/newsletter")); // Import
const emails_1 = __importDefault(require("./routes/emails"));
const pageeditor_1 = __importDefault(require("./routes/pageeditor"));
const paypal_1 = __importDefault(require("./routes/paypal"));
const records_1 = __importDefault(require("./routes/records"));
const app = (0, express_1.default)();
// initializes Express to accept JSON in the request/response body
app.use(express_1.default.json());
Expand All @@ -42,6 +43,7 @@ app.use("/api/newsletter", newsletter_1.default);
app.use("/api/emails", emails_1.default);
app.use("/api/pageeditor", pageeditor_1.default);
app.use("/api/orders", paypal_1.default); // Donation Order routes
app.use("/api/records", records_1.default);
/**
* Error handler; all errors thrown by server are handled here.
* Explicit typings required here because TypeScript cannot infer the argument types.
Expand Down
45 changes: 44 additions & 1 deletion backend/dist/controllers/member.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllMembers = exports.getMember = exports.createMember = void 0;
exports.deleteMember = exports.updateMember = exports.getAllMembers = exports.getMember = exports.createMember = void 0;
const member_1 = __importDefault(require("../models/member"));
const mongoose_1 = require("mongoose");
const validationErrorParser_1 = __importDefault(require("../util/validationErrorParser"));
const express_validator_1 = require("express-validator");
const http_errors_1 = __importDefault(require("http-errors"));
const createMember = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const { name, role, profilePictureURL } = req.body;
try {
Expand Down Expand Up @@ -51,3 +54,43 @@ const getAllMembers = (req, res, next) => __awaiter(void 0, void 0, void 0, func
}
});
exports.getAllMembers = getAllMembers;
const updateMember = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const errors = (0, express_validator_1.validationResult)(req);
const { id } = req.params;
// if (id !== req.body._id) {
// // If the _id in the URL does not match the _id in the body, bad request
// res.status(400);
// }
try {
(0, validationErrorParser_1.default)(errors);
const member = yield member_1.default.findByIdAndUpdate(id, req.body);
if (member === null) {
// No event found
res.status(404);
}
const updatedMember = yield member_1.default.findById(id);
if (updatedMember === null) {
// No event found, something went wrong
res.status(404);
}
res.status(200).json(updatedMember);
}
catch (error) {
next(error);
}
});
exports.updateMember = updateMember;
const deleteMember = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const { id } = req.params;
try {
const member = yield member_1.default.findByIdAndDelete(id);
if (!member) {
throw (0, http_errors_1.default)(404, "Member not found.");
}
res.status(200).json(member);
}
catch (error) {
next(error);
}
});
exports.deleteMember = deleteMember;
48 changes: 48 additions & 0 deletions backend/dist/controllers/records.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateRecord = exports.getRecord = void 0;
const records_1 = __importDefault(require("../models/records"));
const getRecord = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const { card } = req.params;
try {
const updatedRecord = yield records_1.default.findOne({ card });
if (updatedRecord === null) {
res.status(404);
}
res.status(200).json(updatedRecord);
}
catch (error) {
next(error);
}
});
exports.getRecord = getRecord;
const updateRecord = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const { card } = req.params;
try {
const record = yield records_1.default.findOneAndUpdate({ card: card }, req.body);
if (record === null) {
res.status(404);
}
const updatedRecord = yield records_1.default.findOne({ card });
if (updatedRecord === null) {
res.status(404);
}
res.status(200).json(updatedRecord);
}
catch (error) {
next(error);
}
});
exports.updateRecord = updateRecord;
57 changes: 56 additions & 1 deletion backend/dist/controllers/testimonial.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAllTestimonials = exports.createTestimonial = void 0;
exports.deleteTestimonial = exports.updateTestimonial = exports.getAllQuotes = exports.getAllTestimonials = exports.createTestimonial = void 0;
const testimonial_1 = __importDefault(require("../models/testimonial"));
const express_validator_1 = require("express-validator");
const http_errors_1 = __importDefault(require("http-errors"));
const validationErrorParser_1 = __importDefault(require("../util/validationErrorParser"));
const createTestimonial = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const { title, description, image, type } = req.body;
try {
Expand All @@ -23,9 +26,11 @@ const createTestimonial = (req, res, next) => __awaiter(void 0, void 0, void 0,
image: image,
type: type,
});
console.log("testimonial: ", testimonial);
res.status(201).json(testimonial);
}
catch (error) {
console.log("erroring here");
next(error);
}
});
Expand All @@ -40,3 +45,53 @@ const getAllTestimonials = (req, res, next) => __awaiter(void 0, void 0, void 0,
}
});
exports.getAllTestimonials = getAllTestimonials;
const getAllQuotes = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
try {
const testimonials = yield testimonial_1.default.find({ type: "quote" });
res.status(200).json(testimonials);
}
catch (error) {
next(error);
}
});
exports.getAllQuotes = getAllQuotes;
const updateTestimonial = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const errors = (0, express_validator_1.validationResult)(req);
const { id } = req.params;
if (id !== req.body._id) {
// If the _id in the URL does not match the _id in the body, bad request
res.status(400);
}
try {
(0, validationErrorParser_1.default)(errors);
const testimonial = yield testimonial_1.default.findByIdAndUpdate(id, req.body);
if (testimonial === null) {
// No newsletter found
res.status(404);
}
const updatedTestimonial = yield testimonial_1.default.findById(id);
if (updatedTestimonial === null) {
// No testimonial found, something went wrong
res.status(404);
}
res.status(200).json(updatedTestimonial);
}
catch (error) {
next(error);
}
});
exports.updateTestimonial = updateTestimonial;
const deleteTestimonial = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
const { id } = req.params;
try {
const testimonial = yield testimonial_1.default.findByIdAndDelete(id);
if (!testimonial) {
throw (0, http_errors_1.default)(404, "Testimonial not found.");
}
res.status(200).json(testimonial);
}
catch (error) {
next(error);
}
});
exports.deleteTestimonial = deleteTestimonial;
8 changes: 8 additions & 0 deletions backend/dist/models/records.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const mongoose_1 = require("mongoose");
const recordsSchema = new mongoose_1.Schema({
card: { type: String, required: true },
date: { type: String, required: true },
});
exports.default = (0, mongoose_1.model)("Editrecords", recordsSchema);
6 changes: 5 additions & 1 deletion backend/dist/routes/members.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const MembersController = __importStar(require("../controllers/member"));
const MembersValidator = __importStar(require("../validators/member"));
const router = express_1.default.Router();
router.get("/get", MembersController.getAllMembers);
router.post("/post", MembersController.createMember);
router.get("/:id", MembersController.getMember);
router.post("/post", MembersValidator.createMember, MembersController.createMember);
router.put("/:id", MembersController.updateMember);
router.delete("/:id", MembersController.deleteMember);
exports.default = router;
35 changes: 35 additions & 0 deletions backend/dist/routes/records.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const RecordsController = __importStar(require("../controllers/records"));
const RecordsValidator = __importStar(require("../validators/records"));
const router = express_1.default.Router();
router.put("/:card", RecordsValidator.updateRecord, RecordsController.updateRecord);
router.get("/:card", RecordsController.getRecord);
exports.default = router;
4 changes: 4 additions & 0 deletions backend/dist/routes/testimonial.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
const express_1 = __importDefault(require("express"));
const TestimonialController = __importStar(require("../controllers/testimonial"));
const TestimonialValidator = __importStar(require("../validators/testimonial"));
const router = express_1.default.Router();
router.get("/get", TestimonialController.getAllTestimonials);
router.get("/get/quote", TestimonialController.getAllQuotes);
router.post("/post", TestimonialController.createTestimonial);
router.put("/:id", TestimonialValidator.updateTestimonial, TestimonialController.updateTestimonial);
router.delete("/:id", TestimonialValidator.deleteTestimonial, TestimonialController.deleteTestimonial);
exports.default = router;
29 changes: 29 additions & 0 deletions backend/dist/validators/records.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateRecord = void 0;
const express_validator_1 = require("express-validator");
const makeIDValidator = () => (0, express_validator_1.body)("_id")
.exists()
.withMessage("_id is required")
.bail()
.isMongoId()
.withMessage("_id must be a MongoDB object ID");
const makeCardValidator = () => (0, express_validator_1.body)("card")
.exists()
.withMessage("card is required")
.bail()
.isString()
.withMessage("card must be a string")
.bail()
.notEmpty()
.withMessage("card cannot be empty");
const makeDateValidator = () => (0, express_validator_1.body)("date")
.exists()
.withMessage("date is required")
.bail()
.isString()
.withMessage("date must be a string")
.bail()
.notEmpty()
.withMessage("date cannot be empty");
exports.updateRecord = [makeIDValidator(), makeCardValidator(), makeDateValidator()];
12 changes: 4 additions & 8 deletions backend/dist/validators/testimonial.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateTestimonial = exports.createTestimonial = void 0;
exports.deleteTestimonial = exports.updateTestimonial = exports.createTestimonial = void 0;
const express_validator_1 = require("express-validator");
const makeIDValidator = () => (0, express_validator_1.body)("_id")
.exists()
.withMessage("_id is required")
.bail()
.isMongoId()
.isString()
.withMessage("_id must be a MongoDB object ID");
const makeTitleValidator = () => (0, express_validator_1.body)("title")
// title must exist, if not this message will be displayed
Expand Down Expand Up @@ -46,12 +46,8 @@ const makeImageValidator = () => (0, express_validator_1.body)("image")
.withMessage("image cannot be empty");
exports.createTestimonial = [
makeTitleValidator(),
makeDescriptionValidator(),
makeImageValidator(),
];
exports.updateTestimonial = [
makeIDValidator(),
makeTitleValidator(),
makeDescriptionValidator(),
makeImageValidator(),
];
exports.updateTestimonial = [makeIDValidator(), makeImageValidator()];
exports.deleteTestimonial = [makeIDValidator()];
2 changes: 2 additions & 0 deletions backend/src/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import newsletterRoutes from "src/routes/newsletter"; // Import newsletter route
import emailRoutes from "src/routes/emails";
import pageeditorRoutes from "src/routes/pageeditor";
import paypalRoutes from "src/routes/paypal";
import recordRoutes from "src/routes/records";

const app = express();

Expand Down Expand Up @@ -44,6 +45,7 @@ app.use("/api/newsletter", newsletterRoutes);
app.use("/api/emails", emailRoutes);
app.use("/api/pageeditor", pageeditorRoutes);
app.use("/api/orders", paypalRoutes); // Donation Order routes
app.use("/api/records", recordRoutes);

/**
* Error handler; all errors thrown by server are handled here.
Expand Down
Loading

0 comments on commit e5476fe

Please sign in to comment.