const Router = require('@koa/router'); const joi = require('joi'); const commonCtrl = require('src/controllers/common/index.js'); const accCtrl = require('src/controllers/account/index.js'); const r = new Router({ prefix: '/api' }); module.exports = r; // set api handler middleware r.use(commonCtrl.apiHandler()); /** * get account info * @swagger * @route GET /api/login * @group account - account apis * @param {string} back_url.query.required - back to url * @returns {RespDefault.model} default - */ r.get( '/login', commonCtrl.validate({ query: { back_url: joi.string().required(), }, }), accCtrl.loginSSO() ); /** * account refresh token * @swagger * @route POST /api/refresh * @group account - account apis * @security JWT * @returns {RespDefault.model} default - */ r.post('/refresh', commonCtrl.authorization(true), accCtrl.logout()); /** * account logout * @swagger * @route POST /api/logout * @group account - account apis * @security JWT * @returns {RespDefault.model} default - */ r.post('/logout', commonCtrl.authorization(false), accCtrl.logout()); /** * account get info * @swagger * @route GET /api/userinfo * @group account - account apis * @security JWT * @returns {RespDefault.model} default - */ r.get('/userinfo', commonCtrl.authorization(false), accCtrl.getInfo());