Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f7f0d63

Browse files
committed
10-end
1 parent 86fd40a commit f7f0d63

File tree

9 files changed

+3370
-3498
lines changed

9 files changed

+3370
-3498
lines changed

‎book/10-end/api/package.json‎

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
"version": "1.0.0",
44
"license": "MIT",
55
"engines": {
6-
"node": "18.17.0",
7-
"yarn": "1.22.19"
6+
"node": ">=18.17.0",
7+
"yarn": ">=1.22.19"
88
},
99
"scripts": {
1010
"dev": "nodemon server/server.ts",
@@ -22,51 +22,51 @@
2222
"testEnvironment": "node"
2323
},
2424
"dependencies": {
25-
"aws-sdk": "^2.1512.0",
26-
"bcryptjs": "^2.4.3",
27-
"compression": "^1.7.4",
25+
"aws-sdk": "^2.1692.0",
26+
"bcryptjs": "^3.0.2",
27+
"compression": "^1.8.0",
2828
"connect-mongo": "^5.1.0",
2929
"cors": "^2.8.5",
30-
"dotenv": "^16.3.1",
31-
"express": "^4.18.2",
32-
"express-session": "^1.17.3",
30+
"dotenv": "^16.4.7",
31+
"express": "^4.21.2",
32+
"express-session": "^1.18.1",
3333
"he": "^1.2.0",
34-
"helmet": "7.1.0",
35-
"highlight.js": "^11.9.0",
34+
"helmet": "8.1.0",
35+
"highlight.js": "^11.11.1",
3636
"lodash": "^4.17.21",
37-
"marked": "^11.0.0",
38-
"mongoose": "^8.0.2",
39-
"node-fetch": "2.6.1",
37+
"marked": "^15.0.7",
38+
"mongoose": "^8.12.1",
39+
"node-fetch": "3.3.2",
4040
"passport": "^0.7.0",
4141
"passport-google-oauth": "^2.0.0",
4242
"passwordless": "^1.1.3",
4343
"passwordless-tokenstore": "^0.0.10",
44-
"socket.io": "^4.7.2",
45-
"stripe": "^14.7.0",
46-
"typescript": "^5.3.2",
47-
"winston": "^3.11.0"
44+
"socket.io": "^4.8.1",
45+
"stripe": "^17.7.0",
46+
"typescript": "^5.8.2",
47+
"winston": "^3.17.0"
4848
},
4949
"devDependencies": {
50-
"@types/connect-mongo": "^3.1.3",
51-
"@types/dotenv": "^8.2.0",
52-
"@types/express": "^4.17.21",
53-
"@types/express-session": "^1.17.10",
54-
"@types/jest": "^29.5.11",
55-
"@types/lodash": "^4.14.202",
50+
"@types/connect-mongo": "^3.1.6",
51+
"@types/dotenv": "^8.2.3",
52+
"@types/express": "^5.0.1",
53+
"@types/express-session": "^1.18.1",
54+
"@types/jest": "^29.5.14",
55+
"@types/lodash": "^4.17.16",
5656
"@types/mongoose": "^5.11.97",
57-
"@types/node": "^20.10.3",
58-
"@types/node-fetch": "^2.6.9",
59-
"@types/passport": "^1.0.16",
57+
"@types/node": "^22.13.11",
58+
"@types/node-fetch": "^2.6.12",
59+
"@types/passport": "^1.0.17",
6060
"@types/socket.io": "^3.0.2",
61-
"@typescript-eslint/eslint-plugin": "^6.13.2",
62-
"@typescript-eslint/parser": "^6.13.2",
63-
"eslint": "^8.55.0",
64-
"eslint-config-prettier": "^9.1.0",
65-
"eslint-plugin-prettier": "^5.0.1",
61+
"@typescript-eslint/eslint-plugin": "^8.27.0",
62+
"@typescript-eslint/parser": "^8.27.0",
63+
"eslint": "^9.22.0",
64+
"eslint-config-prettier": "^10.1.1",
65+
"eslint-plugin-prettier": "^5.2.3",
6666
"jest": "^29.7.0",
67-
"nodemon": "^3.0.2",
68-
"prettier": "^3.1.0",
69-
"ts-jest": "^29.1.1",
70-
"ts-node": "^10.9.1"
67+
"nodemon": "^3.1.9",
68+
"prettier": "^3.5.3",
69+
"ts-jest": "^29.2.6",
70+
"ts-node": "^10.9.2"
7171
}
7272
}

‎book/10-end/api/server/api/team-member.ts‎

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,29 @@
1-
import * as express from 'express';
1+
import * as express from "express";
22

3-
import { signRequestForUpload } from '../aws-s3';
3+
import { signRequestForUpload } from "../aws-s3";
44

5-
import User from '../models/User';
6-
import Team from '../models/Team';
7-
import Invitation from '../models/Invitation';
8-
import Discussion from '../models/Discussion';
9-
import Post from '../models/Post';
5+
import User from "../models/User";
6+
import Team from "../models/Team";
7+
import Invitation from "../models/Invitation";
8+
import Discussion from "../models/Discussion";
9+
import Post from "../models/Post";
1010

11-
import {
12-
discussionAdded,
13-
discussionDeleted,
14-
discussionEdited,
15-
postAdded,
16-
postDeleted,
17-
postEdited,
18-
} from '../sockets';
11+
import { discussionAdded, discussionDeleted, discussionEdited, postAdded, postDeleted, postEdited } from "../sockets";
1912

