{"owner":"reactioncommerce","repo":"reaction","hasSpec":true,"specFile":"packages/api-core/src/graphql/schema.graphql","branch":"HEAD","format":"graphql","version":"Unknown","title":"reaction","description":"","endpoints":[],"spec":"\"A date\"\nscalar Date\n\n\"A date and time\"\nscalar DateTime\n\n\"An object with any fields\"\nscalar JSONObject\n\n\"Distance units\"\nenum DistanceUnit {\n  \"Centimeter\"\n  cm\n\n  \"Foot\"\n  ft\n\n  \"Inch\"\n  in\n}\n\n\"Mass units\"\nenum MassUnit {\n  \"Gram\"\n  g\n\n  \"Kilogram\"\n  kg\n\n  \"Pound\"\n  lb\n\n  \"Ounce\"\n  oz\n}\n\n\"Relational Operator Types used in filtering inside a single condition\"\nenum RelationalOperatorTypes{\n  \"Begins With used with String types to filter based on the beginning of the string\"\n  beginsWith\n\n  \"Ends With used with String types to filter based on the end of the string\"\n  endsWith\n\n  \"Equal to\"\n  eq\n\n  \"Greater Than\"\n  gt\n\n  \"Greater Than or Equal\"\n  gte\n\n  \"In used with Array types to filter based on the array containing the value\"\n  in\n\n  \"Less Than\"\n  lt\n\n  \"Less Than or Equal\"\n  lte\n\n  \"Not Equal to\"\n  ne\n\n  \"Not In used with Array types to filter based on the array not containing the value\"\n  nin\n\n  \"Regex used with String types to filter based on the regex pattern\"\n  regex\n}\n\n\"Single Condition for filter, use exactly one of the optional input value type\"\ninput SingleConditionInput {\n  \"Value to filter if it is Boolean input\"\n  booleanValue: Boolean\n\n  \"Flag to set if the regex is case insensitive\"\n  caseSensitive: Boolean\n\n  \"Value to filter if it is Date input\"\n  dateValue: DateTime\n\n  \"Value to filter if it is Float Array input\" \n  floatArrayValue: [Float]\n\n  \"Value to filter if it is Float input\"\n  floatValue: Float\n\n  \"Value to filter if it is Integer Array input\" \n  integerArrayValue: [Int]\n\n  \"Value to filter if it is Integer input\"\n  integerValue: Int\n\n  \"Field name\"\n  key: String!\n\n  \"Logical NOT operator to negate the condition\"\n  logicalNot: Boolean\n\n  \"Relational Operator to join the key and value\"\n  relationalOperator: RelationalOperatorTypes!\n\n  \"Value to filter if it is String Array input\"\n  stringArrayValue: [String]\n\n  \"Value to filter if it is String input\"\n  stringValue: String\n}\n\n\"Filter with One level of conditions (use either 'any' or 'all' not both)\"\ninput ConditionsArray {\n  \"Array of single-conditions\"\n  all: [SingleConditionInput]\n\n  \"Array of single-conditions\"\n  any: [SingleConditionInput]\n}\n\n\"Filter with nested conditions of input (use either 'any' or 'all' not both)\"\ninput FilterConditionsInput {\n  \"Array holding Nested conditions (use either 'any' or 'all' not both)\"\n  all: [ConditionsArray]\n\n  \"Array holding Nested conditions (use either 'any' or 'all' not both)\"\n  any: [ConditionsArray]\n}\n\n\n\"A list of URLs for various sizes of an image\"\ntype ImageSizes {\n  \"Use this URL to get a large resolution file for this image\"\n  large: String\n\n  \"Use this URL to get a medium resolution file for this image\"\n  medium: String\n\n  \"\"\"\n  Use this URL to get this image with its original resolution as uploaded. This may not be\n  the true original size if there is a hard cap on how big image files can be.\n  \"\"\"\n  original: String\n\n  \"Use this URL to get a small resolution file for this image\"\n  small: String\n\n  \"Use this URL to get a thumbnail resolution file for this image\"\n  thumbnail: String\n}\n\n\"Information about an image\"\ntype ImageInfo {\n  \"A list of URLs for various size files of this image\"\n  URLs: ImageSizes\n\n  \"ID\"\n  _id: ID\n\n  \"\"\"\n  Sort by priority ascending when displaying more than one image for a product in a user interface.\n  This is an integer with 1 being the first / highest priority image.\n  \"\"\"\n  priority: Int\n\n  \"The related product ID\"\n  productId: ID\n\n  \"The related variant ID, if linked with a particular variant\"\n  variantId: ID\n}\n\n\"Represents some amount of a single currency\"\ntype Money {\n  \"The numeric amount\"\n  amount: Float!\n\n  \"The currency, for interpreting the `amount`\"\n  currency: Currency!\n\n  \"The display amount, with any currency symbols and decimal places already added\"\n  displayAmount: String!\n}\n\n\"Represents input for some amount of a single currency\"\ninput MoneyInput {\n  \"The numeric amount\"\n  amount: Float!\n\n  \"The currency code, for interpreting the `amount`\"\n  currencyCode: String!\n}\n\n\"A numeric rate, with its corresponding percent values\"\ntype Rate {\n  \"The rate\"\n  amount: Float!\n\n  \"The percent as a preformatted string with percent symbol included\"\n  displayPercent: String!\n\n  \"The percent (rate x 100)\"\n  percent: Float!\n}\n\n\"Mutations have side effects, such as mutating data or triggering a task\"\ntype Mutation {\n  \"A test mutation that returns whatever string you send it\"\n  echo(\"Any string\" str: String): String\n}\n\n\"Queries return all requested data, without any side effects\"\ntype Query {\n  \"A test query\"\n  ping: String!\n}\n\n# Although the spec allows and Apollo supports defining an empty union\n# that is extended later in other files, the graphql-schema-linter\n# package currently has a problem with this, so we must assign FakeData\n# to the unions to work around this issue.\n#\n# Do not use this type, and remove it after this bug is fixed.\n#\n# Usage:\n#   union PaymentData = FakeData\n#\n# https://github.com/cjoudrey/graphql-schema-linter/issues/151\n\"Do not use this\"\ntype FakeData {\n  \"Do not use this\"\n  doNotUse: String\n}\n\n\"Represents one type of currency\"\ntype Currency implements Node {\n  \"ID\"\n  _id: ID!\n\n  \"Currency code\"\n  code: String!\n\n  \"Decimal symbol\"\n  decimal: String\n\n  \"Format string\"\n  format: String!\n\n  \"Exchange rate from shop default currency, if known\"\n  rate: Float\n\n  \"The decimal scale used by this currency\"\n  scale: Int\n\n  \"Currency symbol\"\n  symbol: String!\n\n  \"Thousands separator symbol\"\n  thousand: String\n}\n\n\"A string used as a connection cursor\"\nscalar ConnectionCursor\n\n\"An integer which will be auto-adjusted to be greater than 0 and less than 50 if necessary\"\nscalar ConnectionLimitInt\n\n\"The order in which the connection results should be sorted, based on the sortBy field.\"\nenum SortOrder {\n  \"ascending\"\n  asc\n\n  \"descending\"\n  desc\n}\n\n\"Objects implementing the Node interface will always have an _id field that is globally unique.\"\ninterface Node {\n  \"The ID of the object\"\n  _id: ID!\n}\n\n\"Objects implementing the Deletable support soft deletion\"\ninterface Deletable {\n  \"\"\"\n  If true, this object should be considered deleted. Soft deleted objects are not\n  returned in query results unless you explicitly ask for them.\n  \"\"\"\n  isDeleted: Boolean!\n}\n\n\"\"\"\nObjects implementing the NodeEdge interface will always have a node and a cursor\nthat represents that node for purposes of requesting paginated results.\n\"\"\"\ninterface NodeEdge {\n  \"The cursor that represents this node in the paginated results\"\n  cursor: ConnectionCursor!\n\n  \"The node itself\"\n  node: Node\n}\n\n\"\"\"\nPagination information. When requesting pages of results, you can use endCursor or startCursor\nas your before or after parameters for the query you are paging.\n\"\"\"\ntype PageInfo {\n  \"When paginating forwards, the cursor to continue.\"\n  endCursor: ConnectionCursor\n\n  \"When paginating forwards, are there more items?\"\n  hasNextPage: Boolean!\n\n  \"When paginating backwards, are there more items?\"\n  hasPreviousPage: Boolean!\n\n  \"When paginating backwards, the cursor to continue.\"\n  startCursor: ConnectionCursor\n}\n\n\"A string email address\"\nscalar Email\n\n\"A confirmable email record\"\ntype EmailRecord {\n  \"The actual email address\"\n  address: String\n\n  \"The services provided by this address\"\n  provides: String\n\n  \"Has this address been verified?\"\n  verified: Boolean\n}\n\n\"A confirmable email record\"\ninput EmailRecordInput {\n  \"The actual email address\"\n  address: String\n\n  \"The services provided by this address\"\n  provides: String\n\n  \"Has this address been verified?\"\n  verified: Boolean\n}\n\n\"User defined attributes. You can include only `key` and use these like tags, or also include a `value`.\"\ninput MetafieldInput {\n  \"Field description\"\n  description: String\n\n  \"Field key\"\n  key: String!\n\n  \"Field namespace\"\n  namespace: String\n\n  \"Field scope\"\n  scope: String\n\n  \"Field value\"\n  value: String\n\n  \"Field value type\"\n  valueType: String\n}\n\n\"User defined attributes\"\ntype Metafield {\n  \"Field description\"\n  description: String\n\n  \"Field key\"\n  key: String\n\n  \"Field namespace\"\n  namespace: String\n\n  \"Field scope\"\n  scope: String\n\n  \"Field value\"\n  value: String\n\n  \"Field value type\"\n  valueType: String\n}\n\n\"The details of an `Address` to be created or updated\"\ninput AddressInput {\n  \"The street address / first line\"\n  address1: String!\n\n  \"Optional second line\"\n  address2: String\n\n  \"\"\"\n  Optionally, a name for this address (e.g. 'Home') to easily identify it in the future\n  \"\"\"\n  addressName: String\n\n  \"City\"\n  city: String!\n\n  \"Optional company name, if it's a business address\"\n  company: String\n\n  \"Country\"\n  country: String!\n\n  \"\"\"\n  The first name of a person at this address\n  This is an optional field to support legacy and third party platforms\n  We use fullName internally, and use first and last name fields to combine into a full name if needed\n  \"\"\"\n  firstName: String\n\n  \"The full name of a person at this address\"\n  fullName: String!\n\n  \"Is this the default address for billing purposes?\"\n  isBillingDefault: Boolean\n\n  \"Is this a commercial address?\"\n  isCommercial: Boolean\n\n  \"Is this the default address to use when selecting a shipping address at checkout?\"\n  isShippingDefault: Boolean\n\n  \"\"\"\n  The last name of a person at this address\n  This is an optional field to support legacy and third party platforms\n  We use fullName internally, and use first and last name fields to combine into a full name if needed\n  \"\"\"\n  lastName: String\n\n  \"Arbitrary additional metadata about this address\"\n  metafields: [MetafieldInput]\n\n  \"A phone number for someone at this address\"\n  phone: String!\n\n  \"Postal code\"\n  postal: String!\n\n  \"Region. For example, a U.S. state\"\n  region: String!\n}\n\n\"Represents a physical or mailing address somewhere on Earth\"\ntype Address {\n  \"The address ID\"\n  _id: ID\n\n  \"The street address / first line\"\n  address1: String!\n\n  \"Optional second line\"\n  address2: String\n\n  \"City\"\n  city: String!\n\n  \"Optional company name, if it's a business address\"\n  company: String\n\n  \"Country\"\n  country: String!\n\n  \"\"\"\n  The first name of a person at this address\n  This is an optional field to support legacy and third party platforms\n  We use fullName internally, and use first and last name fields to combine into a full name if needed\n  \"\"\"\n  firstName: String\n\n  \"The full name of a person at this address\"\n  fullName: String!\n\n  \"Is this the default address for billing purposes?\"\n  isBillingDefault: Boolean\n\n  \"Is this a commercial address?\"\n  isCommercial: Boolean!\n\n  \"Is this the default address to use when selecting a shipping address at checkout?\"\n  isShippingDefault: Boolean\n\n  \"\"\"\n  The last name of a person at this address\n  This is an optional field to support legacy and third party platforms\n  We use fullName internally, and use first and last name fields to combine into a full name if needed\n  \"\"\"\n  lastName: String\n\n  \"Arbitrary additional metadata about this address\"\n  metafields: [Metafield]\n\n  \"A phone number for someone at this address\"\n  phone: String!\n\n  \"Postal code\"\n  postal: String!\n\n  \"Region. For example, a U.S. state\"\n  region: String!\n}\n\n\"\"\"\nWraps a list of `Addresses`, providing pagination cursors and information.\n\nFor information about what Relay-compatible connections are and how to use them, see the following articles:\n- [Relay Connection Documentation](https://facebook.github.io/relay/docs/en/graphql-server-specification.html#connections)\n- [Relay Connection Specification](https://facebook.github.io/relay/graphql/connections.htm)\n- [Using Relay-style Connections With Apollo Client](https://www.apollographql.com/docs/react/recipes/pagination.html)\n\"\"\"\ntype AddressConnection {\n  \"The list of nodes that match the query, wrapped in an edge to provide a cursor string for each\"\n  edges: [AddressEdge]\n\n  \"\"\"\n  You can request the `nodes` directly to avoid the extra wrapping that `NodeEdge` has,\n  if you know you will not need to paginate the results.\n  \"\"\"\n  nodes: [Address]\n  \"Information to help a client request the next or previous page\"\n  pageInfo: PageInfo!\n  \"The total number of nodes that match your query\"\n  totalCount: Int!\n}\n\n\"A connection edge in which each node is an `Address` object\"\ntype AddressEdge {\n  \"The cursor that represents this node in the paginated results\"\n  cursor: ConnectionCursor!\n  \"The address\"\n  node: Address\n}\n"}