Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4b77958a92 | |||
| 48ffee1a78 | |||
| 846db377ef | |||
|
|
3e8a8997b9 | ||
|
|
04bce4b90f | ||
|
|
3d935af6f1 |
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "multi-stub",
|
||||
"version": "1.1.2",
|
||||
"version": "1.2.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "multi-stub",
|
||||
"version": "1.1.2",
|
||||
"version": "1.2.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"axios": "^1.7.9",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "multi-stub",
|
||||
"version": "1.1.2",
|
||||
"version": "1.2.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -88,7 +88,7 @@ app.use("/dry-wash", require("./routers/dry-wash"))
|
||||
app.use("/freetracker", require("./routers/freetracker"))
|
||||
app.use("/dhs-testing", require("./routers/dhs-testing"))
|
||||
app.use("/gamehub", require("./routers/gamehub"))
|
||||
|
||||
app.use("/esc", require("./routers/esc"))
|
||||
|
||||
app.use(require("./error"))
|
||||
|
||||
|
||||
12
server/routers/esc/index.js
Normal file
12
server/routers/esc/index.js
Normal file
@@ -0,0 +1,12 @@
|
||||
const router = require("express").Router();
|
||||
|
||||
router.get('/game-links', (request, response) => {
|
||||
response.send(require('./json/game-links/success.json'))
|
||||
})
|
||||
|
||||
router.get('/4u2k-links', (request, response) => {
|
||||
response.send(require('./json/4u2k-links/success.json'))
|
||||
})
|
||||
;
|
||||
|
||||
module.exports = router;
|
||||
31
server/routers/esc/json/4u2k-links/success.json
Normal file
31
server/routers/esc/json/4u2k-links/success.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"data":[
|
||||
{
|
||||
"type": "video",
|
||||
"links": {
|
||||
"l1": "https://www.youtube.com/embed/DsQMLrPdLf8?si=l9X57nHqaSYlxDFf",
|
||||
"l2": "https://www.youtube.com/embed/Dk8AAU_UdVk?si=N8NdYMUCfawdsJGE",
|
||||
"l3": "https://www.youtube.com/embed/HKfDfWrCwEA?si=qPugjiKR8V9eZ-yG",
|
||||
"l4": "https://www.youtube.com/embed/tD-6xHAHrQ4?si=ZFe41gSK8d5gqahW"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "podcast",
|
||||
"links": {
|
||||
"l1": "https://www.youtube.com/embed/RtVs87Nd1MQ?si=i4giUCtbp4Ouqv2W",
|
||||
"l2": "https://www.youtube.com/embed/DfTU5LA_kw8?si=m7fI5Ie9yIGDFCrU",
|
||||
"l3": "https://www.youtube.com/embed/Sp-1fX1Q15I?si=xyealVly9IBMW7Xi",
|
||||
"l4": "https://www.youtube.com/embed/rLYFJYfluRs?si=MjW1beQ-Q9-TAehF"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "entertainment",
|
||||
"links": {
|
||||
"l1": "https://www.youtube.com/embed/DiuuglRCchQ?si=8wTVXKbV-mbHuSjW",
|
||||
"l2": "https://www.youtube.com/embed/zmZcIX5PEyo?si=Hbrv32kl0fqcmtV9",
|
||||
"l3": "https://www.youtube.com/embed/Te-TZUjmzFQ?si=fNG16eruoFEY2KNq",
|
||||
"l4": "https://www.youtube.com/embed/si-MQ5qg3zE?si=67mfO6gV80n1ULqo"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
20
server/routers/esc/json/game-links/success.json
Normal file
20
server/routers/esc/json/game-links/success.json
Normal file
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"data":[
|
||||
{
|
||||
"title": "ABC",
|
||||
"description": "Мой брат Колян сбацал про меня байку на англицком и несколько фишек кинул для шухера. Англицкий ты вроде знаешь, впряжешься за меня, а?",
|
||||
"link": "https://www.oxfordonlineenglish.com/english-level-test/reading"
|
||||
},
|
||||
{
|
||||
"title": "Алё, меня слышно?",
|
||||
"description": "Мой кент на мобилу текст записал с иностранкой. Понимаешь, о чём тут говорят?",
|
||||
"link": "https://test-english.com/listening/"
|
||||
},
|
||||
{
|
||||
"title": "Анонимное тестирование",
|
||||
"description": "Ты язык-то нормально знаешь? Проверься, никто угарать не будет",
|
||||
"link": "https://www.ego4u.com/en/cram-up/tests"
|
||||
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -10,6 +10,22 @@ const { TOKEN_KEY } = require('./const')
|
||||
|
||||
const router = Router()
|
||||
|
||||
router.get('/:todoId/:itemId', async (req, res) => {
|
||||
const { todoId, itemId } = req.params
|
||||
|
||||
const todo = await ListModel.findById(todoId)
|
||||
if (!todo) {
|
||||
return res.send(getAnswer(new Error('no such todo')))
|
||||
}
|
||||
|
||||
const item = await ItemModel.findById(itemId).populate({ path: 'comments', populate: { path: 'author' } }).exec()
|
||||
if (!item) {
|
||||
return res.send(getAnswer(new Error('no such item')))
|
||||
}
|
||||
|
||||
res.send(getAnswer(null, item))
|
||||
})
|
||||
|
||||
router.use(expressjwt({ secret: TOKEN_KEY, algorithms: ['HS256'] }))
|
||||
|
||||
router.post('/:todoId/:itemId', async (req, res) => {
|
||||
@@ -34,20 +50,4 @@ router.post('/:todoId/:itemId', async (req, res) => {
|
||||
res.send(getAnswer(null, comment))
|
||||
})
|
||||
|
||||
router.get('/:todoId/:itemId', async (req, res) => {
|
||||
const { todoId, itemId } = req.params
|
||||
|
||||
const todo = await ListModel.findById(todoId)
|
||||
if (!todo) {
|
||||
return res.send(getAnswer(new Error('no such todo')))
|
||||
}
|
||||
|
||||
const item = await ItemModel.findById(itemId).populate({ path: 'comments', populate: { path: 'author' } }).exec()
|
||||
if (!item) {
|
||||
return res.send(getAnswer(new Error('no such item')))
|
||||
}
|
||||
|
||||
res.send(getAnswer(null, item))
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
|
||||
@@ -63,5 +63,38 @@ router.post('/item', requiredValidate('todoId', 'title'), async (req, res) => {
|
||||
res.send(getAnswer(null, item))
|
||||
})
|
||||
|
||||
// closed = new Date().toISOString()
|
||||
router.patch('/item/:itemId', async (req, res) => {
|
||||
const { itemId } = req.params
|
||||
const { title, done } = req.body
|
||||
|
||||
const item = await ItemModel.findById(itemId)
|
||||
|
||||
if (!item) {
|
||||
throw new Error('item not found')
|
||||
}
|
||||
|
||||
if (title) {
|
||||
item.title = title
|
||||
}
|
||||
|
||||
if (done) {
|
||||
item.done = done
|
||||
item.closed = done ? new Date().toISOString() : null
|
||||
}
|
||||
|
||||
await item.save()
|
||||
|
||||
res.send(getAnswer(null, item))
|
||||
})
|
||||
|
||||
router.delete('/item/:itemId', async (req, res) => {
|
||||
const { itemId } = req.params
|
||||
|
||||
await ItemModel.findByIdAndDelete(itemId)
|
||||
|
||||
res.send(getAnswer(null, { ok: true }))
|
||||
})
|
||||
|
||||
|
||||
module.exports = router
|
||||
|
||||
Reference in New Issue
Block a user