UNPKG

willwill96-petfinder-graphql

Version:

contains files and utilities to bootstrap a graphql instance wrapping the petfinder api

3 lines (2 loc) 6.5 kB
declare const typeDefs = "\ntype Address {\n address1: String\n address2: String\n city: String\n country: String\n postcode: String\n state: String\n}\n\ntype Adoption {\n policy: String\n url: String\n}\n\nenum AgeListItem {\n BABY\n YOUNG\n ADULT\n SENIOR\n}\n\ntype Animal {\n age: String\n attributes: Attributes\n breeds: Breeds2\n coat: String\n colors: Colors2\n contact: Contact\n description: String\n environment: Environment\n gender: String\n id: ID\n links: Links3\n name: String\n organization: Organization\n photos: [Photo]\n publishedAt: String\n size: String\n species: String\n\n \"\"\"Adoption status\"\"\"\n status: String\n tags: [String]\n type: String\n url: String\n\n \"\"\"Distance in miles to location provided in query. Null if not provided\"\"\"\n distance: Float\n}\n\ntype AnimalBreed {\n links: Links2\n name: String\n}\n\ntype Animals {\n animals: [Animal]\n pagination: Pagination\n}\n\ntype AnimalType {\n coats: [String]\n colors: [String]\n genders: [String]\n links: Links\n name: String\n}\n\ntype Attributes {\n declawed: Boolean\n houseTrained: Boolean\n shotsCurrent: Boolean\n spayedNeutered: Boolean\n specialNeeds: Boolean\n}\n\ntype Breeds2 {\n mixed: Boolean\n primary: String\n secondary: String\n unknown: Boolean\n}\n\nenum CoatListItem {\n SHORT\n MEDIUM\n LONG\n WIRE\n HAIRLESS\n CURLY\n}\n\ntype Colors2 {\n primary: String\n secondary: String\n tertiary: String\n}\n\ntype Contact {\n address: Address\n email: String\n phone: String\n}\n\ntype Environment {\n cats: Boolean\n children: Boolean\n dogs: Boolean\n}\n\nenum GenderListItem {\n MALE\n FEMALE\n UNKNOWN\n}\n\ntype Hours {\n friday: String\n monday: String\n saturday: String\n sunday: String\n thursday: String\n tuesday: String\n wednesday: String\n}\n\ntype Link {\n \"\"\"Relative URL to linked resource\"\"\"\n href: String\n}\n\ntype LinkNullable {\n \"\"\"Relative URL to linked resource\"\"\"\n href: String\n}\n\ntype Links {\n breeds: Link\n self: Link\n}\n\ntype Links2 {\n type: Link\n}\n\ntype Links3 {\n organization: Link\n self: Link\n type: Link\n}\n\ntype Links4 {\n next: LinkNullable\n previous: LinkNullable\n}\n\ntype Links5 {\n animals: Link\n self: Link\n}\n\ntype Organization {\n address: Address\n adoption: Adoption\n email: String\n hours: Hours\n id: ID\n links: Links5\n missionStatement: String\n name: String\n phone: String\n photos: [Photo]\n socialMedia: SocialMedia\n url: String\n website: String\n\n \"\"\"Distance in miles to location provided in query. Null if not provided\"\"\"\n distance: Float\n}\n\ntype Organizations {\n organizations: [Organization]\n pagination: Pagination\n}\n\ntype Pagination {\n countPerPage: Int\n currentPage: Int\n links: Links4\n totalCount: Int\n totalPages: Int\n}\n\ntype Photo {\n full: String\n large: String\n medium: String\n small: String\n}\n\ntype Query {\n \"\"\"\n Get Animal\n \n Equivalent to GET /animals/{id}\n \"\"\"\n animal(\n \"\"\"Animal ID\"\"\"\n id: ID!\n ): Animal\n\n \"\"\"\n Get Animals\n \n Equivalent to GET /animals\n \"\"\"\n animals(\n \"\"\"Filter results matching animal age\"\"\"\n age: [AgeListItem]\n\n \"\"\"Filter results matching animal breed\"\"\"\n breed: [String]\n\n \"\"\"Filter results matching animal coat\"\"\"\n coat: [CoatListItem]\n\n \"\"\"Filter results matching animal color\"\"\"\n color: [String]\n\n \"\"\"Filter results by distance from given location\"\"\"\n distance: Int\n\n \"\"\"Filter results matching animal gender\"\"\"\n gender: [GenderListItem]\n\n \"\"\"Number of results to return\"\"\"\n limit: Int\n\n \"\"\"\n Filter results matching animal location (postal code, city/state, lat/long)\n \"\"\"\n location: String\n\n \"\"\"Filter results by name. Uses partial match.\"\"\"\n name: String\n\n \"\"\"Filter results by organization\"\"\"\n organization: [String]\n\n \"\"\"Page of results to return\"\"\"\n page: Int\n\n \"\"\"Filter results matching animal size\"\"\"\n size: [SizeListItem]\n\n \"\"\"Field to sort by\"\"\"\n sort: Sort\n\n \"\"\"Filter by adoption status\"\"\"\n status: Status\n\n \"\"\"Filter results matching animal type\"\"\"\n type: Type2\n ): Animals\n\n \"\"\"\n Get Organization\n \n Equivalent to GET /organizations/{id}\n \"\"\"\n organization(\n \"\"\"Organization ID\"\"\"\n id: ID!\n ): Organization\n\n \"\"\"\n Get Organizations\n \n Equivalent to GET /organizations\n \"\"\"\n organizations(\n \"\"\"Filter results by country\"\"\"\n country: String\n\n \"\"\"Filter results by distance from given location\"\"\"\n distance: Int\n\n \"\"\"Number of results to return\"\"\"\n limit: Int\n\n \"\"\"\n Filter results by location (_postal code_, _city/state_, or _lat/long_)\n \"\"\"\n location: String\n\n \"\"\"Filter results matching organization name\"\"\"\n name: String\n\n \"\"\"Page of results to return\"\"\"\n page: Int\n\n \"\"\"\n Search on _name_, _city_, _state_; Fuzzy search that includes synonyms, punctuation, etc.\n \"\"\"\n query: String\n \"\"\"Sort results by field\"\"\"\n sort: Sort2\n \"\"\"Filter results by state\"\"\"\n state: String\n ): Organizations\n \"\"\"\n Get Animal Type\n \n Equivalent to GET /types/{type}\n \"\"\"\n type(\n \"\"\"Animal type\"\"\"\n type: String!\n ): Type\n\n \"\"\"\n Get Animal Breeds\n \n Equivalent to GET /types/{type}/breeds\n \"\"\"\n typeBreeds(\n \"\"\"Animal type\"\"\"\n type: String!\n ): TypeBreeds\n\n \"\"\"\n Get Animal Types\n \n Equivalent to GET /types\n \"\"\"\n types: Types\n}\n\nenum SizeListItem {\n SMALL\n MEDIUM\n LARGE\n EXTRA_LARGE\n}\n\ntype SocialMedia {\n facebook: String\n instagram: String\n pinterest: String\n twitter: String\n youtube: String\n}\n\nenum Sort {\n RECENT\n _RECENT\n DISTANCE\n _DISTANCE\n RANDOM\n}\n\nenum Sort2 {\n DISTANCE\n _DISTANCE\n NAME\n _NAME\n COUNTRY\n _COUNTRY\n STATE\n _STATE\n}\n\nenum Status {\n ADOPTABLE\n ADOPTED\n FOUND\n}\n\ntype Type {\n type: AnimalType\n}\n\nenum Type2 {\n DOG\n CAT\n SMALL_FURRY\n BIRD\n SCALES_FINS_OTHER\n BARNYARD\n RABBIT\n HORSE\n}\n\ntype TypeBreeds {\n breeds: [AnimalBreed]\n}\n\ntype Types {\n types: [AnimalType]\n}\n"; export default typeDefs;