34 lines
844 B
JavaScript
34 lines
844 B
JavaScript
const { getAllSessions, getUserSessions, invalidateSessions } = require("@budibase/auth/sessions")
|
|
|
|
exports.fetch = async ctx => {
|
|
ctx.body = await getAllSessions()
|
|
}
|
|
|
|
exports.find = async ctx => {
|
|
const { userId } = ctx.params
|
|
const sessions = await getUserSessions(userId)
|
|
ctx.body = sessions.map(session => session.value)
|
|
}
|
|
|
|
exports.invalidateUser = async ctx => {
|
|
const { userId } = ctx.params
|
|
await invalidateSessions(userId)
|
|
ctx.body = {
|
|
message: "User sessions invalidated"
|
|
}
|
|
}
|
|
|
|
exports.selfSessions = async ctx => {
|
|
const userId = ctx.user._id
|
|
ctx.body = await getUserSessions(userId)
|
|
}
|
|
|
|
exports.invalidateSession = async ctx => {
|
|
const userId = ctx.user._id
|
|
const { sessionId } = ctx.params
|
|
await invalidateSessions(userId, sessionId)
|
|
ctx.body = {
|
|
message: "Session invalidated successfully."
|
|
}
|
|
}
|