Created
September 5, 2019 14:00
-
-
Save promontis/c352bb07a8eaee772273f718b7a6eef6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
directive @cost( | |
complexity: Int! = 1 | |
multipliers: [MultiplierPath!] | |
) on FIELD_DEFINITION | |
type Address implements IComponent { | |
city: String | |
country: String | |
housenumber: String | |
id: String | |
postalCode: String | |
street: String | |
} | |
type Ceiling implements IComponent { | |
id: String | |
} | |
type Component implements IComponent { | |
id: String | |
} | |
type Door implements IComponent { | |
height: Int! | |
id: String | |
width: Int! | |
} | |
type Floor implements IComponent { | |
ceiling: Ceiling | |
doors: [Door] | |
floorNumber: Int! | |
id: String | |
name: String | |
rooms: [Room] | |
structure: FloorStructure | |
walls: [Wall] | |
windows: [Window] | |
} | |
type FloorStructure implements IComponent { | |
automatic: Boolean! | |
height: Int! | |
id: String | |
} | |
enum Gender { | |
WOMAN | |
MAN | |
} | |
type House implements IComponent { | |
address: Address | |
floors: [Floor] | |
id: String | |
plot: Plot | |
residents: [Resident] | |
roof: Roof | |
templates: HouseTemplate | |
} | |
type HouseTemplate { | |
Floors: [TemplateInfo] | |
} | |
interface IComponent { | |
id: String | |
} | |
scalar MultiplierPath | |
type Mutation { | |
applyTemplate( | |
id: String | |
propertyName: String | |
templateName: String | |
): [IComponent] | |
newAddress(id: String): [IComponent] | |
newCeiling(id: String): [IComponent] | |
newDoor(id: String): [IComponent] | |
newFloor(floorNumber: Int, id: String, name: String): [IComponent] | |
newFloorStructure( | |
automatic: Boolean = true | |
height: Int = 10 | |
id: String | |
): [IComponent] | |
newHouse(id: String): [IComponent] | |
newPlot(height: Int = 1000, id: String, width: Int = 1000): [IComponent] | |
newResident(id: String, name: String): [IComponent] | |
newRoof(id: String): [IComponent] | |
newRoom(id: String): [IComponent] | |
newWall(id: String): [IComponent] | |
newWindow(id: String): [IComponent] | |
} | |
type Plot implements IComponent { | |
height: Int! | |
id: String | |
plotNumber: String | |
width: Int! | |
} | |
type Query { | |
Address: [Address] | |
Ceiling: [Ceiling] | |
Door(id: String!): [Door] | |
Doors( | |
after: String = "" | |
count: Int = 10 | |
): [Door] | |
Floor(id: String!): [Floor] | |
Floors( | |
after: String = "" | |
count: Int = 10 | |
): [Floor] | |
FloorStructure: [FloorStructure] | |
House: [House] | |
Plot: [Plot] | |
Resident(id: String!): [Resident] | |
Residents( | |
after: String = "" | |
count: Int = 10 | |
): [Resident] | |
Roof: [Roof] | |
Room(id: String!): [Room] | |
Rooms( | |
after: String = "" | |
count: Int = 10 | |
): [Room] | |
Wall(id: String!): [Wall] | |
Walls( | |
after: String = "" | |
count: Int = 10 | |
): [Wall] | |
Window(id: String!): [Window] | |
Windows( | |
after: String = "" | |
count: Int = 10 | |
): [Window] | |
} | |
type Resident implements IComponent { | |
age: Int! | |
gender: Gender! | |
id: String | |
name: String | |
optional: Boolean! | |
} | |
type Roof implements IComponent { | |
id: String | |
} | |
type Room implements IComponent { | |
area: String | |
id: String | |
residents: [Resident] | |
} | |
type TemplateInfo { | |
description: String | |
name: String | |
} | |
type Wall implements IComponent { | |
id: String | |
prototype: String | |
} | |
type Window implements IComponent { | |
altitude: Int! | |
height: Int! | |
id: String | |
width: Int! | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment