Skip to content

Commit

Permalink
feat(): Complexity options on Query and Mutation
Browse files Browse the repository at this point in the history
Signed-off-by: William Sedlacek <wsedlacekc@gmail.com>
  • Loading branch information
William Sedlacek committed Aug 12, 2020
1 parent a9031d0 commit 1c3a64e
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
6 changes: 6 additions & 0 deletions lib/decorators/mutation.decorator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Type } from '@nestjs/common';
import { isString } from '@nestjs/common/utils/shared.utils';
import 'reflect-metadata';
import { Resolver } from '../enums/resolver.enum';
import { Complexity } from '../interfaces';
import { BaseTypeOptions } from '../interfaces/base-type-options.interface';
import { ReturnTypeFunc } from '../interfaces/return-type-func.interface';
import { UndefinedReturnTypeError } from '../schema-builder/errors/undefined-return-type.error';
Expand All @@ -27,6 +28,10 @@ export interface MutationOptions extends BaseTypeOptions {
* Mutation deprecation reason (if deprecated).
*/
deprecationReason?: string;
/**
* Mutation complexity options.
*/
complexity?: Complexity;
}

/**
Expand Down Expand Up @@ -78,6 +83,7 @@ export function Mutation(
returnTypeOptions: typeOptions,
description: options.description,
deprecationReason: options.deprecationReason,
complexity: options.complexity,
};
TypeMetadataStorage.addMutationMetadata(metadata);
});
Expand Down
6 changes: 6 additions & 0 deletions lib/decorators/query.decorator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Type } from '@nestjs/common';
import { isString } from '@nestjs/common/utils/shared.utils';
import 'reflect-metadata';
import { Resolver } from '../enums/resolver.enum';
import { Complexity } from '../interfaces';
import { BaseTypeOptions } from '../interfaces/base-type-options.interface';
import { ReturnTypeFunc } from '../interfaces/return-type-func.interface';
import { UndefinedReturnTypeError } from '../schema-builder/errors/undefined-return-type.error';
Expand All @@ -27,6 +28,10 @@ export interface QueryOptions extends BaseTypeOptions {
* Query deprecation reason (if deprecated).
*/
deprecationReason?: string;
/**
* Query complexity options.
*/
complexity?: Complexity;
}

/**
Expand Down Expand Up @@ -78,6 +83,7 @@ export function Query(
returnTypeOptions: typeOptions,
description: options.description,
deprecationReason: options.deprecationReason,
complexity: options.complexity,
};
TypeMetadataStorage.addQueryMetadata(metadata);
});
Expand Down

0 comments on commit 1c3a64e

Please sign in to comment.