[feat] Init code
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
const Router = require('@koa/router');
|
||||
|
||||
const commonCtrl = require('src/controllers/common/index.js');
|
||||
const v1Router = require('./v1/index.js');
|
||||
|
||||
const r = new Router({ prefix: '/api' });
|
||||
module.exports = r;
|
||||
|
||||
// set api handler middleware
|
||||
r.use(commonCtrl.apiHandler(), commonCtrl.getAppVersion());
|
||||
|
||||
r.use(v1Router.routes());
|
||||
@@ -0,0 +1,25 @@
|
||||
const Router = require('@koa/router');
|
||||
const joi = require('joi');
|
||||
const commonCtrl = require('src/controllers/common/index.js');
|
||||
const accCtrl = require('src/controllers/account/v1/index.js');
|
||||
|
||||
const r = new Router({ prefix: '/account' });
|
||||
module.exports = r;
|
||||
|
||||
/**
|
||||
* get account info
|
||||
* @swagger
|
||||
* @route GET /api/v1/account/login/sso
|
||||
* @group account - account apis
|
||||
* @param {string} back_url.query.required - back to url
|
||||
* @returns {RespDefault.model} default -
|
||||
*/
|
||||
r.get(
|
||||
'/login/sso',
|
||||
commonCtrl.validate({
|
||||
query: {
|
||||
back_url: joi.string().required(),
|
||||
},
|
||||
}),
|
||||
accCtrl.loginSSO()
|
||||
);
|
||||
@@ -0,0 +1,8 @@
|
||||
const Router = require('@koa/router');
|
||||
|
||||
const accountRouter = require('./account/index.js');
|
||||
|
||||
const r = new Router({ prefix: '/v1' });
|
||||
module.exports = r;
|
||||
|
||||
r.use(accountRouter.routes());
|
||||
@@ -0,0 +1,14 @@
|
||||
const Router = require('@koa/router');
|
||||
|
||||
const controller = require('src/controllers/index.js');
|
||||
const apiRouter = require('./api/index.js');
|
||||
const oauthRouter = require('./oauth/index.js');
|
||||
|
||||
const r = new Router();
|
||||
module.exports = r;
|
||||
|
||||
r.get('/', controller.healthCheck);
|
||||
r.get(['/apple-app-site-association', '/.well-known/apple-app-site-association'], controller.appleAppSiteAssociation);
|
||||
|
||||
r.use(apiRouter.routes());
|
||||
r.use(oauthRouter.routes());
|
||||
@@ -0,0 +1,8 @@
|
||||
const Router = require('@koa/router');
|
||||
const oauthCtrl = require('src/controllers/oauth/index.js');
|
||||
|
||||
const r = new Router({ prefix: '/oauth' });
|
||||
|
||||
r.get('/redirect', oauthCtrl.verifyCode());
|
||||
|
||||
module.exports = r;
|
||||
@@ -0,0 +1,29 @@
|
||||
// @ts-nocheck
|
||||
module.exports = {};
|
||||
|
||||
/**
|
||||
* @typedef RespDefault
|
||||
* @description 預設回傳格式
|
||||
* @property {string} message
|
||||
* @property {number} code MessageCode
|
||||
* @property {string} errorStack api error stack (除了prod以外的環境會有)
|
||||
* @property {string} errorMessage api error message (除了prod以外的環境會有)
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Pager
|
||||
* @description 頁數資訊
|
||||
* @property {number} page 目前頁數
|
||||
* @property {number} count 總筆數
|
||||
* @property {number} total 總頁數
|
||||
*/
|
||||
|
||||
/**
|
||||
* @typedef Account
|
||||
* @description API回傳使用者資訊
|
||||
* @property {string} id 使用者ID
|
||||
* @property {string} phone 手機
|
||||
* @property {string} display_name 顯示名稱
|
||||
* @property {string} created_time 帳號建立時間
|
||||
* @property {string} updated_time 帳號更新時間
|
||||
*/
|
||||
Reference in New Issue
Block a user