public VehicleGraphType(Swapi api) { _api = api; Name = "Vehicle"; Field(p => p.Id, nullable: true); Field(p => p.Name); Field(p => p.Model); Field(p => p.Manufacturer); Field(p => p.CostInCredits); Field(p => p.Length); Field(p => p.MaxAtmospheringSpeed); Field(p => p.Crew); Field(p => p.Passengers); Field(p => p.CargoCapacity); Field(p => p.VehicleClass); Field(p => p.Consumables); Connection <PeopleGraphType>() .Name("pilots") .Unidirectional() .Resolve(ctx => api .GetMany <People>(ctx.Source.Pilots) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <FilmGraphType>() .Name("films") .Unidirectional() .Resolve(ctx => api .GetMany <Films>(ctx.Source.Films) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx, 1, 10)) ); }
public PlanetGraphType(Swapi api) { _api = api; Name = "Planet"; Field(p => p.Id, nullable: true); Field(p => p.Name); Field(p => p.RotationPeriod); Field(p => p.OrbitalPeriod); Field(p => p.Diameter); Field(p => p.Climate); Field(p => p.Gravity); Field(p => p.Terrain); Field(p => p.SurfaceWater); Field(p => p.Population); Connection <PeopleGraphType>() .Name("residents") .Unidirectional() .Resolve(ctx => api .GetMany <People>(ctx.Source.Residents) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <FilmGraphType>() .Name("films") .Unidirectional() .Resolve(ctx => api .GetMany <Films>(ctx.Source.Films) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); }
public FilmGraphType(Swapi api) { _api = api; Name = "Film"; //Id(p => p.Id); Field(p => p.Id); Field(p => p.Title); Field(p => p.EpisodeId); Field(p => p.OpeningCrawl); Field(p => p.Director); Field(p => p.Producer); Field(p => p.ReleaseDate); Connection <PeopleGraphType>() .Name("characters") .Unidirectional() .Resolve(ctx => api .GetMany <People>(ctx.Source.Characters) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <PlanetGraphType>() .Name("planets") .Unidirectional() .Resolve(ctx => api .GetMany <Planets>(ctx.Source.Planets) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <SpeciesGraphType>() .Name("species") .Unidirectional() .Resolve(ctx => api .GetMany <Species>(ctx.Source.Species) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <StarshipGraphType>() .Name("starships") .Unidirectional() .Resolve(ctx => api .GetMany <Starships>(ctx.Source.Starships) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <VehicleGraphType>() .Name("vehicles") .Unidirectional() .Resolve(ctx => api .GetMany <Vehicles>(ctx.Source.Vehicles) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); }
public PeopleGraphType(Swapi api) { _api = api; Name = "People"; Field(p => p.Id, nullable: true); Field(p => p.Name); Field(p => p.Height); Field(p => p.Mass); Field(p => p.HairColor); Field(p => p.SkinColor); Field(p => p.EyeColor); Field(p => p.BirthYear); Field(p => p.Gender); Field( name: "homeworld", type: typeof(PlanetGraphType), resolve: ctx => _api.GetEntity <Planets>(ctx.Source.Homeworld) ); Connection <FilmGraphType>() .Name("films") .Unidirectional() .Resolve(ctx => api .GetMany <Films>(ctx.Source.Films) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <SpeciesGraphType>() .Name("species") .Unidirectional() .Resolve(ctx => api .GetMany <Species>(ctx.Source.Species) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <StarshipGraphType>() .Name("starships") .Unidirectional() .Resolve(ctx => api .GetMany <Starships>(ctx.Source.Starships) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <VehicleGraphType>() .Name("vehicles") .Unidirectional() .Resolve(ctx => api .GetMany <Vehicles>(ctx.Source.Vehicles) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); }
public SpeciesGraphType(Swapi api) { _api = api; Name = "Species"; Field(p => p.Id, nullable: true); Field(p => p.Name); Field(p => p.Classification); Field(p => p.Designation); Field(p => p.AverageHeight); Field(p => p.SkinColors); Field(p => p.HairColors); Field(p => p.EyeColors); Field(p => p.AverageLifespan); Field(p => p.Language); Field( name: "homeworld", type: typeof(PlanetGraphType), resolve: ctx => _api.GetEntity <Planets>(ctx.Source.Homeworld) ); Connection <PeopleGraphType>() .Name("people") .Unidirectional() .Resolve(ctx => api .GetMany <People>(ctx.Source.People) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); Connection <FilmGraphType>() .Name("films") .Unidirectional() .Resolve(ctx => api .GetMany <Films>(ctx.Source.Films) .ContinueWith(t => ConnectionUtils.ToConnection(t.Result, ctx)) ); }