Bot releases are visible (Hide)
Published by lukemurray about 2 years ago
Fixes:
InputValue
type was being registered under wrong name #184Published by lukemurray about 2 years ago
Fixes:
AutoCreateFieldWithIdArguments
Published by lukemurray about 2 years ago
Breaking changes
IDirectiveProcessor
now requires a List<ExecutableDirectiveLocation> On { get; }
to define where the directive is allowed to be usedISchemaType.BaseType
. Use ISchemaType.BaseTypes
SchemaType
constructors - using GqlTypeEnum
instead of many boolean flagsSchemaProvider.AddInheritedType<TBaseType>
AddMutationsFrom
and friends. Mutation "controllers" are now always created per request like an asp.net controller. Use DI for any constructor parametersISchemaType.AddBaseType
to ISchemaType.Implements
to align with GraphQL language
ISchemaType.Implements
will throw an exception if you try to implement a non-interfaceISchemaType.AddAllBaseTypes
to ISchemaType.ImplementAllBaseTypes
to align with GraphQL languageCreate
& FromObject
on SchemaBuilder
now take option classes to configure the create of the schema through reflection
ISchemaType.AddAllFields
also takes the option class to configure it's behaviourISchemaType.AddAllFields
default behaviour now auto adds any complex types found really reflection the properties & fields and will add those to the schemaSchemaBuilder.FromObject
- AutoCreateInterfaceTypes
. Defaults to false
. If true
any abstract classes or interfaces on types reflected with be added as Interfaces in the schema. This is useful if you expose lists of entities on a base/interface type.Changes
ToGraphQLSchemaString
now outputs directives in the schema[GraphQLMutation]
public Person AddPersonSeparateArguments(string name, List<string> names, InputObject nameInput, Gender? gender)
{
// ...
}
[GraphQLMutation]
public Person AddPersonSingleArgument(InputObject nameInput)
{
// ...
}
Turns into
type Mutation {
addPersonSeparateArguments(name: String, names: [String!], nameInput: InputObject, gender: Gender): Person
addPersonSingleArgument(nameInput: InputObject): Person
}
EntityGraphQL
package now targets net6.0;net5.0;netstandard2.1
GraphQLOneOfAttribute
and EntityGraphQL will mark the type with @oneOf
in the schema and validate the input meets the requiements on executionFixes
Published by lukemurray over 2 years ago
Fixes
const
fields on mutation args or input typesPublished by lukemurray over 2 years ago
Fixes:
!=
operator in the fitler expression language and make sure precedence is correct for logic operatorsPublished by lukemurray over 2 years ago
Changes:
AddMutationsFrom
now can use the ServiceProvider
instance to create the mutation class allowing dependency injection at the constructor level like Controllers.ISchemaType.BaseType
is obsolete.AddAllBaseTypes
, AddBaseType
and AddBaseType(string)
which provides a lot more flexiblity. See updated docs.ToGraphQLSchemaString
now orders types and fields by name for consistency regardless of order of fields added and to reduce differences when diffing the schema.Fixes:
schema.RemoveTypeAndAllFields
and a field of the removing type had a type that has not been added to the schema.