Skip to content

Commit cf92032

Browse files
Merge pull request #22 from oslabs-beta/orders
Orders 2:19PM
2 parents 155d17e + 8a5c7b6 commit cf92032

File tree

6 files changed

+54
-62
lines changed

6 files changed

+54
-62
lines changed

examples_new/microservices/orders/package-lock.json

Lines changed: 5 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples_new/microservices/orders/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
"author": "",
1919
"license": "ISC",
2020
"dependencies": {
21-
"@chronosrx/common": "^1.0.2",
21+
22+
"@chronosrx/common": "^1.0.4",
2223
"axios": "^1.6.2",
2324
"bcryptjs": "^2.4.3",
2425
"cookie-parser": "^1.4.6",

examples_new/microservices/orders/src/controllers/order-controller.ts

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@ import { Request, Response } from 'express';
22
import axios from 'axios';
33
import { Order } from '../models/Order';
44
import { BadRequestError, CurrentUserRequest, Events } from '@chronosrx/common';
5+
6+
export const createOrder = async (req: CurrentUserRequest, res: Response) => {
7+
//deconstruct req.body
8+
const { itemId, amount } = req.body;
9+
//create Order document in the databse
10+
const newOrder = Order.build({ itemId, amount });
511
import { Inventory } from '../models/Inventory';
612

713
export const createOrder = async (req: CurrentUserRequest, res: Response) => {
@@ -21,31 +27,25 @@ export const createOrder = async (req: CurrentUserRequest, res: Response) => {
2127
res.status(201).send(newOrder);
2228
};
2329

24-
export const getOrder = async (req: Request, res: Response) => {
25-
// check if order already exists
26-
const { buyerId } = req.body;
27-
const exsitingOrder = await Order.findOne({ buyerId });
28-
if (!exsitingOrder) {
29-
throw new BadRequestError('Order with that id does not exists');
30-
}
31-
//check inventory itemId, amount
32-
res.status(200).send(exsitingOrder);
33-
};
3430

35-
export const getSale = async (req: Request, res: Response) => {
36-
const { sellerId } = req.body;
37-
const sales = await Order.find({ sellerId });
38-
if (!sales) {
39-
throw new BadRequestError('Sales with that sellerId does not exist');
40-
}
41-
res.status(200).send(sales);
42-
};
31+
// export const getOrder = async (req: Request, res: Response) => {
32+
// // check if order already exists
33+
// const { buyerId } = req.body;
34+
// const exsitingOrder = await Order.findOne({ buyerId });
35+
// if (!exsitingOrder) {
36+
// throw new BadRequestError('Order with that id does not exists');
37+
// }
38+
// //check inventory itemId, amount
39+
// res.status(200).send(exsitingOrder);
40+
// };
41+
42+
// export const deleteOrder = async (req: Request, res: Response) => {
43+
// const { id } = req.body;
44+
// const deletedOrder = await Order.findOneAndDelete({ id });
45+
// if (!deletedOrder) {
46+
// throw new BadRequestError(`Could not find that order by id to delete`);
47+
// }
48+
// res.status(200).send(deletedOrder);
49+
// };
50+
4351

44-
export const deleteOrder = async (req: Request, res: Response) => {
45-
const { id } = req.body;
46-
const deletedOrder = await Order.findOneAndDelete({ id });
47-
if (!deletedOrder) {
48-
throw new BadRequestError(`Could not find that order by id to delete`);
49-
}
50-
res.status(200).send(deletedOrder);
51-
};

examples_new/microservices/orders/src/models/Order.ts

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import mongoose from 'mongoose';
33
interface OrderAttrs {
44
itemId: string;
55
amount: number;
6-
totalPrice: number;
7-
sellerId: string;
86
}
97

108
interface OrderModel extends mongoose.Model<OrderDoc> {
@@ -14,8 +12,6 @@ interface OrderModel extends mongoose.Model<OrderDoc> {
1412
interface OrderDoc extends mongoose.Document {
1513
itemId: string;
1614
amount: number;
17-
totalPrice: number;
18-
sellerId: string;
1915
}
2016

2117
//create the Schema in mongoose with defined requirements
@@ -30,14 +26,6 @@ const OrderSchema = new mongoose.Schema(
3026
type: Number,
3127
required: true,
3228
},
33-
totalPrice: {
34-
type: Number,
35-
required: true,
36-
},
37-
sellerId: {
38-
type: String,
39-
require: true,
40-
},
4129
},
4230
{
4331
//anytime we create Json formatted data, transform the user document as following
@@ -55,8 +43,6 @@ OrderSchema.statics.build = (attrs: OrderAttrs) => {
5543
return new Order({
5644
itemId: attrs.itemId,
5745
amount: attrs.amount,
58-
totalPrice: attrs.totalPrice,
59-
sellerId: attrs.sellerId,
6046
});
6147
};
6248

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
1+
import { EventTypes, Events } from '@chronosrx/common';
12
import express from 'express';
2-
import { Events } from '@chronosrx/common';
33
import { Order } from '../models/Order';
4-
import { Inventory } from '../models/Inventory';
4+
55

66
const router = express.Router();
77

88
router.post('/', async (req, res) => {
9-
const { event } = req.body;
9+
const event: Events = req.body.event;
1010
console.log(event);
11-
switch (event.type) {
12-
case Events.ITEM_CREATED:
13-
const newOrder = Inventory.build(event.payload);
14-
await newOrder.save();
15-
break;
16-
default:
17-
res.send({});
18-
}
19-
20-
res.send({ message: '🎃 Event received' });
11+
// switch (event.type) {
12+
// case EventTypes.USER_CREATED:
13+
// // console.log(event);
14+
// const newUser = User.build(event.payload);
15+
// await newUser.save();
16+
// break;
17+
// default:
18+
// res.send({});
19+
// }
20+
res.send({ message: 'Event received' });
2121
});
2222

23+
// router.get('/events');
24+
25+
2326
export default router;
Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import express from 'express';
2-
import { getOrder, getSale, createOrder, deleteOrder } from '../controllers/order-controller';
2+
import { createOrder } from '../controllers/order-controller';
33
import { currentUser, requireAuth } from '@chronosrx/common';
44

55
const router = express.Router();
66
router.use(currentUser);
77
router.use(requireAuth);
8-
router.get('/getMyOrders', getOrder);
9-
router.get('/getMySales', getSale);
8+
9+
// router.get('/getMyOrders', getOrder);
1010
router.post('/createOrder', createOrder);
11-
router.delete('/deleteOrder', deleteOrder);
11+
// router.delete('/deleteOrder', deleteOrder);
12+
1213

1314
export default router;

0 commit comments

Comments
 (0)