Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/onboarding #8

Merged
merged 3 commits into from
Aug 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 39 additions & 2 deletions controllers/authController.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,41 @@ import {
} from "@aws-sdk/client-cognito-identity-provider";
import { Vendor as User } from "../models/users.js";

const createVendor = async (req, res) => {
try {
const { name, email } = req.body;

const userExists = await User.findOne({ email });

if (userExists) {
return res.status(400).json({ message: "User already exists" });
}

const newUser = new User({
name,
email,
});

const user = await newUser.save();
res.status(200).json(user);
} catch (error) {
res.status(500).json({ error: error.message });
}
};

const getVendor = async (req, res) => {
try {
const { email } = req.body;
const user = await User.findOne({ email });
if (!user) {
return res.status(404).json({ message: "User not found" });
}
res.status(200).json(user);
} catch (error) {
res.status(500).json({ error: error.message });
}
};

const signUp = async (req, res) => {
const { mobile } = req.body;

Expand Down Expand Up @@ -167,11 +202,11 @@ const googleCallback = async (req, res) => {
const sessionToken = jwt.sign(
{ userId: user.id, email: user.email },
process.env.JWT_SECRET,
{ expiresIn: "1h" },
{ expiresIn: "1h" }
);

res.redirect(
`${process.env.GOOGLE_POST_REDIRECT}?session_token=${sessionToken}`,
`${process.env.GOOGLE_POST_REDIRECT}?session_token=${sessionToken}`
);
} catch (error) {
res.status(500).json({ error: error.message });
Expand Down Expand Up @@ -217,4 +252,6 @@ export default {
authWithGoogle,
googleCallback,
addBusinessDetails,
createVendor,
getVendor,
};
2 changes: 1 addition & 1 deletion controllers/products/decoratorController.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {Decorator} from "../../models/decoraters.js";
import { Decorator } from "../../models/decoraters.js";

const getFileUrls = (files, fieldName) => {
return files[fieldName] ? files[fieldName].map((file) => file.location) : [];
Expand Down
21 changes: 14 additions & 7 deletions controllers/products/eventPlannerController.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,23 @@ const createEventPlanner = async (req, res) => {
return res.status(400).json({ message: "Event Planner already exists" });
}

const portfolioUrls = getFileUrls(req.files, "portfolio") || req.body.portfolio;
const portfolioUrls =
getFileUrls(req.files, "portfolio") || req.body.portfolio;
const termsConditionsUrls =
getFileUrls(req.files, "termsConditions") || req.body.termsConditions;
const cancellationPolicyUrls = getFileUrls(req.files, "cancellationPolicy") || req.body.cancellationPolicy;
const insurancePolicyUrls = getFileUrls(req.files, "insurancePolicy") || req.body.insurancePolicy;
const cancellationPolicyUrls =
getFileUrls(req.files, "cancellationPolicy") ||
req.body.cancellationPolicy;
const insurancePolicyUrls =
getFileUrls(req.files, "insurancePolicy") || req.body.insurancePolicy;
const awardsUrls = getFileUrls(req.files, "awards") || req.body.awards;
const clientTestimonialsUrls = getFileUrls(req.files, "clientTestimonials") || req.body.clientTestimonials;
const onlineRatingsUrls = getFileUrls(req.files, "onlineRatings") || req.body.onlineRatings;
const privacyPolicyUrls = getFileUrls(req.files, "privacyPolicy") || req.body.privacyPolicy;

const clientTestimonialsUrls =
getFileUrls(req.files, "clientTestimonials") ||
req.body.clientTestimonials;
const onlineRatingsUrls =
getFileUrls(req.files, "onlineRatings") || req.body.onlineRatings;
const privacyPolicyUrls =
getFileUrls(req.files, "privacyPolicy") || req.body.privacyPolicy;

const newEventPlanner = new EventPlanner({
...req.body,
Expand Down
2 changes: 1 addition & 1 deletion controllers/products/photographerController.js
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ const createPhotographer = async (req, res) => {
}
};

export default {createPhotographer};
export default { createPhotographer };
2 changes: 1 addition & 1 deletion controllers/products/venueController.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {Venue} from "../../models/venue.js";
import { Venue } from "../../models/venue.js";

const getFileUrls = (files, fieldName) => {
return files[fieldName] ? files[fieldName].map((file) => file.location) : [];
Expand Down
2 changes: 1 addition & 1 deletion models/caterer.js
Original file line number Diff line number Diff line change
Expand Up @@ -58,4 +58,4 @@ const catererSchema = new Schema({

const Caterer = model("Caterer", catererSchema);

export default {Caterer, catererSchema};
export default { Caterer, catererSchema };
4 changes: 1 addition & 3 deletions models/decoraters.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import { Schema as _Schema, model } from "mongoose";
const Schema = _Schema;
import generateUniqueId from "../utils/generateId.js";


import generateUniqueId from "../utils/generateId.js";

const decoratorSchema = Schema({
name: { type: String, required: true },
Expand Down
2 changes: 1 addition & 1 deletion models/transport.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,4 +63,4 @@ const transportSchema = new Schema({

const Transport = model("Transport", transportSchema);

export default {Transport, transportSchema};
export default { Transport, transportSchema };
2 changes: 0 additions & 2 deletions models/users.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ import { businessSchema } from "./businessDetails.js";
import generateUniqueId from "../utils/generateId.js";
const Schema = _Schema;



const vendorSchema = new Schema({
id: { type: String, default: generateUniqueId("ven"), required: true },
name: { type: String, required: true },
Expand Down
3 changes: 3 additions & 0 deletions routes/authRoutes.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ authRoutes.post("/verify-otp-signup", authController.verifySignUpOtp);
authRoutes.post("/verify-otp-login", authController.verifyLoginOtp);
authRoutes.get("/google-auth", authController.authWithGoogle);
authRoutes.get("/oauth2/idpresponse", authController.googleCallback);
authRoutes.post("/add-vendor", authController.createVendor);
authRoutes.get("/get-vendor", authController.getVendor);
authRoutes.post("/add-business-details", authController.addBusinessDetails);


export default authRoutes;
18 changes: 9 additions & 9 deletions routes/productRoutes.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ router.post(
{ name: "terms_and_conditions", maxCount: 1 },
{ name: "portfolio", maxCount: 20 },
]),
catererController.createCaterer
catererController.createCaterer,
);

router.post(
Expand All @@ -32,7 +32,7 @@ router.post(
{ name: "cancellationPolicy", maxCount: 1 },
{ name: "portfolio", maxCount: 20 },
]),
venueController.createVenue
venueController.createVenue,
);

router.post(
Expand All @@ -43,7 +43,7 @@ router.post(
{ name: "portfolio", maxCount: 20 },
{},
]),
eventPlannerController.createEventPlanner
eventPlannerController.createEventPlanner,
);

router.post(
Expand All @@ -58,7 +58,7 @@ router.post(
{ name: "onlineRatings", maxCount: 20 },
{ name: "privacyPolicy", maxCount: 1 },
]),
decoratorController.createDecorator
decoratorController.createDecorator,
);

router.post(
Expand All @@ -68,7 +68,7 @@ router.post(
{ name: "cancellationPolicy", maxCount: 1 },
{ name: "portfolio", maxCount: 20 },
]),
transportController.createTransport
transportController.createTransport,
);

router.post(
Expand All @@ -79,13 +79,13 @@ router.post(
{ name: "terms_and_conditions", maxCount: 1 },
{ name: "portfolio", maxCount: 20 },
]),
invitationController.createInvitation
invitationController.createInvitation,
);

router.post(
"/add-makeup-artist",
upload("Makeup Artists").fields([{ name: "portfolio", maxCount: 20 }]),
makeupController.createMakeupArtist
makeupController.createMakeupArtist,
);

router.post(
Expand All @@ -94,7 +94,7 @@ router.post(
{ name: "giftImages", maxCount: 20 },
{ name: "termsAndConditions", maxCount: 1 },
]),
giftController.createGift
giftController.createGift,
);

router.post(
Expand All @@ -108,7 +108,7 @@ router.post(
{ name: "cancellationPolicy", maxCount: 1 },
{ name: "insurancePolicy", maxCount: 1 },
]),
propController.createProp
propController.createProp,
);

router.post(
Expand Down
26 changes: 13 additions & 13 deletions utils/generateId.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
const generateUniqueId = (type) => {
const now = new Date();
const { year, month, day, hours, minutes, seconds, miliseconds } = {
year: now.getFullYear().toString().padStart(4, "0"),
month: (now.getMonth() + 1).toString().padStart(2, "0"),
day: now.getDate().toString().padStart(2, "0"),
hours: now.getHours().toString().padStart(2, "0"),
minutes: now.getMinutes().toString().padStart(2, "0"),
seconds: now.getSeconds().toString().padStart(2, "0"),
miliseconds: now.getMilliseconds().toString().padStart(3, "0"),
};

return `${type}${year}${month}${day}${hours}${minutes}${seconds}${miliseconds}`;
const now = new Date();
const { year, month, day, hours, minutes, seconds, miliseconds } = {
year: now.getFullYear().toString().padStart(4, "0"),
month: (now.getMonth() + 1).toString().padStart(2, "0"),
day: now.getDate().toString().padStart(2, "0"),
hours: now.getHours().toString().padStart(2, "0"),
minutes: now.getMinutes().toString().padStart(2, "0"),
seconds: now.getSeconds().toString().padStart(2, "0"),
miliseconds: now.getMilliseconds().toString().padStart(3, "0"),
};

export default generateUniqueId;
return `${type}${year}${month}${day}${hours}${minutes}${seconds}${miliseconds}`;
};

export default generateUniqueId;