feat: apply auth to container and cli client

This commit is contained in:
wancat committed 2023-09-12 00:12:09 +08:00
1 parent 030dc95e24
commit 0f53696f71
8 files changed
+64 -27

No files matched your search

@@ -1,26 +1,18 @@
/* eslint-disable import/prefer-default-export */
import Command from '../../models/command.js'
import Session from '../../models/session.js'
import { verifySessionJWT } from '../../utils/auth.js'
import CommandHandler from '../../game/commandHandler.js'
export async function newCommand(req, res) {
console.log('new command:', req.body)
const { token, command, pwd, output, error, ...additionalData } = req.body
const { command, pwd, output, error, ...additionalData } = req.body
if (!command) {
res.status(400).json({ message: 'command is required' })
return
}
let sessionId
try {
const decoded = await verifySessionJWT(token)
sessionId = decoded.session_id
} catch (err) {
res.status(401).json({ message: 'token not valid' })
return
}
const sessionId = req.user.session_id
const session = await Session.findById(sessionId)
@@ -5,7 +5,7 @@ import SessionHandler from '../../game/sessionHandler.js'
export async function getSessionList(req, res) {
try {
const query = { user: req.user.id }
const query = { user: req.user._id }
if (req.query.quest_id) {
query.quest = req.query.quest_id
}
@@ -70,7 +70,7 @@ export async function getSessionById(req, res) {
try {
const session = await Session.findOne({
_id: req.params.id,
user: req.user.id,
user: req.user._id,
})
if (!session) {
@@ -88,7 +88,7 @@ export async function deleteSessionById(req, res) {
try {
const session = await Session.findOneAndDelete({
_id: req.params.id,
user: req.user.id,
user: req.user._id,
})
if (!session) {