2013
const router = express.Router();
2114

2215
router.use((req, res, next) => {
23-
console.log('team member API', req.path);
16+
console.log("team member API", req.path);
2417
if (!req.user) {
25-
res.status(401).json({ error: 'Unauthorized' });
18+
res.status(401).json({ error: "Unauthorized" });
2619
return;
2720
}
2821

2922
next();
3023
});
3124

3225
// Get signed request from AWS S3 server
33-
router.post('/aws/get-signed-request-for-upload-to-s3', async (req, res, next) => {
26+
router.post("/aws/get-signed-request-for-upload-to-s3", async (req, res, next) => {
3427
try {
3528
const { fileName, fileType, prefix, bucket } = req.body;
3629

@@ -49,7 +42,7 @@ router.post('/aws/get-signed-request-for-upload-to-s3', async (req, res, next) =
4942
}
5043
});
5144

52-
router.post('/user/update-profile', async (req: any, res, next) => {
45+
router.post("/user/update-profile", async (req: any, res, next) => {
5346
try {
5447
const { name, avatarUrl } = req.body;
5548

@@ -65,7 +58,7 @@ router.post('/user/update-profile', async (req: any, res, next) => {
6558
}
6659
});
6760

68-
router.post('/user/toggle-theme', async (req: any, res, next) => {
61+
router.post("/user/toggle-theme", async (req: any, res, next) => {
6962
try {
7063
const { darkTheme } = req.body;
7164

@@ -94,7 +87,7 @@ async function loadDiscussionsData(team, userId, body) {
9487
Object.assign(discussion, {
9588
initialPosts: await Post.getList({
9689
userId,
97-
discussionId: discussion._id,
90+
discussionId: discussion._id.toString(),
9891
}),
9992
});
10093

@@ -130,7 +123,7 @@ async function loadTeamData(team, userId, body) {
130123
return data;
131124
}
132125

133-
router.post('/get-initial-data', async (req: any, res, next) => {
126+
router.post("/get-initial-data", async (req: any, res, next) => {
134127
try {
135128
const teams = await Team.getAllTeamsForUser(req.user.id);
136129

@@ -164,7 +157,7 @@ router.post('/get-initial-data', async (req: any, res, next) => {
164157
// }
165158
// });
166159

167-
router.get('/teams/get-members', async (req: any, res, next) => {
160+
router.get("/teams/get-members", async (req: any, res, next) => {
168161
try {
169162
const users = await User.getMembersForTeam({
170163
userId: req.user.id,
@@ -177,7 +170,7 @@ router.get('/teams/get-members', async (req: any, res, next) => {
177170
}
178171
});
179172

180-
router.post('/discussions/add', async (req: any, res, next) => {
173+
router.post("/discussions/add", async (req: any, res, next) => {
181174
try {
182175
const { name, teamId, memberIds = [], socketId, notificationType } = req.body;
183176

@@ -197,7 +190,7 @@ router.post('/discussions/add', async (req: any, res, next) => {
197190
}
198191
});
199192

200-
router.post('/discussions/edit', async (req: any, res, next) => {
193+
router.post("/discussions/edit", async (req: any, res, next) => {
201194
try {
202195
const { name, id, memberIds = [], socketId, notificationType } = req.body;
203196

@@ -217,7 +210,7 @@ router.post('/discussions/edit', async (req: any, res, next) => {
217210
}
218211
});
219212

220-
router.post('/discussions/delete', async (req: any, res, next) => {
213+
router.post("/discussions/delete", async (req: any, res, next) => {
221214
try {
222215
const { id, socketId } = req.body;
223216

@@ -231,7 +224,7 @@ router.post('/discussions/delete', async (req: any, res, next) => {
231224
}
232225
});
233226

234-
router.get('/discussions/list', async (req: any, res, next) => {
227+
router.get("/discussions/list", async (req: any, res, next) => {
235228
try {
236229
const { discussions } = await Discussion.getList({
237230
userId: req.user.id,
@@ -244,7 +237,7 @@ router.get('/discussions/list', async (req: any, res, next) => {
244237
}
245238
});
246239

247-
router.get('/posts/list', async (req: any, res, next) => {
240+
router.get("/posts/list", async (req: any, res, next) => {
248241
try {
249242
const posts = await Post.getList({
250243
userId: req.user.id,
@@ -257,7 +250,7 @@ router.get('/posts/list', async (req: any, res, next) => {
257250
}
258251
});
259252

260-
router.post('/posts/add', async (req: any, res, next) => {
253+
router.post("/posts/add", async (req: any, res, next) => {
261254
try {
262255
const { content, discussionId, socketId } = req.body;
263256

@@ -271,7 +264,7 @@ router.post('/posts/add', async (req: any, res, next) => {
271264
}
272265
});
273266

274-
router.post('/posts/edit', async (req: any, res, next) => {
267+
router.post("/posts/edit", async (req: any, res, next) => {
275268
try {
276269
const { content, id, socketId } = req.body;
277270

@@ -285,7 +278,7 @@ router.post('/posts/edit', async (req: any, res, next) => {
285278
}
286279
});
287280

288-
router.post('/posts/delete', async (req: any, res, next) => {
281+
router.post("/posts/delete", async (req: any, res, next) => {
289282
try {
290283
const { id, discussionId, socketId } = req.body;
291284

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /