芝麻web文件管理V1.00
编辑当前文件:/home/freeclou/app.optimyar.com/backend/api/user-session/controllers/user-session.js
'use strict'; const requestIp = require('request-ip'); const {sanitizeEntity} = require('strapi-utils'); /** * Read the documentation (https://strapi.io/documentation/v3.x/concepts/controllers.html#core-controllers) * to customize this controller */ module.exports = { async create(ctx) { const {user} = ctx.state; //if user has 2 active session throw error const byUser = await strapi.services["user-session"].find({user: user.id, activeCode_null: false}); if (byUser && byUser.filter(x => x.isActive).length < 2) { const data = ctx.request.body; data.user = user.id; data.ip = requestIp.getClientIp(ctx.request.req); data.isActive = true; const entity = await strapi.services["user-session"].create(data); return ctx.send(entity.id); } else { return ctx.badRequest(null, "errors.moreThanNBrowser"); } }, async findOne(ctx) { try { const {id} = ctx.params; const {user} = ctx.state; const byId = await strapi.services["user-session"].findOne({user: user.id,activeCode: id}); if (byId === null) { return ctx.send(false); } //save last access await strapi.services["user-session"].update({id: byId.id}, {lastAccess: new Date(), playWithUser: user.id}); return sanitizeEntity(byId, {model: strapi.models["user-session"]}); } catch (ex) { return ctx.send(false); } } };