123456789101112131415161718192021222324 |
- import { createRequestParamDecorator } from '@midwayjs/core';
- import { get, pick, omit } from 'lodash';
- import { QueryMapping, QueryReset } from '../frame/QueryUtils';
- const pageKeys = ['skip', 'limit'];
- /**将query的skip和limit提取到object中返回 */
- export const Page = () => {
- return createRequestParamDecorator(ctx => {
- const query = get(ctx, 'query', {});
- const page = pick(query, pageKeys);
- return page;
- });
- };
- /**将query中的skip和limit剃除,整理查询参数的值和键的映射 */
- export const Query = (mapping?: object) => {
- return createRequestParamDecorator(ctx => {
- const query = get(ctx, 'query', {});
- let filter: object = omit(query, pageKeys);
- // 先处理参数的查询方式
- filter = QueryReset(filter);
- // 再处理mapping的字段映射
- filter = QueryMapping(filter, mapping);
- return filter;
- });
- };
|