Skip to content
This repository was archived by the owner on Sep 20, 2025. It is now read-only.

Commit 229ba78

Browse files
authored
Validate against having over 5 delivery addresses (#11)
1 parent 863ad5a commit 229ba78

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

src/models/v1/userAddress.js

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,11 @@ module.exports = (sequelize, DataTypes) => {
142142
}
143143

144144
/**
145+
* @param {number} usersId
145146
* @param {Object} payload
146147
* @return {string|false}
147148
*/
148-
static getNewUserAddressError(payload) {
149+
static async getNewUserAddressError(usersId, payload) {
149150
if (!payload.addressLine1) {
150151
return "The address line 1 field is required.";
151152
}
@@ -162,6 +163,16 @@ module.exports = (sequelize, DataTypes) => {
162163
return "The state field is required.";
163164
}
164165

166+
const userAddresses = await this.
167+
getUserAddressesByUserId(
168+
usersId,
169+
);
170+
if (false !== userAddresses) {
171+
if (5 === userAddresses.length) {
172+
return "You can not have more than 5 delivery addresses.";
173+
}
174+
}
175+
165176
return false;
166177
}
167178

src/routes/api/v1/web/userAddresses/userAddresses.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,17 @@ router.post(
3131
"/new",
3232
authenticate,
3333
async (req, res) => {
34-
const inputError = db.sequelize.models
34+
const inputError = await db.sequelize.models
3535
.userAddress
3636
.getNewUserAddressError(
37-
req.body
37+
req.session.userId,
38+
req.body,
3839
);
3940
if (false !== inputError) {
4041
res.status(status.BAD_REQUEST);
4142
return res.json({ error: inputError });
4243
}
43-
44+
return res.json({message:"Success"});
4445
const cleanData = db.sequelize.models
4546
.userAddress
4647
.getNewUserAddressData({

0 commit comments

Comments
 (0)