Skip to content

Commit 9cde904

Browse files
authored
Merge pull request #24 from oslabs-beta/orders
added service name when connected to each PORT
2 parents c948434 + a076e8d commit 9cde904

7 files changed

Lines changed: 62 additions & 18 deletions

File tree

examples_new/microservices/auth/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ const start = async () => {
2525
}
2626

2727
app.listen(PORT, async () => {
28-
console.log(`💥 App listening on ${PORT}`);
28+
console.log(`💥 Auth listening on ${PORT}`);
2929
});
3030
};
3131

examples_new/microservices/event-bus/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { app } from './app';
22

33
const start = () => {
44
app.listen(3005, () => {
5-
console.log('💥 App listening on port 3005');
5+
console.log('💥 Event-bus listening on port 3005');
66
});
77
};
88

examples_new/microservices/inventory/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const start = async () => {
2222
}
2323

2424
app.listen(PORT, async () => {
25-
console.log(`💥 App listening on ${PORT}`);
25+
console.log(`💥 Inventory listening on ${PORT}`);
2626
});
2727
};
2828

examples_new/microservices/items/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const start = async () => {
2222
}
2323

2424
app.listen(PORT, async () => {
25-
console.log(`App listening on ${PORT}`);
25+
console.log(`Items listening on ${PORT}`);
2626
});
2727
};
2828

examples_new/microservices/orders/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const start = async () => {
2121
}
2222

2323
app.listen(PORT, async () => {
24-
console.log(`💥 App listening on ${PORT}`);
24+
console.log(`💥 Orders listening on ${PORT}`);
2525
});
2626
};
2727

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
import mongoose from 'mongoose';
2+
3+
//define attrs
4+
interface UserAttrs {
5+
username: string;
6+
id: string;
7+
}
8+
// add a method 'build' to the UserModel
9+
// mongoose has built-in Model class that takes 'UserDoc'
10+
interface UserModel extends mongoose.Model<UserDoc> {
11+
build(attrs: UserAttrs): UserDoc;
12+
}
13+
//create user data in the database in this shape
14+
interface UserDoc extends mongoose.Document {
15+
username: string;
16+
}
17+
//create the Schema in mongoose with defined requirements
18+
const userSchema = new mongoose.Schema(
19+
{
20+
username: {
21+
type: String,
22+
required: true,
23+
unique: true,
24+
},
25+
},
26+
{
27+
//anytime we create Json formatted data, transform the user document as following
28+
toJSON: {
29+
transform(doc, ret) {
30+
ret.id = ret._id;
31+
delete ret._id;
32+
delete ret.__v;
33+
},
34+
},
35+
}
36+
);
37+
38+
userSchema.statics.build = (attrs: UserAttrs) => {
39+
//returning user document with (attrs) passed in
40+
return new User({
41+
_id: attrs.id,
42+
username: attrs.username,
43+
});
44+
};
45+
46+
const User = mongoose.model<UserDoc, UserModel>('User', userSchema);
47+
48+
export { User };
Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
import { EventTypes, Events } from '@chronosrx/common';
22
import express from 'express';
3-
import { Order } from '../models/Order';
4-
3+
import { User } from '../models/user';
54

65
const router = express.Router();
76

87
router.post('/', async (req, res) => {
98
const event: Events = req.body.event;
109
console.log(event);
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' });
10+
switch (event.type) {
11+
case EventTypes.USER_CREATED:
12+
// console.log(event);
13+
const newUser = User.build(event.payload);
14+
await newUser.save();
15+
break;
16+
}
17+
return res.send({ message: 'Event received' });
2118
});
2219

2320
// router.get('/events');
2421

25-
2622
export default router;

0 commit comments

Comments
 (0)