123456789101112131415161718192021222324 |
- 'use strict';
- /**
- * 处理密码类型的数据的中间件
- * 在处理前拦截,在传来的数据中 找是否有 key 在keyWord列表中.
- * 将在列表中的key的值转换成{secret:${value}},再去提交,免去重写create函数
- */
- const _ = require('lodash');
- const { ObjectId } = require('mongoose').Types;
- const keyWord = [ 'password', 'passwd', 'pwd' ];
- module.exports = options => {
- return async function createPassword(ctx, next) {
- const { method, url } = ctx.request;
- if (method === 'POST') {
- const body = ctx.request.body;
- const mid = _.pick(body, keyWord);
- if (Object.keys(mid).length > 0) {
- for (const key of Object.keys(mid)) {
- ctx.request.body[key] = { secret: body[key] };
- }
- }
- }
- await next();
- };
- };
|