diff --git a/package.json b/package.json
index 1996e38c1..df3b8c1aa 100644
--- a/package.json
+++ b/package.json
@@ -22,37 +22,37 @@
"preinstall": "npx only-allow pnpm"
},
"devDependencies": {
- "@arethetypeswrong/cli": "^0.15.1",
- "@gadget-client/app-with-file-fields": "^1.5.0",
+ "@arethetypeswrong/cli": "^0.15.4",
+ "@gadget-client/app-with-file-fields": "^1.6.0",
"@gadget-client/app-with-no-user-model": "^1.10.0",
- "@gadget-client/bulk-actions-test": "^1.113.0",
- "@gadget-client/full-auth": "^1.9.0",
- "@gadget-client/js-clients-test": "1.498.0-development.1784",
+ "@gadget-client/bulk-actions-test": "^1.116.0",
+ "@gadget-client/full-auth": "^1.11.0",
+ "@gadget-client/js-clients-test": "1.499.0-development.1964",
"@gadget-client/kitchen-sink": "1.5.0-development.200",
- "@gadget-client/related-products-example": "^1.865.0",
- "@gadget-client/zxcv-deeply-nested": "^1.212.0",
+ "@gadget-client/related-products-example": "^1.877.0",
+ "@gadget-client/zxcv-deeply-nested": "^1.213.0",
"@gadget-client/zxcv-manythrough-example": "1.3.0-nick-dev.3",
- "@gadget-client/zxcv-simple-relationship": "^1.23.0",
+ "@gadget-client/zxcv-simple-relationship": "^1.24.0",
"@gadgetinc/api-client-core": "workspace:*",
"@gadgetinc/eslint-config": "^0.6.1",
"@gadgetinc/prettier-config": "^0.4.0",
"@gadgetinc/react": "workspace:*",
- "@swc/core": "^1.3.90",
+ "@swc/core": "^1.7.26",
"@swc/jest": "^0.2.36",
- "@types/jest": "^29.5.12",
- "@types/node": "^16.11.7",
+ "@types/jest": "^29.5.13",
+ "@types/node": "^16.18.108",
"@types/semver": "^7.5.8",
- "eslint": "^8.57.0",
+ "eslint": "^8.57.1",
"execa": "^5.1.1",
- "gitpkg": "^1.0.0-beta.4",
+ "gitpkg": "1.0.0-beta.4",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"jest-junit": "^16.0.0",
"lodash-es": "^4.17.21",
"npm-run-all": "^4.1.5",
"prettier": "^2.8.8",
- "semver": "^7.6.2",
- "tsx": "^4.9.3",
+ "semver": "^7.6.3",
+ "tsx": "^4.19.1",
"typescript": "5.4.5",
"zx": "^7.2.3"
},
diff --git a/packages/react/.changeset/dirty-wombats-obey.md b/packages/react/.changeset/dirty-wombats-obey.md
new file mode 100644
index 000000000..76cfbb7fa
--- /dev/null
+++ b/packages/react/.changeset/dirty-wombats-obey.md
@@ -0,0 +1,5 @@
+---
+"@gadgetinc/react": patch
+---
+
+Updated AutoForm HasManyThrough fields so that no inputs are shown. They would previously show a hasMany field for the join model, which corresponds to the API, but was confusing in an AutoForm context
diff --git a/packages/react/cypress/component/auto/form/AutoFormHasManyThrough.cy.tsx b/packages/react/cypress/component/auto/form/AutoFormHasManyThrough.cy.tsx
new file mode 100644
index 000000000..813381715
--- /dev/null
+++ b/packages/react/cypress/component/auto/form/AutoFormHasManyThrough.cy.tsx
@@ -0,0 +1,180 @@
+import React from "react";
+import { api } from "../../../support/api.js";
+import { describeForEachAutoAdapter } from "../../../support/auto.js";
+
+describeForEachAutoAdapter("AutoForm - HasManyThrough fields", ({ name, adapter: { AutoForm }, wrapper }) => {
+ beforeEach(() => {
+ cy.viewport("macbook-13");
+ });
+
+ const interceptModelActionMetadataRequest = () => {
+ cy.intercept(
+ {
+ method: "POST",
+ url: `${api.connection.endpoint}?operation=ModelActionMetadata`,
+ },
+ modelActionMetadataResponse
+ ).as("ModelActionMetadata");
+ };
+
+ it("does not render the hasMany->joinModel input field", () => {
+ interceptModelActionMetadataRequest();
+
+ cy.mountWithWrapper(, wrapper);
+ cy.wait("@ModelActionMetadata");
+
+ // Name field input is shown
+ cy.contains("Base model name");
+
+ // hasMany->joinModel input is filtered out
+ cy.contains("Joiner models").should("not.exist");
+
+ // HasManyThrough field input is not shown - TODO: This is not yet implemented yet
+ cy.contains("Base model hmt field").should("not.exist");
+ });
+});
+
+const modelActionMetadataResponse = {
+ data: {
+ gadgetMeta: {
+ model: {
+ name: "Base model",
+ apiIdentifier: "baseModel",
+ defaultRecord: {
+ __typename: "HasManyThroughBaseModel",
+ },
+ action: {
+ name: "Create",
+ apiIdentifier: "create",
+ operatesWithRecordIdentity: false,
+ isDeleteAction: false,
+ inputFields: [
+ {
+ name: "Base model",
+ apiIdentifier: "baseModel",
+ fieldType: "Object",
+ requiredArgumentForInput: false,
+ configuration: {
+ __typename: "GadgetObjectFieldConfig",
+ fieldType: "Object",
+ validations: [],
+ name: null,
+ fields: [
+ {
+ name: "Base model name",
+ apiIdentifier: "baseModelName",
+ fieldType: "String",
+ requiredArgumentForInput: false,
+ sortable: true,
+ filterable: true,
+ __typename: "GadgetModelField",
+ configuration: {
+ __typename: "GadgetGenericFieldConfig",
+ fieldType: "String",
+ validations: [],
+ },
+ },
+ {
+ name: "Joiner models",
+ apiIdentifier: "joinerModels",
+ fieldType: "HasMany",
+ requiredArgumentForInput: false,
+ sortable: false,
+ filterable: false,
+ __typename: "GadgetModelField",
+ configuration: {
+ __typename: "GadgetHasManyConfig",
+ fieldType: "HasMany",
+ validations: [],
+ isJoinModelHasManyField: true,
+ relatedModel: {
+ key: "tJDsf_FvYqsi",
+ apiIdentifier: "joinerModel",
+ namespace: ["hasManyThrough"],
+ defaultDisplayField: {
+ name: "Id",
+ apiIdentifier: "id",
+ fieldType: "ID",
+ __typename: "GadgetModelField",
+ },
+ __typename: "GadgetModel",
+ },
+ inverseField: {
+ apiIdentifier: "joinerBelongsToBase",
+ __typename: "GadgetModelField",
+ },
+ },
+ },
+ {
+ name: "Base model hmt field",
+ apiIdentifier: "baseModelHmtField",
+ fieldType: "HasManyThrough",
+ requiredArgumentForInput: false,
+ sortable: false,
+ filterable: false,
+ __typename: "GadgetModelField",
+ configuration: {
+ __typename: "GadgetHasManyThroughConfig",
+ fieldType: "HasManyThrough",
+ validations: [],
+ relatedModel: {
+ key: "Oss4sCDW-DJU",
+ apiIdentifier: "siblingModel",
+ namespace: ["hasManyThrough"],
+ defaultDisplayField: {
+ name: "Id",
+ apiIdentifier: "id",
+ fieldType: "ID",
+ __typename: "GadgetModelField",
+ },
+ __typename: "GadgetModel",
+ },
+ inverseField: {
+ apiIdentifier: "siblingModelHmtField",
+ __typename: "GadgetModelField",
+ },
+ joinModel: {
+ key: "tJDsf_FvYqsi",
+ apiIdentifier: "joinerModel",
+ namespace: ["hasManyThrough"],
+ defaultDisplayField: {
+ name: "Id",
+ apiIdentifier: "id",
+ fieldType: "ID",
+ __typename: "GadgetModelField",
+ },
+ __typename: "GadgetModel",
+ },
+ inverseJoinModelField: {
+ apiIdentifier: "joinerBelongsToBase",
+ __typename: "GadgetModelField",
+ },
+ inverseRelatedModelField: {
+ apiIdentifier: "joinerBelongsToSibling",
+ __typename: "GadgetModelField",
+ },
+ },
+ },
+ ],
+ },
+ __typename: "GadgetObjectField",
+ },
+ ],
+ triggers: [
+ {
+ specID: "gadget/trigger/graphql_api",
+ __typename: "GadgetTrigger",
+ },
+ ],
+ __typename: "GadgetAction",
+ },
+ __typename: "GadgetModel",
+ },
+ __typename: "GadgetApplicationMeta",
+ },
+ },
+ extensions: {
+ logs: "https://ggt.link/logs/114412/baf607a14bf4d84e97c49ccd068621b5",
+ traceId: "baf607a14bf4d84e97c49ccd068621b5",
+ },
+};
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship-with-support-for-Id-pre_1709343723/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship-with-support-for-Id-pre_1709343723/recording.har
index c9361c9b2..77e76b9f8 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship-with-support-for-Id-pre_1709343723/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship-with-support-for-Id-pre_1709343723/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "93610691231b267f112e91822785676b",
+ "_id": "31f099dad6e92eaa85f9b95594fbd941",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n id\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
+ "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n id\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
},
"queryString": [
{
@@ -72,13 +72,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 656,
- "text": "[\"H4sIAAAAAAAAA4RSXW/iMBD8K2ifU3DCh6jfEK0qKvWEDu6lp1Nl7E3wXbAte4OIUP77yXw0wFXcmzM7u5mZ3T0oQQL4HsLaOp3Xc29VJSlEyIkCZya38b0W4RvuaC4KBJ6LMmASsbnHrbZVuMIDCU/TygfrgQPWr+59OhvNfj/Xb/XrIySARt0rf3xQ7dCIDQKH+VlEkwCqAgPwn3uQd9qNVRglX41ZXNmDBLQCDmnWhwRWVtVx1E5sXImdrSgr7OTWdw6FBKTdOOFxQnOvJX4XJno1VVkmID0KQjUh4JCxrP+QZg9ptkxHPMt4Nuwylr5DTMqo8rPJHUVMBWFhfX0DL2vXMqtVqcP6+IMbaCFtSzxtb/qFHJYu2ZAzxhnrMsainBP7h1Nn9mkKCarC+YtE0b5x40pBuKjyXO8+UU2tq6qddi+KLRoVNxebmuTekp5VgdD8usuZWmNQkrYm3kchVIH0hseLXtfKi1gKF/d9mdCTIFzqDcJN0JcF+TX/0uwF/G+wbfXW7MtB7MS5UsuDzIPuJp75jtCEs/DSxjXAmsgF3usVBXVLbf70It5Lh2zExj21GqdS9gdjteoP+uIxG+dyhblS6SgbII4hAfJC4iwe/X/JTfMXAAD//wMAGAqYkBcEAAA=\"]"
+ "text": "[\"H4sIAAAAAAAAA4RSXY/aMBD8K2ifc+AkBQW/IXqqOOkqVOjLnarTEm9C2mBb9gYRIf57Zb6hJ/rmzMxuZndnCwoZQW7BL42tinbqjGpy9gGyWNJEFya8l+i/04anWBLIAmtPUcCmjtaVafwN7hkdjxvnjQMJ1L7Yt/FkMPn93L62L0OIgLR6RH98cGtJ44pAwvRkYhcBqZI8yPct5A/KtVEULN+0md2MBxEsjGpD/QZXtqbOGuuGOoVxnT0RQW5WFh2NeOqqnH6gDgPqpq4jyB0hkxoxSEhEkj7FyVOczOOBTBKZ9LtCxG8Q1qNVfS6qFEiIkxQisAcTY2QqjWtPiiM8b+25yDaLuvLLw7/uoFluLsLj9cafOBPxXPSlEFKIrhAiODuqf1p1Uh+7MHLjT1+M5eVNK1sj06wpimpzRiu+DNhcuj3aypq0CpcLRbvo0ZGeVUmw+/VQMzZaU86V0SEfJaqS+JUOiV62ymGg/FW+rzf0FZnm1YrgbtHXRP65/nrYK/jfxV7Y+2G/7c2OrK2rfG9z73sXYr5h0v5kvDbhDLBktl72emXJ3brSf3oB78V9MRBZL6NMJGn2ZZDmOFBDSjOxGA4RhygwTbMQOnaY0ySE8L/i3e4vAAAA//8DAMMcCQ8XBAAA\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:02 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:26 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "58ef3bd4989ccf80ad1b72f8c1dcdbd3"
+ "value": "b99eed6c4a1da1298cf1ca3cf3409aef"
},
{
"name": "x-trace-id",
- "value": "db81cc348db343a928fcbefdd1624ee8"
+ "value": "8e80238463ca6d9e380b99aa9a0a3383"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba835033d3753ef-YYZ"
+ "value": "8c8425c74b0f3987-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:02.788Z",
- "time": 130,
+ "startedDateTime": "2024-09-24T16:28:26.036Z",
+ "time": 109,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,11 +156,11 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 130
+ "wait": 109
}
},
{
- "_id": "bfe6b6207171d4656fa045c5fe154cc2",
+ "_id": "e3af5a01ec1dbf4fdbfb1c5eaa66f595",
"_order": 0,
"cache": {},
"request": {
@@ -212,7 +208,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -228,13 +224,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQMW/CMBCF/0p1syFOnETBG2qlqkOHVkxdkGMfIcIkwT5LUJT/XjlQqrIw3um99927MxhFCuQZtENF+BHa7zj5oDV6D5JcQAboXO88yC5Yy+BwFa3XdBqwU3sECZOTQWtAQprzBbBrpFkSSMh4ls94NcuqVSZkkUou5pngX8CA8BgVhJ6eDpeUMJjHzpH9v+D51uATfbAUBY0yDdI7XjpuT8YpavvO/zW+QF4U4ard4x37tr5nvU65y2GwrZ4SJ8Q4MsAjYed/GbZvPEjYEg1eJknT0Ny23S6J+yQteMmrRBQqQ14alZZFnaIpVK6VWJha12KD1Sa+yCmNb/G1D8Xj+AMAAP//AwB5iPVT1AEAAA==\"]"
+ "text": "[\"H4sIAAAAAAAAA4SQsW7CMBCGX6W62RDHxCF4Q61UdejQiqkLMvY1WA1JsM8SFOXdKwdKVRZGn/77Pv93AqtJgzqB8agJ36L7Tq8QjcEQQJGPyAC973wA1camYbC/hNZrOvbY6h2CgnGTXTB2SaBAcFFM+GIiilVeKlEpUU4LWX0AA2dBQS65AAaEh5QmDPSwP1Nib+9TBvb/B4/XBu8YYkMpUGtbI73iueP2aL0m17Xhr/FZ8qQJV26HN+7r+Nb1PHKXfd84MxJHxTAwwANhG34dTVcHULAl6oPKsrqmaeParyzNs1zyklfZfDaXQi6MlhtTGltoI6SuPqWtCs43epZO5LXBl3Szu+Fh+AEAAP//AwBnr0jH1AEAAA==\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:03 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:26 GMT"
},
{
"name": "content-type",
@@ -266,11 +262,11 @@
},
{
"name": "x-request-id",
- "value": "d7298ae1a81637917feea6c110c93b33"
+ "value": "9a739a6285dfe240f6d19c37b889500e"
},
{
"name": "x-trace-id",
- "value": "35a2e06da165b1ed5a4ca39dbcb3fe8f"
+ "value": "7375259ca5bc6cd4ac25a8f5d8400ba3"
},
{
"name": "strict-transport-security",
@@ -290,25 +286,21 @@
},
{
"name": "cf-ray",
- "value": "8ba83504280faaf8-YYZ"
+ "value": "8c8425c85e70aabc-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:02.946Z",
- "time": 279,
+ "startedDateTime": "2024-09-24T16:28:26.201Z",
+ "time": 272,
"timings": {
"blocked": -1,
"connect": -1,
@@ -316,7 +308,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 279
+ "wait": 272
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship_3235963512/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship_3235963512/recording.har
index a4766a1ce..8ec45674c 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship_3235963512/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-BelongsTo-relationship_3235963512/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "93610691231b267f112e91822785676b",
+ "_id": "31f099dad6e92eaa85f9b95594fbd941",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n id\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
+ "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n id\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
},
"queryString": [
{
@@ -67,18 +67,18 @@
"url": "https://zxcv-deeply-nested--development.gadget.app/api/graphql?operation=shopifyProducts"
},
"response": {
- "bodySize": 656,
+ "bodySize": 660,
"content": {
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
- "size": 656,
- "text": "[\"H4sIAAAAAAAAA4RT247aMBD9FTTPWXDC3W+IripW2goV+rJVtTLxOKQNtmVPEBHKv1fmsgl0Rd/sc86Mz1x8BClIAD+C3xqbq2rpjCxT8gGyIsOFViact8J/wwMtRYbAlSg8RgFbOtznpvQ3uCfhaF46bxxwwOrFvs0Xo8Xv5+q1eplCBKjlI/r9nSqLWuwQOCyvJuoIUGbogf88QvogXBuJwfJNmtVNeRBBLoFDnPQhgo2RVUh1EDtbYGcvihI7yrjOiYggNTsrHM5o6fIUvwsdatVlUUSQOhSEckbAIWFJ/ylOnuJkHY94kvBk2GUsfoPQKS2LjyB7NjEXhJlx1R28rmyjLDdF7rfnB+6gVWoa4WV680/ssHjNhpwxzliXMRbsXNQ/rLyqL1lIUOmvNxJZc8adLQThqlQqP3ygOTVVlU22R63Yo5ZhciGojh4N6VlmCPWvh5q50RpTyo0O+5EJmSG94nmjt5V0IlC+td/tDn0RhOt8h3DX6DaRfq5vF9uC/21sw94X+/VkdmZtkacnmyffdVjzA6H2V+OFCWOALZH1vNfLMuoWuf7TC3gvHrIRm/T6A7FRTLHpVI2n/Y2aiPFYTQbYV8lgwobhV5ATKS7C0v9XXNd/AQAA//8DAONYyYAXBAAA\"]"
+ "size": 660,
+ "text": "[\"H4sIAAAAAAAAA4RSXY/aMBD8K2ifc+CES7jzG6KnipOuQoW+XFWdlngT0gbbsjeICPHfK/MNPdE3Z3ZmMzu7G1DICHIDfmFsVbQTZ1STsw+QxZLGujDhvUD/jdY8wZJAFlh7igI2cbSqTOOvcM/oeNQ4bxxIoPbVvo/G2fj3S/vWvj5DBKTVvfLHB7eWNC4JJEyOJrYRkCrJg/y5gfyOXBtFwfJVm+nVeBDB3Kg26Ne4tDV1Vlg31CmM6+wKEeRmadHRkCeuyuk76jCgbuo6gtwRMqkhg4REJP2HOHmIk1mcySSRSdoVIn6HEI9W9UlUKZAQJ32IwO5NjJCpNK49Mg7wrLUnkW3mdeUX+3/dQNPcnImH7Y0+cSbimUilEFKIrhAiODuwf1h1ZB+6MHLjj1+M5flNS1sj07Qpimp9Qis+D9icu91LZUVahc0F0Ta6t6QXVRJsf93ljIzWlHNldLiPElVJ/Eb7i160ymEo+Yv7vkzoCzLNqiXBTdCXhfxz/uWwF/C/wZ6rt8N+3ZkdWltX+c7mzvc2nPmaSfuj8dqENcCC2XrZ65Uld+tK/+kFvBenIhNPvT4O5mlM8+xRpX2VZY846A8oeS4SxFTNnyACdpjTOBzhf8nb7V8AAAD//wMADuMnehcEAAA=\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:02 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:24 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "4aedce1ca7089b16a1236be1446ab982"
+ "value": "696377659f1efea6738400ea7e9db821"
},
{
"name": "x-trace-id",
- "value": "34abf0f099f793bf8a77f84e3f248059"
+ "value": "3a7b51eb64d53d664a737e29f2aa5db8"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834fd5edc3a04-YYZ"
+ "value": "8c8425bb0cb1abe2-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:01.847Z",
- "time": 130,
+ "startedDateTime": "2024-09-24T16:28:24.077Z",
+ "time": 166,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,11 +156,11 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 130
+ "wait": 166
}
},
{
- "_id": "bfe6b6207171d4656fa045c5fe154cc2",
+ "_id": "e3af5a01ec1dbf4fdbfb1c5eaa66f595",
"_order": 0,
"cache": {},
"request": {
@@ -212,7 +208,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -228,13 +224,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQMW+DMBCF/0p1sxOMwQS8Ra1UdejQKlOXyOCDoBAg9iEljfjvlSFN1SwZ7/Te++7dBYwmDeoChUVN+DHU335yQ1Ggc6DIDsgAre2sA9UOTcPgeBVtt3TusdUHBAWTk0FtQEEY8xWwa6RZEygQXMQLni5EuhGRkqHiYhmF0RcwIDx5BaGjp+OcMvTmsXNk/y94vjX4RDc05AWVNhXSO84dd2djNdVd6/4az5AXTbipD3jHvq3vWa9T7rrvm7qYEifEODLAE2HrfhlNVzlQsCPqnQqCqqJlU7f7wO+DUPKEp0GZpLiSOpYil2WZ8cxkXCarCE2eGx5L/yKrC3zzr30oHscfAAAA//8DAEI/vADUAQAA\"]"
+ "text": "[\"H4sIAAAAAAAAA4SQPU/DMBCG/wq62W0cKx+OtwokxMAA6sRSGfuaWrhJal+klir/HSUpRXTp6NN7z+P3zmA1aVBnMAE14VvvvsdX7I3BGEFR6JEBhtCGCKrpvWdwuIQ2Gzp12Og9goJpk10wdkWgQHCRLXi1ENk6LZSQSmTLvMo+gIGzoCDNOQcGhMcxTRjp4TBT+s7epwzs/w8erw3eMfaexkCtbY30inPH3ckGTa5t4l/jWfKkCddujzfu6/jW9TxxV13nnZmIk2IYGOCRsIm/Dt/WERTsiLqokqSuaeld85WM8yTNecFlkhf4KbeYybLCyogSZWqNLEUuDBei1OOJgjb4Mt7sbngYfgAAAP//AwBi2CxU1AEAAA==\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:02 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:24 GMT"
},
{
"name": "content-type",
@@ -266,11 +262,11 @@
},
{
"name": "x-request-id",
- "value": "2eecc5643ca185673d368c258aaf1a5b"
+ "value": "688293f05439166a937d9f2ec987196c"
},
{
"name": "x-trace-id",
- "value": "f68e75a452b5ff909d905673edbbd045"
+ "value": "56eb8fe4879e9c27e81dc87252c0227a"
},
{
"name": "strict-transport-security",
@@ -290,25 +286,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834fe590ba241-YYZ"
+ "value": "8c8425bc5a2babeb-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:02.004Z",
- "time": 323,
+ "startedDateTime": "2024-09-24T16:28:24.287Z",
+ "time": 365,
"timings": {
"blocked": -1,
"connect": -1,
@@ -316,7 +308,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 323
+ "wait": 365
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship-with-support-f_3501493881/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship-with-support-f_3501493881/recording.har
index b808543ff..d020d10b9 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship-with-support-f_3501493881/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship-with-support-f_3501493881/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "93610691231b267f112e91822785676b",
+ "_id": "31f099dad6e92eaa85f9b95594fbd941",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n id\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
+ "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n id\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
},
"queryString": [
{
@@ -67,18 +67,18 @@
"url": "https://zxcv-deeply-nested--development.gadget.app/api/graphql?operation=shopifyProducts"
},
"response": {
- "bodySize": 656,
+ "bodySize": 660,
"content": {
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
- "size": 656,
- "text": "[\"H4sIAAAAAAAAA4RSXY/aMBD8K2ifc+CEC238huip4qSrUKEvV1Unx96EtMG27A0iQvnvlfm4AD3RN2d2djMzu3tQggTwPfi1sVXRLpxRjSQfICtKnOvChPda+G+4o4UoEXghao9RwBYOt5Vp/BXuSTiaNc4bBxywfbavs/lk/vupfWmfM4gAtbpXfnuj1qIWGwQOi7OILgJUJXrgP/cg77RrozBIvhqzvLIHEVQKOMTJGCLIjWrDqJ3Y2BoHW1E3OCiMGxwKEUizscLhlBaukvhd6OBVN3UdgXQoCNWUgEPCkvFDnDzEySqe8CThSTpkLH6FkJRW9XuTPYqYCcLSuPYGXrW2ZzZ5Xfn18Qc30FKannja3uwDOSxesZQzxhkbMsaCnBP7h1Vn9mkKCWr8+YtE2b9xY2tBuGyKotq9oxX1rpp+2r0otqhV2Fxo6qJ7S3pSJUL36y5nZrRGSZXR4T5KoUqkFzxe9LpVToSSv7jvy4S+CMJVtUG4CfqyID/mX5q9gP8Ntq/emv16EDu1tq7kQeZBdxfOfEeo/Vl4bcIaYE1kPR+NypKGdaX/jAI+ilM2YZ9HLI9TJrPsMS0KwbJxnH96ZEzkKk9VlrEcIiAnJM7D0f+X3HV/AQAA//8DALXKzxEXBAAA\"]"
+ "size": 660,
+ "text": "[\"H4sIAAAAAAAAA4RSXY/aMBD8K2ifc+A4JCp+Q/RUcdJVqNCXO1UnE29C2mBb9gYRofz3ynxDT/TNmZndzO7ODpQkCWIHfmVsVbQzZ1STkw+QlSVOdWHCeyX9d9zSTJYIopC1xyhgM4ebyjT+BvckHU0a540DAdi+2LfJNJv+fm5f25cRRIBaPaI/Pqi1qOUaQcDsZKKLAFWJHsT7DvIH5dooDJZv2sxvxoMIlka1oX4r17bG3kbWDfYK43p7IoLcrK10OKaZq3L8IXUYUDd1HUHuUBKqMYEAznjyFPOnmC/iTHAueNpnLH6DsB6t6nNRpUBAzBOIwB5MTCRhaVx7UhzhRWvPRbZZ1pVfHf51B81zcxEerzf5xBmLFywVjAnG+oyx4Oyo/mnVSX3sQpIaf/oiWV7euLa1JJw3RVFtz2hFlwGbS7dHW9mgVuFyoaiLHh3pWZUI3a+HmonRGnOqjA75KKUqkV7xkOhVq5wMlL/K9/WGvkrCRbVGuFv0NZF/rr8e9gr+d7EX9n7Yb3uzY2vrKt/b3PvuQsy3hNqfjNcmnAFWRNaLwaAsqV9X+s8g4IM4ZRn7MhhhipwNh0ulsmSU5EnB0yRLRsUy5dmwCKEjJ3OchhD+V9x1fwEAAP//AwCt4JVjFwQAAA==\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:03 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:26 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "0887cb526cb288a9fa58dae5da8234d7"
+ "value": "bb1c17f48872084d3d3118dcd0a624c0"
},
{
"name": "x-trace-id",
- "value": "0b150c9945ffa0931b7400abdb5d990b"
+ "value": "9e5e2044bdd6393c3f253639fb5264f3"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba835062e13ac00-YYZ"
+ "value": "8c8425ca2f58a1d8-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:03.254Z",
- "time": 123,
+ "startedDateTime": "2024-09-24T16:28:26.501Z",
+ "time": 160,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,11 +156,11 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 123
+ "wait": 160
}
},
{
- "_id": "541535b4243c4d79a49cf452ee51288a",
+ "_id": "21a4c7d0534a73352e66480bda16fd74",
"_order": 0,
"cache": {},
"request": {
@@ -212,7 +208,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"anotherProductSuggestion\":{\"_link\":\"123\"},\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"anotherProductSuggestion\":{\"_link\":\"123\"},\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -228,13 +224,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQzW7CMBCEX6XasyHOnxN8Q61U9dBDK069IMfehqghCfZagqK8e+WEUpULx13NzLezZzCKFMgzaIuK8M0332FyXmt0DiRZjwzQ2t46kJ1vWwaHi2i7pdOAndojSJicDBoDEuIs5sAukWZNICHhSbbg5SIpN0kq81jydCmK9AMYEB6DgtDRw2FO8YO57xzZ/wserw3e0fmWgqBWpkZ6xbnj7mSsoqbv3F/jGfKkCDfNHm/Y1/Ut63nKXQ9D2+gpcUKMIwM8Enbul9H2tQMJO6LBySiqa1q2TfcVhX0U51zwMuK61HlRxVW2KlSBphTKCF4YIT55lalVeJFVGl/Ca++Kx/EHAAD//wMAf8a/mdQBAAA=\"]"
+ "text": "[\"H4sIAAAAAAAAA4SQPU/DMBCG/wq62W2cNB+OtwokxMAA6sRSGfuUWrhJap+llir/HSUpRXTp6NN7z+P3zmAUKZBn0B4V4Vu03+MrRK0xBJDkIzJA7zsfQLbROQaHS2i7pVOPrdojSJg22QVj1gQSMp7lC14vsnyTljITMquWBa8/gIE1ICEt+AoYEB7HNGGgh8NMib25TxnY/x88Xhu8Y4iOxkCjTIP0inPH3cl4RbZrw1/jWfKkCDd2jzfu6/jW9Txx133vrJ6Ik2IYGOCRsA2/Dtc1ASTsiPogk6RpaOls+5WM8yQteMlFIsrPoioMKm7qYpWuypzXQou8EpxXVVWPJ/JK48t4s7vhYfgBAAD//wMAfW0Oz9QBAAA=\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:03 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:28 GMT"
},
{
"name": "content-type",
@@ -266,11 +262,11 @@
},
{
"name": "x-request-id",
- "value": "c0dfcec95cddc5bb8d2a2703ea6e0970"
+ "value": "fac15e01b3e29f38ff23ef5ad37259af"
},
{
"name": "x-trace-id",
- "value": "0c8c57b1b497a7ed86ad607d66f0b4a9"
+ "value": "86b575dea0d9531364098c8478007779"
},
{
"name": "strict-transport-security",
@@ -290,25 +286,21 @@
},
{
"name": "cf-ray",
- "value": "8ba835074815ab8a-YYZ"
+ "value": "8c8425cb8e433987-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:03.440Z",
- "time": 234,
+ "startedDateTime": "2024-09-24T16:28:26.718Z",
+ "time": 1423,
"timings": {
"blocked": -1,
"connect": -1,
@@ -316,7 +308,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 234
+ "wait": 1423
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship_1667904710/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship_1667904710/recording.har
index 0938382c8..85462bfd7 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship_1667904710/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-multiple-BelongsTo-relationship_1667904710/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "93610691231b267f112e91822785676b",
+ "_id": "31f099dad6e92eaa85f9b95594fbd941",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n id\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
+ "text": "{\"operationName\":\"shopifyProducts\",\"query\":\"query shopifyProducts($after: String, $first: Int, $before: String, $last: Int) {\\n shopifyProducts(after: $after, first: $first, before: $before, last: $last) {\\n pageInfo {\\n hasNextPage\\n hasPreviousPage\\n startCursor\\n endCursor\\n __typename\\n }\\n edges {\\n cursor\\n node {\\n __typename\\n body\\n compareAtPriceRange\\n createdAt\\n handle\\n id\\n productCategory\\n productType\\n publishedAt\\n publishedScope\\n shopifyCreatedAt\\n shopifyUpdatedAt\\n status\\n tags\\n templateSuffix\\n title\\n updatedAt\\n vendor\\n }\\n __typename\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"shopifyProduct\\\")\\n __typename\\n }\\n}\",\"variables\":{\"first\":1}}"
},
"queryString": [
{
@@ -67,18 +67,18 @@
"url": "https://zxcv-deeply-nested--development.gadget.app/api/graphql?operation=shopifyProducts"
},
"response": {
- "bodySize": 656,
+ "bodySize": 660,
"content": {
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
- "size": 656,
- "text": "[\"H4sIAAAAAAAAA4RT247aMBD9FTTPWXBCufkN0VXFSluhQl92Va289iS4DbZlTxARyr9X5rIBuqJv9jlnxmcu3oMSJIDvIayt03m98FZVkkKEnChwbnIbz2sRvuOOFqJA4LkoAyYRW3jcaluFKzyQ8DSrfLAeOGD95F5m8+H892P9XD9NIAE06h799ka1QyM2CBwWZxNNAqgKDMBf9yDvhBurMFq+SrO8Kg8S0Ao4pFkfEni3qo6pdmLjSuxsRVlhJ7e+cyASkHbjhMcpLbyW+EOYWKupyjIB6VEQqikBh4xl/Yc0e0izVTrkWcazQZex9AVip4wqP4Lc0cRMEBbW1zfwqnatsnovdVgfH7iBltK2wtP0Zp/YYemKDThjnLEuYyzaOal/OnVWn7KQoCqcbySK9owbVwrCZZXneveBamqrqtps91qxRaPi5GJQk9wb0qMqEJpfdzUzawxK0tbE/SiEKpCe8bjR61p5Ealwsd+XHfoqCFd6g3DT6EtCfq6/LPYC/rexLXtb7LeD2alzpZYHmwffTVzzHaEJZ+OljWOANZELvNcrCuqW2vzpRbyXDtiQjXujyUipDCfZezrCsRJiPBnjKB9M8i9Ssn78FeSFxHlc+v+Km+YvAAAA//8DAO76tf0XBAAA\"]"
+ "size": 660,
+ "text": "[\"H4sIAAAAAAAAA4RSXY/aMBD8K2ifc+AECKnfED1VnHQVKvTlTtXJ2JuQNtiWvUFEKP+9Mt/QE31zZmc2s7O7AyVIAN+BXxlb5s3MGVVL8gGyosCpzk14r4T/jluaiQKB56LyGAVs5nBTmtrf4J6Eo0ntvHHAAZsX+zaZptPfz81r8/IFIkCtHpU/PqixqMUagcPsZKKNAFWBHvj7DuQDuTYKg+WbNvOb8SCCpVFN0G/F2lbY2Yiqxk5uXGdfiECatRUOxzRzpcQfQocBdV1VEUiHglCNCTgkLOk/xclTnCzilCcJT4ZdxuI3CPFoVZ1FpQIOcdKHCOzBxEQQFsY1J8YRXjT2LLL1sir96vCvO2guzYV43N7kE2csXrAhZ4wz1mWMBWdH9k+rTuxjFxJU+9MXieLyxrWtBOG8zvNye0ZLugxYX7o9SmWDWoXNBVEbPVrSsyoQ2l8POROjNUoqjQ73UQhVIL3i4aJXjXIilPzVfV8n9FUQLso1wl3Q1wX5Of962Cv432Av1fthv+3Njq2tSrm3uffdhjPfEmp/Ml6ZsAZYEVnPe72ioG5V6j+9gPfiIUtZ1uunowGTeTqMM5UOsmwpVTYaLdOByIaZGuQQATkhcRqO8L/ktv0LAAD//wMASetLeBcEAAA=\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:02 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:24 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "76db1ca3e197e99b0ba0e7bd966c560a"
+ "value": "1e70eacd5af74531a436ee98ce020ba3"
},
{
"name": "x-trace-id",
- "value": "797dd2e92b17e8daa898e7f59f4cc039"
+ "value": "36740cf6518d6488bcd877b64a858d4f"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba835007cdb549d-YYZ"
+ "value": "8c8425bede9fab9f-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:02.339Z",
- "time": 188,
+ "startedDateTime": "2024-09-24T16:28:24.685Z",
+ "time": 187,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,11 +156,11 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 188
+ "wait": 187
}
},
{
- "_id": "541535b4243c4d79a49cf452ee51288a",
+ "_id": "21a4c7d0534a73352e66480bda16fd74",
"_order": 0,
"cache": {},
"request": {
@@ -212,7 +208,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"anotherProductSuggestion\":{\"_link\":\"123\"},\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"recommendedProduct\":{\"create\":{\"anotherProductSuggestion\":{\"_link\":\"123\"},\"productSuggestion\":{\"_link\":\"123\"}}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -223,18 +219,18 @@
"url": "https://zxcv-deeply-nested--development.gadget.app/api/graphql?operation=createQuiz"
},
"response": {
- "bodySize": 384,
+ "bodySize": 391,
"content": {
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
- "size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQzW7CMBCEX6XasyHOH3F8Q61U9dBDK069INdegtWQBHstQVHevXKgVOXCcVcz8+3sCYwiBfIE2qEifAv2O04+aI3egyQXkAE61zsPsgtty2B/Ea3XdBywUzsECZOTgTUgIS24AHaJNEsCCRnPihkXs0ysslyWqeTZvKrSD2BAeIgKQk8P+3NKGMx958j+X/B4bfCOPrQUBY0yDdIrnjtuj8Ypsn3n/xqfIU+KcGV3eMO+rm9Zz1Puchhaq6fECTGODPBA2PlfRts3HiRsiQYvk6RpaN7a7iuJ+yQt+YKL5LPSm6qo86rAQtTCqDIXG611qUxe1OkivsgpjS/xtXfF4/gDAAD//wMAOhD5UtQBAAA=\"]"
+ "size": 391,
+ "text": "[\"H4sIAAAAAAAAA4SQsW6DMBCGX6W62QnGgAFvUStVHTq0ytQlcvCJoDhA7LOUNOLdKyBN1SwZffrv+/zfBYwmDeoClUNN+BGa7/HlQ1Wh96DIBWSAznXOg2qDtQyO19BmQ+ceW31AUDBtsivGrAgUCC7SBS8XIl3HUolCiWwZl8kXMGgMKIgzHgMDwtOYJvT0dJwpoTePKQP7/4PnW4NP9MHSGKi1qZHece64Oxunqela/9d4lrxownVzwDv3bXzvep24q763TTURJ8UwMMATYet/HbarPSjYEfVeRVFd09I27T4a51GcccmLyKRJkvIYt1KnJW5lVnJTijzPJJdFkifjiZyu8G282cPwMPwAAAD//w==\",\"AwDYOnfD1AEAAA==\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:02 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:25 GMT"
},
{
"name": "content-type",
@@ -266,11 +262,11 @@
},
{
"name": "x-request-id",
- "value": "d37b257263d80663f293849e8d6657c5"
+ "value": "8d7f7566ec3d4cce3e6367aba5d653a0"
},
{
"name": "x-trace-id",
- "value": "b7cf749374e4898da538fccc5ad34916"
+ "value": "d433401eb6a49eb6590d927756068373"
},
{
"name": "strict-transport-security",
@@ -290,25 +286,21 @@
},
{
"name": "cf-ray",
- "value": "8ba83501b8eaac42-YYZ"
+ "value": "8c8425c0280738e1-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:02.551Z",
- "time": 220,
+ "startedDateTime": "2024-09-24T16:28:24.900Z",
+ "time": 1055,
"timings": {
"blocked": -1,
"connect": -1,
@@ -316,7 +308,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 220
+ "wait": 1055
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-relationship_933332662/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-relationship_933332662/recording.har
index 8862177de..577780eaa 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-relationship_933332662/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-HasOne-relationship_933332662/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "e9014bb962c8158501ba9656e95ffc60",
+ "_id": "2fe55117efc4b5d5fd8c677cfd88fd60",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"notification\":{\"create\":{\"enabled\":true}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"notification\":{\"create\":{\"enabled\":true}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -72,13 +72,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQMW/CMBCF/0p1syFOSKjjDbVS1aFDK6Yu6IjPIWpIgn2WoCj/vUpCqcrCeKf33nfvzmCQEfQZCkfI9B6q72HyoSjIe9DsAgkg51rnQTehrgUcLqLNhk8dNbgn0DA6BVQGNMSpzEBcIs2KQUMik3Qm1SxR62Shs1hLOVdy8QkCmI6Dgsnzw2FKCZ257+zF/wuerg0+yIeaB0GJpiR+o6nj7mQcctU2/q/xBHlGpnW1pxv2dX3LehlzV11XV8WYOCL6XgAdmRr/y6jb0oOGHXPndRSVJc/rqvmKhn0UZ3IpVZRnuUW1tHa7jbdokjTHLKbUFmQfFdp8eJHDgl6H194V9/0PAAAA//8DAPPbmlzUAQAA\"]"
+ "text": "[\"H4sIAAAAAAAAA4SQsW6DMBCGX6W62QnGUAe8Ra1UdejQKlOXyJiDWCVA7LOUNOLdKyBN1SwZffrv+/zfGUpNGtQZjENN+B7s9/jywRj0HhS5gAzQuc55UG1oGgaHS2i7pVOPrd4jKJg22QVTrgkUCC7SBc8XIt3EUolMiWSZZvITGNgSFMRpngEDwuOYJvT0cJgpoS/vUwb2/wdP1wYf6ENDY6DWZY30hnPH3al0mmzX+r/Gs+RZE27sHm/c1/Gt62Xirvu+sWYiTophYIBHwtb/Opqu9qBgR9R7FUV1TcvGtl/ROI/iRy55FsnCrCqR8CzJNS9kXGGaF1yYTFaxWFVyPJHTBl/Hm90ND8MPAAAA//8DAGHGdTzUAQAA\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:01 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:23 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "1580e2bccb7d7b02d6bf7b16054677eb"
+ "value": "c125d2acc04db2cf9604868b865af692"
},
{
"name": "x-trace-id",
- "value": "959fa86ffbb1bad249a51e4fcef78af9"
+ "value": "6bc7f230839a0b61fe49b02c86f127f6"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834f4f873ac45-YYZ"
+ "value": "8c8425b58ee436fa-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:00.504Z",
- "time": 1026,
+ "startedDateTime": "2024-09-24T16:28:23.164Z",
+ "time": 460,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,7 +156,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 1026
+ "wait": 460
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-relationship_2952094097/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-relationship_2952094097/recording.har
index 477e2944f..43d8d3616 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-relationship_2952094097/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-HasMany-relationship_2952094097/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "77d00634e25f0e7d11cf142a2f223db5",
+ "_id": "c2062443f47ced257f94288b36f57864",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -72,13 +72,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQMU/DMBCF/wq62W0cxyGRtwokxMAA6sRSOfY1jUiT1D5LLVX+O3JSiujS8U7vve/encFq0qDOYBxqwvfQfMfJB2PQe1DkAjJA53rnQXWhbRkcLqLNhk4DdnqPoGByMmgsKEglz4BdIu2KQIHgQi54uRDlWmQqTxXnS15kn8CA8BgVhJ4eDnNKGOx958j+X/B0bfCBPrQUBbW2NdIbzh13J+s0NX3n/xrPkGdNuG72eMO+rm9ZL1PuahjaxkyJE2IcGeCRsPO/jLavPSjYEQ1eJUld07Jtuq8k7pM054+8TGRlueQmq2RaVNvSoCyE4FmRG2EkT8v4IqcNvsbX3hWP4w8AAAD//wMAr4pjKNQBAAA=\"]"
+ "text": "[\"H4sIAAAAAAAAA4SQsU7DMBCGXwXd7DaO5biJtwokxMAA6sRSOfGRWrhJal+klirvjpKUIrp09Om/7/N/Z7CGDOgzVAEN4VvvvsdX7KsKYwRNoUcGGEIbIuim957B4RLabunUYWP2CBqmTXbB2DWBBsGFXPBiIeQmVVrkWoilkuIDGDgLGlJZKGBAeBzThJEeDjOl7+x9ysD+/+Dx2uAdY+9pDNTG1kivOHfcnWww5Nom/jWeJU+GcOP2eOO+jm9dzxN33XXeVRNxUgwDAzwSNvHX4ds6goYdURd1ktQ1Lb1rvpJxnqQZVzxPPkVhZcF5pqoyNylfyaJUmUlLIdXKCj6eKJgKX8ab3Q0Pww8AAAD//wMAPNXJqtQBAAA=\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:00 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:22 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "96c73e601dcf134a2074783c934f366f"
+ "value": "38864e828a99299101e29347b034a78c"
},
{
"name": "x-trace-id",
- "value": "4bd040c3b417bf8ce47220375c2c4018"
+ "value": "f29d490056cb8a10749b65a1b2467d20"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834f07f37aacd-YYZ"
+ "value": "8c8425b02c92aa9b-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:50:59.763Z",
- "time": 340,
+ "startedDateTime": "2024-09-24T16:28:22.338Z",
+ "time": 332,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,7 +156,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 340
+ "wait": 332
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-relationship_3875503635/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-relationship_3875503635/recording.har
index a15865369..c2226f7fa 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-relationship_3875503635/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-a-single-HasMany-relationship_3875503635/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "9539f9f3e63d58de0a0a96810e20f1c5",
+ "_id": "bb5767e5b6252bc7d4c4aec23ce1a23b",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"text\":\"test question\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"text\":\"test question\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -72,13 +72,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQzW7CMBCEX6XasyHOL7FvqJWqHnpoxakX5NjbENUkwV5LUJR3r5JQqnLhuKuZ+Xb2DEaRAnkG7VARvoXme5x80Bq9B0kuIAN0rnMeZBusZXC4iLZbOvXYqj2ChMnJoDEgIc54DOwSadYEEhKeZAteLpJyk6Qy5zIXy7RIPoAB4XFUEHp6OMwpoTf3nQP7f8HjtcE7+mBpFNTK1EivOHfcnYxT1HSt/2s8Q54U4abZ4w37ur5lPU+56763jZ4SJ8QwMMAjYet/GbarPUjYEfVeRlFd09I27Vc07qM45wUvoyqreCGqQhtUojAaE/MpVumqTLkwIi/HFzml8WV87V3xMPwAAAD//wMATBoTYtQBAAA=\"]"
+ "text": "[\"H4sIAAAAAAAAA4SQPW/CMBCG/0p1syGJ43x5Q61UdejQiqkLMvYpWIQk2GcJivLfqySUqiyMPr33PH7vAkaRAnkB7VARfgT7Pb580Bq9B0kuIAN0rnMeZBuahsHxGtps6Nxjqw4IEqZNdsWYFYEEHnOxiKsFF+skl7yUPFkWWfoFDKwBCYmoBDAgPI1pQk9Px5kSevOYMrD/P3i+NfhEHxoaA7UyNdI7zh13Z+MU2a71f41nyYsiXNsD3rlv43vX68Rd9X1j9UScFMPAAE+Erf91NF3tQcKOqPcyiuqalo1t99E4j5IszuMyyrTZ5kWalmg0LzjfcpGj1nFSFnGuRTWeyCmNb+PNHoaH4QcAAP//AwDxYM6n1AEAAA==\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:50:59 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:21 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "9e36dc34b4e2fd1c51f5896e8b9809d0"
+ "value": "9178e7365989c368bbdff3968142a1fe"
},
{
"name": "x-trace-id",
- "value": "b4b069b6cdea96dce2df97378309d958"
+ "value": "5cdb67338edc2722b246ecc018706c49"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834de1f1139f4-YYZ"
+ "value": "8c84259cc8f8ac2d-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:50:56.670Z",
- "time": 2749,
+ "startedDateTime": "2024-09-24T16:28:18.940Z",
+ "time": 2918,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,7 +156,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 2749
+ "wait": 2918
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-HasOne-relationships_2856696492/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-HasOne-relationships_2856696492/recording.har
index 7846fdc3c..19c3b1ab2 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-HasOne-relationships_2856696492/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-HasOne-relationships_2856696492/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "97fef659a57a49d00419c5109e402b45",
+ "_id": "10f18db289d6941ce3b37b1f505be99f",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"notification\":{\"create\":{\"enabled\":true}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}},{\"create\":{\"answers\":[{\"create\":{\"notification\":{\"create\":{\"enabled\":true}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"notification\":{\"create\":{\"enabled\":true}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}},{\"create\":{\"answers\":[{\"create\":{\"notification\":{\"create\":{\"enabled\":true}},\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -72,13 +72,13 @@
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
"size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQMU/DMBCF/wq62W0cN2mCtwokxMAA6sRSGftILdwktc9SS5X/jpyUIrp0vNN777t3JzCKFMgTaI+K8DXa7zSFqDWGAJJ8RAbofecDyDY6x2B/Fm02dOyxVTsECaOTgTUgIS/4Etg50qwIJAguihmvZ6Jei4Usc8nzeS3EOzAgPCQFYaC7/ZQSe3PbObD/FzxcGrxhiI6SoFGmQXrBqeP2aLwi27Xhr/EEeVSEa7vDK/Zlfc16GnNXfe+sHhNHxDAwwANhG34ZrmsCSNgS9UFmWdPQ3Nn2K0v7LC/5kteZElVZFcgrXpgyRy0KUd0vUCuDKD4+F+lFXml8Tq+9KR6GHwAAAP//AwCr0kXm1AEAAA==\"]"
+ "text": "[\"H4sIAAAAAAAAA4SQsW7CMBCGX6W62RDHMYR4Q61UdejQiqkLMvYRLEIS7IsERXn3ygmlKgujT7+/7/67gNWkQV3AeNSEH537jq/QGYMhgCLfIQP0vvEBVN1VFYPjNbRe07nFWh8QFAw/2RVjlwQKBBdywouJkKt0rsRCiWxaiPwLGDgLClJZFMCA8BTThIGejiOla+1jSs/+b/B8a/CJoasoBkptS6R3HDvuztZrck0d/hqPkhdNuHIHvHPfxveu14G7bNvKmYE4KPqeAZ4I6/DrqJoygIIdURtUkpQlTStX75M4T9IZn/NFImcmT/McF1uJuM25FTYTPONWbKTcpHEn8trgW7zZw3Df/wAAAP//AwBmDaTx1AEAAA==\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:01 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:24 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "8a6769c9c522ed34c3a720dda9c8074d"
+ "value": "3f17c27f2dadda0619856c8653609d46"
},
{
"name": "x-trace-id",
- "value": "a27574e0704d51ec242793ecadee2bf3"
+ "value": "45c7177e8f4eef70d2d32030d2b44b1e"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834fb7f0cabe5-YYZ"
+ "value": "8c8425b88844b408-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:01.549Z",
- "time": 282,
+ "startedDateTime": "2024-09-24T16:28:23.675Z",
+ "time": 341,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,7 +156,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 282
+ "wait": 341
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-relationships_3250074585/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-relationships_3250074585/recording.har
index b520a74a3..36b56c292 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-relationships_3250074585/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-HasMany-relationships_3250074585/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "88fe68a8feb96dfc0655c94dcfce7454",
+ "_id": "b95b19517066a3e4bf7d9d010963b810",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}},{\"create\":{\"answers\":[{\"create\":{\"text\":\"test answer - 2\"}}],\"text\":\"test question - 2\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"answers\":[{\"create\":{\"text\":\"test answer - 1\"}}],\"text\":\"test question - 1\"}},{\"create\":{\"answers\":[{\"create\":{\"text\":\"test answer - 2\"}}],\"text\":\"test question - 2\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -67,18 +67,18 @@
"url": "https://zxcv-deeply-nested--development.gadget.app/api/graphql?operation=createQuiz"
},
"response": {
- "bodySize": 384,
+ "bodySize": 380,
"content": {
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
- "size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQMW/CMBCF/0p1syFOYhLwhlqp6tChFVMX5DqXYNUkwT5LUJT/XjmhVGVhvNN777t3Z6gUKZBn0A4V4Vsw33HyQWv0HiS5gAzQuc55kG2wlsHhItpu6dRjq/YIEkYnA1OBhFRwAewSWa0JJGQ8EzO+nGXLTZbLRSo5n4uSfwADwmNUEHp6OEwpoa/uOwf2/4LHa4N39MFSFDSqapBeceq4O1VOkela/9d4gjwpwo3Z4w37ur5lPY+56763Ro+JI2IYGOCRsPW/DNs1HiTsiHovk6RpaG5N+5XEfZIueMGXiRZlqrnKV6h1ruqcZ0Up8DOtteZ1oXl8kVMaX+Jr74qH4QcAAP//AwDJFJ5v1AEAAA==\"]"
+ "size": 380,
+ "text": "[\"H4sIAAAAAAAAA4SQsW7CMBCGX6W62RDHJCF4Q61UdejQiqkLOuxLiAhJsM8SFOXdqwRKVRZGn35/3/13BouMoM9gHCHTR6i+h5cPxpD3oNkFEkDOtc6DbkJdCzhcQ+s1nzpqcE+gYfwprhi7ZNCgpEomcjFRySrOtMq1mk1lPP8CAZUFDXGymIMApuOQZvL8dLhQQmcfU3rxf4PnW4NP8qHmIVCiLYnf6dJxe7IOuWob/9f4InlBplW1pzv3bXzveh25y66rKzMSR0XfC6AjU+N/HXVbetCwZe68jqKy5GldNbtomEdxKjOZR5ihLTYml4h5oTYGqaAUZVrMJCaIw07s0NDbcLOH4b7/AQAA//8DAIxTLdTUAQAA\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:51:00 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:23 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "f36ec9cf9cf852d106540a7c4e39a283"
+ "value": "1bd00e75368dbb28387979d22fb5f539"
},
{
"name": "x-trace-id",
- "value": "c471c0a39ecc3af302674eb1fcc0f6c0"
+ "value": "a6adfbc80aa8f2bcaefe5a05f30a4aae"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834f2ea36ab1c-YYZ"
+ "value": "8c8425b2ae2cab16-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:51:00.117Z",
- "time": 357,
+ "startedDateTime": "2024-09-24T16:28:22.723Z",
+ "time": 363,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,7 +156,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 357
+ "wait": 363
}
}
],
diff --git a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-relationships_2510062961/recording.har b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-relationships_2510062961/recording.har
index 37e6b809b..f6bb9f5e4 100644
--- a/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-relationships_2510062961/recording.har
+++ b/packages/react/spec/__recordings__/useActionFormNested_1974165259/with-polly_2612993081/can-create-multiple-HasMany-relationships_2510062961/recording.har
@@ -8,7 +8,7 @@
},
"entries": [
{
- "_id": "e8a9e9477f9b7e5d8d0da0b1136eeb19",
+ "_id": "abe5e13989e4bf4873d2c3be38326a31",
"_order": 0,
"cache": {},
"request": {
@@ -56,7 +56,7 @@
"postData": {
"mimeType": "application/json",
"params": [],
- "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n id\\n createdAt\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"text\":\"test question - 1\"}},{\"create\":{\"text\":\"test question - 2\"}}],\"text\":\"test quiz\"}}}"
+ "text": "{\"operationName\":\"createQuiz\",\"query\":\"mutation createQuiz($quiz: CreateQuizInput) {\\n createQuiz(quiz: $quiz) {\\n success\\n errors {\\n message\\n code\\n ... on InvalidRecordError {\\n model {\\n apiIdentifier\\n __typename\\n }\\n validationErrors {\\n message\\n apiIdentifier\\n __typename\\n }\\n __typename\\n }\\n __typename\\n }\\n quiz {\\n __typename\\n createdAt\\n id\\n text\\n updatedAt\\n }\\n __typename\\n }\\n gadgetMeta {\\n hydrations(modelName: \\n\\\"quiz\\\")\\n __typename\\n }\\n}\",\"variables\":{\"quiz\":{\"questions\":[{\"create\":{\"text\":\"test question - 1\"}},{\"create\":{\"text\":\"test question - 2\"}}],\"text\":\"test quiz\"}}}"
},
"queryString": [
{
@@ -67,18 +67,18 @@
"url": "https://zxcv-deeply-nested--development.gadget.app/api/graphql?operation=createQuiz"
},
"response": {
- "bodySize": 384,
+ "bodySize": 387,
"content": {
"encoding": "base64",
"mimeType": "application/json; charset=utf-8",
- "size": 384,
- "text": "[\"H4sIAAAAAAAAA4SQT2+CQBDFv0oz51XWZRHYm2mTpoce2njqxeyfEYkIuDskWsN3bwBrUy8eZ/Le+82bCzhNGtQFrEdN+NGV38MUOmsxBFDkO2SA3jc+gKq7qmJwvIo2Gzq3WOsDgoLRyaB0oGAhuQB2jXQrAgWCCznj2UxkaxGrhKskn6dSfgEDwtOgIAz0dJxSutY9dvbs/wXPtwafGLqKBkGhXYH0jlPH3dl5TWVTh7/GE+RFE67LA96xb+t71uuYu2rbqrRj4ojoewZ4IqzDL6NqigAKdkRtUFFUFDSvynofDftokfAlzyKRpjyX1iRma1IhbWq4Nsi3LjZ5FuNyeJHXFt+G1z4U9/0PAAAA//8DAJjnIrzUAQAA\"]"
+ "size": 387,
+ "text": "[\"H4sIAAAAAAAAA4SQsU7DMBCGXwXd7DaxcZPaWwUSYmAAdWKpjH2kEWmS2meppcq7IyeliC4dffrv+/zfCZwhA/oE1qMhfI31d3qFaC2GAJp8RAbofecD6DY2DYP9ObTZ0LHH1uwQNIyb7IxxKwINIhdylquZkGteaLHUQsxFyd+BQe1AA5dqAQwIDylNGOhuP1Fi725TBvb/Bw+XBm8YYkMpUBlXIb3g1HF7dN5Q3bXhr/EkeTSE63qHV+7L+Nr1NHJXfd/UdiSOimFggAfCNvw6mq4KoGFL1AedZVVF86Zuv7I0z/giL/JlZvNSWqnQ8NKVisvCKnQF//jk98oVpUon8sbic7rZzfAw/AAAAP//\",\"AwCTQ77I1AEAAA==\"]"
},
"cookies": [],
"headers": [
{
"name": "date",
- "value": "Wed, 28 Aug 2024 23:50:59 GMT"
+ "value": "Tue, 24 Sep 2024 16:28:22 GMT"
},
{
"name": "content-type",
@@ -110,11 +110,11 @@
},
{
"name": "x-request-id",
- "value": "f583f02e0c65ef25c65c5bfc2ab701be"
+ "value": "558b7afc5cc8082d025317061d8dae14"
},
{
"name": "x-trace-id",
- "value": "277094cb5bfb724c7b0abe0fd3b983e6"
+ "value": "c074c49ea17d79146c9ed61bf139d679"
},
{
"name": "strict-transport-security",
@@ -134,25 +134,21 @@
},
{
"name": "cf-ray",
- "value": "8ba834ee5fcaabc7-YYZ"
+ "value": "8c8425adec9fa217-YYZ"
},
{
"name": "content-encoding",
"value": "gzip"
- },
- {
- "name": "alt-svc",
- "value": "h3=\":443\"; ma=86400"
}
],
- "headersSize": 612,
+ "headersSize": 582,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
- "startedDateTime": "2024-08-28T23:50:59.448Z",
- "time": 291,
+ "startedDateTime": "2024-09-24T16:28:21.976Z",
+ "time": 317,
"timings": {
"blocked": -1,
"connect": -1,
@@ -160,7 +156,7 @@
"receive": 0,
"send": 0,
"ssl": -1,
- "wait": 291
+ "wait": 317
}
}
],
diff --git a/packages/react/spec/auth/useSession.spec.ts b/packages/react/spec/auth/useSession.spec.ts
index 4ea49f9c7..6b01335e2 100644
--- a/packages/react/spec/auth/useSession.spec.ts
+++ b/packages/react/spec/auth/useSession.spec.ts
@@ -30,13 +30,12 @@ describe("useSession", () => {
"query currentSession {
currentSession {
__typename
+ createdAt
id
state
- createdAt
updatedAt
user {
__typename
- id
createdAt
email
emailVerificationToken
@@ -45,6 +44,7 @@ describe("useSession", () => {
firstName
googleImageUrl
googleProfileId
+ id
lastName
lastSignedIn
resetPasswordToken
@@ -78,13 +78,12 @@ describe("useSession", () => {
"query currentSession {
currentSession {
__typename
+ createdAt
id
state
- createdAt
updatedAt
user {
__typename
- id
createdAt
email
emailVerificationToken
@@ -93,6 +92,7 @@ describe("useSession", () => {
firstName
googleImageUrl
googleProfileId
+ id
lastName
lastSignedIn
resetPasswordToken
diff --git a/packages/react/spec/auth/useUser.spec.ts b/packages/react/spec/auth/useUser.spec.ts
index 4eb6a1882..668de20f8 100644
--- a/packages/react/spec/auth/useUser.spec.ts
+++ b/packages/react/spec/auth/useUser.spec.ts
@@ -29,13 +29,12 @@ describe("useUser", () => {
"query currentSession {
currentSession {
__typename
+ createdAt
id
state
- createdAt
updatedAt
user {
__typename
- id
createdAt
email
emailVerificationToken
@@ -44,6 +43,7 @@ describe("useUser", () => {
firstName
googleImageUrl
googleProfileId
+ id
lastName
lastSignedIn
resetPasswordToken
@@ -77,13 +77,12 @@ describe("useUser", () => {
"query currentSession {
currentSession {
__typename
+ createdAt
id
state
- createdAt
updatedAt
user {
__typename
- id
createdAt
email
emailVerificationToken
@@ -92,6 +91,7 @@ describe("useUser", () => {
firstName
googleImageUrl
googleProfileId
+ id
lastName
lastSignedIn
resetPasswordToken
@@ -127,9 +127,9 @@ describe("useUser", () => {
"query currentSession {
currentSession {
__typename
+ createdAt
id
state
- createdAt
updatedAt
user {
firstName
diff --git a/packages/react/spec/auto/PolarisAutoForm.stories.jsx b/packages/react/spec/auto/PolarisAutoForm.stories.jsx
index 01fd87591..1eb976f7d 100644
--- a/packages/react/spec/auto/PolarisAutoForm.stories.jsx
+++ b/packages/react/spec/auto/PolarisAutoForm.stories.jsx
@@ -156,3 +156,10 @@ export const onFailureCallback = {
},
},
};
+
+export const hasManyThrough = {
+ name: "HasManyThrough fields",
+ args: {
+ action: api.hasManyThrough.baseModel.create,
+ },
+};
diff --git a/packages/react/spec/useAction.spec.tsx b/packages/react/spec/useAction.spec.tsx
index 26f8b59a2..c3e9ba27a 100644
--- a/packages/react/spec/useAction.spec.tsx
+++ b/packages/react/spec/useAction.spec.tsx
@@ -182,14 +182,14 @@ describe("useAction", () => {
}
user {
__typename
- id
- state
createdAt
email
+ id
roles {
key
name
}
+ state
updatedAt
}
}
diff --git a/packages/react/spec/useBulkAction.spec.ts b/packages/react/spec/useBulkAction.spec.ts
index f44c69fb6..c56e85d53 100644
--- a/packages/react/spec/useBulkAction.spec.ts
+++ b/packages/react/spec/useBulkAction.spec.ts
@@ -117,8 +117,8 @@ describe("useBulkAction", () => {
}
widgets {
__typename
- id
createdAt
+ id
name
updatedAt
}
diff --git a/packages/react/spec/useFindBy.spec.ts b/packages/react/spec/useFindBy.spec.ts
index 35ca599db..a096ae0d6 100644
--- a/packages/react/spec/useFindBy.spec.ts
+++ b/packages/react/spec/useFindBy.spec.ts
@@ -90,14 +90,14 @@ describe("useFindBy", () => {
cursor
node {
__typename
- id
- state
createdAt
email
+ id
roles {
key
name
}
+ state
updatedAt
}
}
diff --git a/packages/react/spec/useFindFirst.spec.ts b/packages/react/spec/useFindFirst.spec.ts
index da90df0d6..6e8ab2a47 100644
--- a/packages/react/spec/useFindFirst.spec.ts
+++ b/packages/react/spec/useFindFirst.spec.ts
@@ -85,14 +85,14 @@ describe("useFindFirst", () => {
cursor
node {
__typename
- id
- state
createdAt
email
+ id
roles {
key
name
}
+ state
updatedAt
}
}
diff --git a/packages/react/spec/useFindMany.spec.ts b/packages/react/spec/useFindMany.spec.ts
index 170e6e83b..964fb136c 100644
--- a/packages/react/spec/useFindMany.spec.ts
+++ b/packages/react/spec/useFindMany.spec.ts
@@ -80,14 +80,14 @@ describe("useFindMany", () => {
cursor
node {
__typename
- id
- state
createdAt
email
+ id
roles {
key
name
}
+ state
updatedAt
}
}
diff --git a/packages/react/spec/useFindOne.spec.ts b/packages/react/spec/useFindOne.spec.ts
index f6a9e4bec..74126b982 100644
--- a/packages/react/spec/useFindOne.spec.ts
+++ b/packages/react/spec/useFindOne.spec.ts
@@ -72,14 +72,14 @@ describe("useFindOne", () => {
"query user($id: GadgetID!) {
user(id: $id) {
__typename
- id
- state
createdAt
email
+ id
roles {
key
name
}
+ state
updatedAt
}
gadgetMeta {
diff --git a/packages/react/src/internal/gql/gql.ts b/packages/react/src/internal/gql/gql.ts
index c8f8ebfb1..b67596778 100644
--- a/packages/react/src/internal/gql/gql.ts
+++ b/packages/react/src/internal/gql/gql.ts
@@ -15,7 +15,7 @@ import * as types from "./graphql.js";
const documents = {
"\n fragment RelatedModelFieldFragment on GadgetModelField {\n name\n apiIdentifier\n fieldType\n }\n":
types.RelatedModelFieldFragmentFragmentDoc,
- "\n fragment FieldMetadata on GadgetField {\n name\n apiIdentifier\n fieldType\n requiredArgumentForInput\n ... on GadgetModelField {\n sortable\n filterable\n }\n configuration {\n __typename\n fieldType\n validations {\n __typename\n ... on GadgetRegexFieldValidation {\n name\n specID\n pattern\n }\n ... on GadgetRangeFieldValidation {\n name\n specID\n min\n max\n }\n ... on GadgetOnlyImageFileFieldValidation {\n name\n specID\n allowAnimatedImages\n }\n ... on GadgetGenericFieldValidation {\n name\n specID\n }\n }\n ... on GadgetHasManyConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetHasOneConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetBelongsToConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n }\n ... on GadgetEnumConfig {\n allowMultiple\n allowOther\n options {\n name\n color\n }\n }\n ... on GadgetDateTimeConfig {\n includeTime\n }\n ... on GadgetNumberConfig {\n decimals\n }\n }\n }\n":
+ "\n fragment FieldMetadata on GadgetField {\n name\n apiIdentifier\n fieldType\n requiredArgumentForInput\n ... on GadgetModelField {\n sortable\n filterable\n }\n configuration {\n __typename\n fieldType\n validations {\n __typename\n ... on GadgetRegexFieldValidation {\n name\n specID\n pattern\n }\n ... on GadgetRangeFieldValidation {\n name\n specID\n min\n max\n }\n ... on GadgetOnlyImageFileFieldValidation {\n name\n specID\n allowAnimatedImages\n }\n ... on GadgetGenericFieldValidation {\n name\n specID\n }\n }\n ... on GadgetHasManyThroughConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n joinModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n }\n inverseJoinModelField {\n apiIdentifier\n }\n inverseRelatedModelField {\n apiIdentifier\n }\n }\n ... on GadgetHasManyConfig {\n isJoinModelHasManyField\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetHasOneConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetBelongsToConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n }\n ... on GadgetEnumConfig {\n allowMultiple\n allowOther\n options {\n name\n color\n }\n }\n ... on GadgetDateTimeConfig {\n includeTime\n }\n ... on GadgetNumberConfig {\n decimals\n }\n }\n }\n":
types.FieldMetadataFragmentDoc,
"\n query GetModelMetadata($apiIdentifier: String!, $namespace: [String!], $includeRelatedFields: Boolean!) {\n gadgetMeta {\n model(apiIdentifier: $apiIdentifier, namespace: $namespace) {\n apiIdentifier\n namespace\n name\n fields {\n ...FieldMetadata\n }\n }\n }\n }\n":
types.GetModelMetadataDocument,
@@ -53,8 +53,8 @@ export function graphql(
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
export function graphql(
- source: "\n fragment FieldMetadata on GadgetField {\n name\n apiIdentifier\n fieldType\n requiredArgumentForInput\n ... on GadgetModelField {\n sortable\n filterable\n }\n configuration {\n __typename\n fieldType\n validations {\n __typename\n ... on GadgetRegexFieldValidation {\n name\n specID\n pattern\n }\n ... on GadgetRangeFieldValidation {\n name\n specID\n min\n max\n }\n ... on GadgetOnlyImageFileFieldValidation {\n name\n specID\n allowAnimatedImages\n }\n ... on GadgetGenericFieldValidation {\n name\n specID\n }\n }\n ... on GadgetHasManyConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetHasOneConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetBelongsToConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n }\n ... on GadgetEnumConfig {\n allowMultiple\n allowOther\n options {\n name\n color\n }\n }\n ... on GadgetDateTimeConfig {\n includeTime\n }\n ... on GadgetNumberConfig {\n decimals\n }\n }\n }\n"
-): (typeof documents)["\n fragment FieldMetadata on GadgetField {\n name\n apiIdentifier\n fieldType\n requiredArgumentForInput\n ... on GadgetModelField {\n sortable\n filterable\n }\n configuration {\n __typename\n fieldType\n validations {\n __typename\n ... on GadgetRegexFieldValidation {\n name\n specID\n pattern\n }\n ... on GadgetRangeFieldValidation {\n name\n specID\n min\n max\n }\n ... on GadgetOnlyImageFileFieldValidation {\n name\n specID\n allowAnimatedImages\n }\n ... on GadgetGenericFieldValidation {\n name\n specID\n }\n }\n ... on GadgetHasManyConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetHasOneConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetBelongsToConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n }\n ... on GadgetEnumConfig {\n allowMultiple\n allowOther\n options {\n name\n color\n }\n }\n ... on GadgetDateTimeConfig {\n includeTime\n }\n ... on GadgetNumberConfig {\n decimals\n }\n }\n }\n"];
+ source: "\n fragment FieldMetadata on GadgetField {\n name\n apiIdentifier\n fieldType\n requiredArgumentForInput\n ... on GadgetModelField {\n sortable\n filterable\n }\n configuration {\n __typename\n fieldType\n validations {\n __typename\n ... on GadgetRegexFieldValidation {\n name\n specID\n pattern\n }\n ... on GadgetRangeFieldValidation {\n name\n specID\n min\n max\n }\n ... on GadgetOnlyImageFileFieldValidation {\n name\n specID\n allowAnimatedImages\n }\n ... on GadgetGenericFieldValidation {\n name\n specID\n }\n }\n ... on GadgetHasManyThroughConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n joinModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n }\n inverseJoinModelField {\n apiIdentifier\n }\n inverseRelatedModelField {\n apiIdentifier\n }\n }\n ... on GadgetHasManyConfig {\n isJoinModelHasManyField\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetHasOneConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetBelongsToConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n }\n ... on GadgetEnumConfig {\n allowMultiple\n allowOther\n options {\n name\n color\n }\n }\n ... on GadgetDateTimeConfig {\n includeTime\n }\n ... on GadgetNumberConfig {\n decimals\n }\n }\n }\n"
+): (typeof documents)["\n fragment FieldMetadata on GadgetField {\n name\n apiIdentifier\n fieldType\n requiredArgumentForInput\n ... on GadgetModelField {\n sortable\n filterable\n }\n configuration {\n __typename\n fieldType\n validations {\n __typename\n ... on GadgetRegexFieldValidation {\n name\n specID\n pattern\n }\n ... on GadgetRangeFieldValidation {\n name\n specID\n min\n max\n }\n ... on GadgetOnlyImageFileFieldValidation {\n name\n specID\n allowAnimatedImages\n }\n ... on GadgetGenericFieldValidation {\n name\n specID\n }\n }\n ... on GadgetHasManyThroughConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n joinModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n }\n inverseJoinModelField {\n apiIdentifier\n }\n inverseRelatedModelField {\n apiIdentifier\n }\n }\n ... on GadgetHasManyConfig {\n isJoinModelHasManyField\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetHasOneConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n inverseField {\n apiIdentifier\n }\n }\n ... on GadgetBelongsToConfig {\n relatedModel {\n key\n apiIdentifier\n namespace\n defaultDisplayField {\n name\n apiIdentifier\n fieldType\n }\n fields @include(if: $includeRelatedFields) {\n ...RelatedModelFieldFragment\n }\n }\n }\n ... on GadgetEnumConfig {\n allowMultiple\n allowOther\n options {\n name\n color\n }\n }\n ... on GadgetDateTimeConfig {\n includeTime\n }\n ... on GadgetNumberConfig {\n decimals\n }\n }\n }\n"];
/**
* The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
*/
diff --git a/packages/react/src/internal/gql/graphql.ts b/packages/react/src/internal/gql/graphql.ts
index fd6ec7593..aaa15af1f 100644
--- a/packages/react/src/internal/gql/graphql.ts
+++ b/packages/react/src/internal/gql/graphql.ts
@@ -40,6 +40,12 @@ export type Scalars = {
InternalGameStadiumRecord: { input: any; output: any };
/** Represents one gizmo result record in internal api calls. Returns a JSON blob of all the record's fields. */
InternalGizmoRecord: { input: any; output: any };
+ /** Represents one baseModel result record in internal api calls. Returns a JSON blob of all the record's fields. */
+ InternalHasManyThroughBaseModelRecord: { input: any; output: any };
+ /** Represents one joinerModel result record in internal api calls. Returns a JSON blob of all the record's fields. */
+ InternalHasManyThroughJoinerModelRecord: { input: any; output: any };
+ /** Represents one siblingModel result record in internal api calls. Returns a JSON blob of all the record's fields. */
+ InternalHasManyThroughSiblingModelRecord: { input: any; output: any };
/** Represents one modelA result record in internal api calls. Returns a JSON blob of all the record's fields. */
InternalModelARecord: { input: any; output: any };
/** Represents one part result record in internal api calls. Returns a JSON blob of all the record's fields. */
@@ -405,6 +411,9 @@ export type BackgroundActionResult =
| CreateGameRoundResult
| CreateGameStadiumResult
| CreateGizmoResult
+ | CreateHasManyThroughBaseModelResult
+ | CreateHasManyThroughJoinerModelResult
+ | CreateHasManyThroughSiblingModelResult
| CreateModelAResult
| CreatePartResult
| CreateSectionResult
@@ -412,6 +421,7 @@ export type BackgroundActionResult =
| CreateWidgetResult
| CustomActionAutoTableTestResult
| CustomActionWithParamsAutoTableTestResult
+ | CustomObjectParamsGameCityResult
| DeleteAutoTableTestRelatedModelResult
| DeleteAutoTableTestResult
| DeleteGameCityResult
@@ -419,6 +429,9 @@ export type BackgroundActionResult =
| DeleteGameRoundResult
| DeleteGameStadiumResult
| DeleteGizmoResult
+ | DeleteHasManyThroughBaseModelResult
+ | DeleteHasManyThroughJoinerModelResult
+ | DeleteHasManyThroughSiblingModelResult
| DeleteModelAResult
| DeletePartResult
| DeleteSectionResult
@@ -426,6 +439,8 @@ export type BackgroundActionResult =
| DeleteWidgetResult
| ErrorShopifySyncResult
| FlipAllResult
+ | NameSpacedActionAResult
+ | NameSpacedCustomObjectParamsResult
| RunShopifySyncResult
| SignInUserResult
| SignOutUserResult
@@ -437,6 +452,9 @@ export type BackgroundActionResult =
| UpdateGameRoundResult
| UpdateGameStadiumResult
| UpdateGizmoResult
+ | UpdateHasManyThroughBaseModelResult
+ | UpdateHasManyThroughJoinerModelResult
+ | UpdateHasManyThroughSiblingModelResult
| UpdateModelAResult
| UpdatePartResult
| UpdateSectionResult
@@ -463,6 +481,7 @@ export type BackgroundGameMutations = {
bulkCreatePlayers: BulkEnqueueBackgroundActionResult;
bulkCreateRounds: BulkEnqueueBackgroundActionResult;
bulkCreateStadia: BulkEnqueueBackgroundActionResult;
+ bulkCustomObjectParamsCities: BulkEnqueueBackgroundActionResult;
bulkDeleteCities: BulkEnqueueBackgroundActionResult;
bulkDeletePlayers: BulkEnqueueBackgroundActionResult;
bulkDeleteRounds: BulkEnqueueBackgroundActionResult;
@@ -479,6 +498,7 @@ export type BackgroundGameMutations = {
createPlayer: EnqueueBackgroundActionResult;
createRound: EnqueueBackgroundActionResult;
createStadium: EnqueueBackgroundActionResult;
+ customObjectParamsCity: EnqueueBackgroundActionResult;
deleteCity: EnqueueBackgroundActionResult;
deletePlayer: EnqueueBackgroundActionResult;
deleteRound: EnqueueBackgroundActionResult;
@@ -513,6 +533,11 @@ export type BackgroundGameMutationsBulkCreateStadiaArgs = {
inputs: Array;
};
+export type BackgroundGameMutationsBulkCustomObjectParamsCitiesArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
export type BackgroundGameMutationsBulkDeleteCitiesArgs = {
backgroundOptions?: InputMaybe;
ids: Array;
@@ -593,6 +618,14 @@ export type BackgroundGameMutationsCreateStadiumArgs = {
stadium?: InputMaybe;
};
+export type BackgroundGameMutationsCustomObjectParamsCityArgs = {
+ backgroundOptions?: InputMaybe;
+ city?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+ objParam?: InputMaybe;
+ rootLevelStr?: InputMaybe;
+};
+
export type BackgroundGameMutationsDeleteCityArgs = {
backgroundOptions?: InputMaybe;
id: Scalars["GadgetID"]["input"];
@@ -661,6 +694,160 @@ export type BackgroundGameMutationsUpsertStadiumArgs = {
stadium?: InputMaybe;
};
+export type BackgroundHasManyThroughMutations = {
+ __typename?: "BackgroundHasManyThroughMutations";
+ bulkCreateBaseModels: BulkEnqueueBackgroundActionResult;
+ bulkCreateJoinerModels: BulkEnqueueBackgroundActionResult;
+ bulkCreateSiblingModels: BulkEnqueueBackgroundActionResult;
+ bulkDeleteBaseModels: BulkEnqueueBackgroundActionResult;
+ bulkDeleteJoinerModels: BulkEnqueueBackgroundActionResult;
+ bulkDeleteSiblingModels: BulkEnqueueBackgroundActionResult;
+ bulkUpdateBaseModels: BulkEnqueueBackgroundActionResult;
+ bulkUpdateJoinerModels: BulkEnqueueBackgroundActionResult;
+ bulkUpdateSiblingModels: BulkEnqueueBackgroundActionResult;
+ bulkUpsertBaseModels: BulkEnqueueBackgroundActionResult;
+ bulkUpsertJoinerModels: BulkEnqueueBackgroundActionResult;
+ bulkUpsertSiblingModels: BulkEnqueueBackgroundActionResult;
+ createBaseModel: EnqueueBackgroundActionResult;
+ createJoinerModel: EnqueueBackgroundActionResult;
+ createSiblingModel: EnqueueBackgroundActionResult;
+ deleteBaseModel: EnqueueBackgroundActionResult;
+ deleteJoinerModel: EnqueueBackgroundActionResult;
+ deleteSiblingModel: EnqueueBackgroundActionResult;
+ updateBaseModel: EnqueueBackgroundActionResult;
+ updateJoinerModel: EnqueueBackgroundActionResult;
+ updateSiblingModel: EnqueueBackgroundActionResult;
+ upsertBaseModel: EnqueueBackgroundActionResult;
+ upsertJoinerModel: EnqueueBackgroundActionResult;
+ upsertSiblingModel: EnqueueBackgroundActionResult;
+};
+
+export type BackgroundHasManyThroughMutationsBulkCreateBaseModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkCreateJoinerModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkCreateSiblingModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkDeleteBaseModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ ids: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkDeleteJoinerModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ ids: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkDeleteSiblingModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ ids: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkUpdateBaseModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkUpdateJoinerModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkUpdateSiblingModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkUpsertBaseModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkUpsertJoinerModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsBulkUpsertSiblingModelsArgs = {
+ backgroundOptions?: InputMaybe;
+ inputs: Array;
+};
+
+export type BackgroundHasManyThroughMutationsCreateBaseModelArgs = {
+ backgroundOptions?: InputMaybe;
+ baseModel?: InputMaybe;
+};
+
+export type BackgroundHasManyThroughMutationsCreateJoinerModelArgs = {
+ backgroundOptions?: InputMaybe;
+ joinerModel?: InputMaybe;
+};
+
+export type BackgroundHasManyThroughMutationsCreateSiblingModelArgs = {
+ backgroundOptions?: InputMaybe;
+ siblingModel?: InputMaybe;
+};
+
+export type BackgroundHasManyThroughMutationsDeleteBaseModelArgs = {
+ backgroundOptions?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+};
+
+export type BackgroundHasManyThroughMutationsDeleteJoinerModelArgs = {
+ backgroundOptions?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+};
+
+export type BackgroundHasManyThroughMutationsDeleteSiblingModelArgs = {
+ backgroundOptions?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+};
+
+export type BackgroundHasManyThroughMutationsUpdateBaseModelArgs = {
+ backgroundOptions?: InputMaybe;
+ baseModel?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+};
+
+export type BackgroundHasManyThroughMutationsUpdateJoinerModelArgs = {
+ backgroundOptions?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+ joinerModel?: InputMaybe;
+};
+
+export type BackgroundHasManyThroughMutationsUpdateSiblingModelArgs = {
+ backgroundOptions?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+ siblingModel?: InputMaybe;
+};
+
+export type BackgroundHasManyThroughMutationsUpsertBaseModelArgs = {
+ backgroundOptions?: InputMaybe;
+ baseModel?: InputMaybe;
+ on?: InputMaybe>;
+};
+
+export type BackgroundHasManyThroughMutationsUpsertJoinerModelArgs = {
+ backgroundOptions?: InputMaybe;
+ joinerModel?: InputMaybe;
+ on?: InputMaybe>;
+};
+
+export type BackgroundHasManyThroughMutationsUpsertSiblingModelArgs = {
+ backgroundOptions?: InputMaybe;
+ on?: InputMaybe>;
+ siblingModel?: InputMaybe;
+};
+
export type BackgroundMutations = {
__typename?: "BackgroundMutations";
abortShopifySync: EnqueueBackgroundActionResult;
@@ -732,6 +919,8 @@ export type BackgroundMutations = {
errorShopifySync: EnqueueBackgroundActionResult;
flipAll: EnqueueBackgroundActionResult;
game: BackgroundGameMutations;
+ hasManyThrough: BackgroundHasManyThroughMutations;
+ name: BackgroundNameMutations;
runShopifySync: EnqueueBackgroundActionResult;
signInUser: EnqueueBackgroundActionResult;
signOutUser: EnqueueBackgroundActionResult;
@@ -1236,6 +1425,43 @@ export type BackgroundMutationsUpsertWidgetArgs = {
widget?: InputMaybe;
};
+export type BackgroundNameMutations = {
+ __typename?: "BackgroundNameMutations";
+ spaced: BackgroundNameSpacedMutations;
+};
+
+export type BackgroundNameSpacedMutations = {
+ __typename?: "BackgroundNameSpacedMutations";
+ actionA: EnqueueBackgroundActionResult;
+ customObjectParams: EnqueueBackgroundActionResult;
+};
+
+export type BackgroundNameSpacedMutationsActionAArgs = {
+ backgroundOptions?: InputMaybe;
+};
+
+export type BackgroundNameSpacedMutationsCustomObjectParamsArgs = {
+ backgroundOptions?: InputMaybe;
+ objParam?: InputMaybe;
+ rootLevelStr?: InputMaybe;
+};
+
+/** Input object supporting setting or updating related model record on a relationship field */
+export type BaseModelBelongsToInput = {
+ /** Existing ID of another record, which you would like to associate this record with */
+ _link?: InputMaybe;
+ create?: InputMaybe;
+ delete?: InputMaybe;
+ update?: InputMaybe;
+};
+
+/** Input object supporting setting or updating related model record on a relationship field */
+export type BaseModelHasManyThroughInput = {
+ create?: InputMaybe;
+ delete?: InputMaybe;
+ update?: InputMaybe;
+};
+
export type BooleanFilter = {
equals?: InputMaybe;
isSet?: InputMaybe;
@@ -1410,6 +1636,51 @@ export type BulkCreateGizmosResult = {
success: Scalars["Boolean"]["output"];
};
+export type BulkCreateHasManyThroughBaseModelsInput = {
+ baseModel?: InputMaybe;
+};
+
+/** The output when running the create on the baseModel model in bulk. */
+export type BulkCreateHasManyThroughBaseModelsResult = {
+ __typename?: "BulkCreateHasManyThroughBaseModelsResult";
+ /** The list of all changed baseModel records by each sent bulk action. Returned in the same order as the input bulk action params. */
+ baseModels?: Maybe>>;
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+export type BulkCreateHasManyThroughJoinerModelsInput = {
+ joinerModel?: InputMaybe;
+};
+
+/** The output when running the create on the joinerModel model in bulk. */
+export type BulkCreateHasManyThroughJoinerModelsResult = {
+ __typename?: "BulkCreateHasManyThroughJoinerModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** The list of all changed joinerModel records by each sent bulk action. Returned in the same order as the input bulk action params. */
+ joinerModels?: Maybe>>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+export type BulkCreateHasManyThroughSiblingModelsInput = {
+ siblingModel?: InputMaybe;
+};
+
+/** The output when running the create on the siblingModel model in bulk. */
+export type BulkCreateHasManyThroughSiblingModelsResult = {
+ __typename?: "BulkCreateHasManyThroughSiblingModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** The list of all changed siblingModel records by each sent bulk action. Returned in the same order as the input bulk action params. */
+ siblingModels?: Maybe>>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
/** The output when running the create on the modelA model in bulk. */
export type BulkCreateModelAsResult = {
__typename?: "BulkCreateModelAsResult";
@@ -1494,6 +1765,24 @@ export type BulkCustomActionWithParamsAutoTableTestsResult = {
success: Scalars["Boolean"]["output"];
};
+export type BulkCustomObjectParamsGameCitiesInput = {
+ city?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+ objParam?: InputMaybe;
+ rootLevelStr?: InputMaybe;
+};
+
+/** The output when running the customObjectParams on the city model in bulk. */
+export type BulkCustomObjectParamsGameCitiesResult = {
+ __typename?: "BulkCustomObjectParamsGameCitiesResult";
+ /** The list of all changed city records by each sent bulk action. Returned in the same order as the input bulk action params. */
+ cities?: Maybe>>;
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
/** The output when running the delete on the _autoTableTestRelatedModel model in bulk. */
export type BulkDeleteAutoTableTestRelatedModelsResult = {
__typename?: "BulkDeleteAutoTableTestRelatedModelsResult";
@@ -1557,6 +1846,33 @@ export type BulkDeleteGizmosResult = {
success: Scalars["Boolean"]["output"];
};
+/** The output when running the delete on the baseModel model in bulk. */
+export type BulkDeleteHasManyThroughBaseModelsResult = {
+ __typename?: "BulkDeleteHasManyThroughBaseModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+/** The output when running the delete on the joinerModel model in bulk. */
+export type BulkDeleteHasManyThroughJoinerModelsResult = {
+ __typename?: "BulkDeleteHasManyThroughJoinerModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+/** The output when running the delete on the siblingModel model in bulk. */
+export type BulkDeleteHasManyThroughSiblingModelsResult = {
+ __typename?: "BulkDeleteHasManyThroughSiblingModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
/** The output when running the delete on the modelA model in bulk. */
export type BulkDeleteModelAsResult = {
__typename?: "BulkDeleteModelAsResult";
@@ -1801,6 +2117,54 @@ export type BulkUpdateGizmosResult = {
success: Scalars["Boolean"]["output"];
};
+export type BulkUpdateHasManyThroughBaseModelsInput = {
+ baseModel?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+};
+
+/** The output when running the update on the baseModel model in bulk. */
+export type BulkUpdateHasManyThroughBaseModelsResult = {
+ __typename?: "BulkUpdateHasManyThroughBaseModelsResult";
+ /** The list of all changed baseModel records by each sent bulk action. Returned in the same order as the input bulk action params. */
+ baseModels?: Maybe>>;
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+export type BulkUpdateHasManyThroughJoinerModelsInput = {
+ id: Scalars["GadgetID"]["input"];
+ joinerModel?: InputMaybe;
+};
+
+/** The output when running the update on the joinerModel model in bulk. */
+export type BulkUpdateHasManyThroughJoinerModelsResult = {
+ __typename?: "BulkUpdateHasManyThroughJoinerModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** The list of all changed joinerModel records by each sent bulk action. Returned in the same order as the input bulk action params. */
+ joinerModels?: Maybe>>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+export type BulkUpdateHasManyThroughSiblingModelsInput = {
+ id: Scalars["GadgetID"]["input"];
+ siblingModel?: InputMaybe;
+};
+
+/** The output when running the update on the siblingModel model in bulk. */
+export type BulkUpdateHasManyThroughSiblingModelsResult = {
+ __typename?: "BulkUpdateHasManyThroughSiblingModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** The list of all changed siblingModel records by each sent bulk action. Returned in the same order as the input bulk action params. */
+ siblingModels?: Maybe>>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
/** The output when running the update on the modelA model in bulk. */
export type BulkUpdateModelAsResult = {
__typename?: "BulkUpdateModelAsResult";
@@ -2015,6 +2379,57 @@ export type BulkUpsertGizmosResult = {
success: Scalars["Boolean"]["output"];
};
+export type BulkUpsertHasManyThroughBaseModelsInput = {
+ baseModel?: InputMaybe;
+ /** An array of Strings */
+ on?: InputMaybe>;
+};
+
+/** The result of a bulk upsert operation for the baseModel */
+export type BulkUpsertHasManyThroughBaseModelsResult = {
+ __typename?: "BulkUpsertHasManyThroughBaseModelsResult";
+ /** The results of each upsert action in the bulk operation */
+ baseModels?: Maybe>>;
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+export type BulkUpsertHasManyThroughJoinerModelsInput = {
+ joinerModel?: InputMaybe;
+ /** An array of Strings */
+ on?: InputMaybe>;
+};
+
+/** The result of a bulk upsert operation for the joinerModel */
+export type BulkUpsertHasManyThroughJoinerModelsResult = {
+ __typename?: "BulkUpsertHasManyThroughJoinerModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** The results of each upsert action in the bulk operation */
+ joinerModels?: Maybe>>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
+export type BulkUpsertHasManyThroughSiblingModelsInput = {
+ /** An array of Strings */
+ on?: InputMaybe>;
+ siblingModel?: InputMaybe;
+};
+
+/** The result of a bulk upsert operation for the siblingModel */
+export type BulkUpsertHasManyThroughSiblingModelsResult = {
+ __typename?: "BulkUpsertHasManyThroughSiblingModelsResult";
+ /** Aggregated list of errors that any bulk action encountered while processing */
+ errors?: Maybe>;
+ /** The results of each upsert action in the bulk operation */
+ siblingModels?: Maybe>>;
+ /** Boolean describing if all the bulk actions succeeded or not */
+ success: Scalars["Boolean"]["output"];
+};
+
export type BulkUpsertModelAsInput = {
modelA?: InputMaybe;
/** An array of Strings */
@@ -2123,6 +2538,7 @@ export type CityBelongsToInput = {
/** Existing ID of another record, which you would like to associate this record with */
_link?: InputMaybe;
create?: InputMaybe;
+ customObjectParams?: InputMaybe;
delete?: InputMaybe;
update?: InputMaybe;
};
@@ -2189,6 +2605,21 @@ export type ConvergeGizmoValues = {
widget?: InputMaybe;
};
+/** Declaratively specifies the list of records a relationship should become and invokes the given actions in order to change the current state to get to the newly specified state. */
+export type ConvergeJoinerModelInput = {
+ /** An optional partial set of action api identifiers to use when creating, updating, and deleting records to converge to the new list. */
+ actions?: InputMaybe;
+ /** The new list of records to converge to */
+ values: Array>;
+};
+
+/** One element of a ConvergeJoinerModelInput record converge list */
+export type ConvergeJoinerModelValues = {
+ id?: InputMaybe;
+ joinerBelongsToBase?: InputMaybe;
+ joinerBelongsToSibling?: InputMaybe;
+};
+
/** Declaratively specifies the list of records a relationship should become and invokes the given actions in order to change the current state to get to the newly specified state. */
export type ConvergePlayerInput = {
/** An optional partial set of action api identifiers to use when creating, updating, and deleting records to converge to the new list. */
@@ -2365,6 +2796,48 @@ export type CreateGizmoResult = UpsertGizmoResult & {
success: Scalars["Boolean"]["output"];
};
+export type CreateHasManyThroughBaseModelInput = {
+ baseModelHmtField?: InputMaybe>>;
+ baseModelName?: InputMaybe;
+ joinerModel?: InputMaybe>>;
+ joinerModels?: InputMaybe>>;
+};
+
+export type CreateHasManyThroughBaseModelResult = UpsertHasManyThroughBaseModelResult & {
+ __typename?: "CreateHasManyThroughBaseModelResult";
+ actionRun?: Maybe;
+ baseModel?: Maybe;
+ errors?: Maybe>;
+ success: Scalars["Boolean"]["output"];
+};
+
+export type CreateHasManyThroughJoinerModelInput = {
+ joinerBelongsToBase?: InputMaybe;
+ joinerBelongsToSibling?: InputMaybe;
+};
+
+export type CreateHasManyThroughJoinerModelResult = UpsertHasManyThroughJoinerModelResult & {
+ __typename?: "CreateHasManyThroughJoinerModelResult";
+ actionRun?: Maybe;
+ errors?: Maybe>;
+ joinerModel?: Maybe;
+ success: Scalars["Boolean"]["output"];
+};
+
+export type CreateHasManyThroughSiblingModelInput = {
+ joinerModel?: InputMaybe>>;
+ joinerModels?: InputMaybe>>;
+ siblingModelHmtField?: InputMaybe>>;
+};
+
+export type CreateHasManyThroughSiblingModelResult = UpsertHasManyThroughSiblingModelResult & {
+ __typename?: "CreateHasManyThroughSiblingModelResult";
+ actionRun?: Maybe;
+ errors?: Maybe>;
+ siblingModel?: Maybe;
+ success: Scalars["Boolean"]["output"];
+};
+
export type CreateModelAResult = UpsertModelAResult & {
__typename?: "CreateModelAResult";
actionRun?: Maybe;
@@ -2491,10 +2964,37 @@ export type CustomActionWithParamsAutoTableTestResult = {
success: Scalars["Boolean"]["output"];
};
-export type DateFilter = {
- after?: InputMaybe;
- afterOrOn?: InputMaybe;
- before?: InputMaybe;
+export type CustomObjectParamsGameCityInput = {
+ name?: InputMaybe;
+ stadium?: InputMaybe;
+};
+
+export type CustomObjectParamsGameCityResult = {
+ __typename?: "CustomObjectParamsGameCityResult";
+ actionRun?: Maybe;
+ city?: Maybe;
+ errors?: Maybe>;
+ success: Scalars["Boolean"]["output"];
+};
+
+export type CustomObjectParamsObjParamInput = {
+ firstLevelStr?: InputMaybe;
+ objProperty1?: InputMaybe;
+};
+
+export type CustomObjectParamsObjProperty1Input = {
+ objProperty2?: InputMaybe;
+ secondLevelStr?: InputMaybe;
+};
+
+export type CustomObjectParamsObjProperty2Input = {
+ thirdLevelStr?: InputMaybe;
+};
+
+export type DateFilter = {
+ after?: InputMaybe;
+ afterOrOn?: InputMaybe;
+ before?: InputMaybe;
beforeOrOn?: InputMaybe;
equals?: InputMaybe;
greaterThan?: InputMaybe;
@@ -2570,6 +3070,27 @@ export type DeleteGizmoResult = {
success: Scalars["Boolean"]["output"];
};
+export type DeleteHasManyThroughBaseModelResult = {
+ __typename?: "DeleteHasManyThroughBaseModelResult";
+ actionRun?: Maybe;
+ errors?: Maybe>;
+ success: Scalars["Boolean"]["output"];
+};
+
+export type DeleteHasManyThroughJoinerModelResult = {
+ __typename?: "DeleteHasManyThroughJoinerModelResult";
+ actionRun?: Maybe;
+ errors?: Maybe>;
+ success: Scalars["Boolean"]["output"];
+};
+
+export type DeleteHasManyThroughSiblingModelResult = {
+ __typename?: "DeleteHasManyThroughSiblingModelResult";
+ actionRun?: Maybe;
+ errors?: Maybe>;
+ success: Scalars["Boolean"]["output"];
+};
+
export type DeleteModelAResult = {
__typename?: "DeleteModelAResult";
actionRun?: Maybe;
@@ -2793,6 +3314,7 @@ export type GadgetApplicationMeta = {
sessionID?: Maybe;
shopifyConnectionApiVersion?: Maybe;
slug: Scalars["String"]["output"];
+ supportsGadgetVitePlugin: Scalars["Boolean"]["output"];
};
export type GadgetApplicationMetaDirectUploadTokenArgs = {
@@ -2959,6 +3481,22 @@ export type GadgetHasManyConfig = GadgetFieldConfigInterface & {
inverseField?: Maybe;
isConfigured: Scalars["Boolean"]["output"];
isInverseConfigured: Scalars["Boolean"]["output"];
+ isJoinModelHasManyField: Scalars["Boolean"]["output"];
+ relatedModel?: Maybe;
+ relatedModelKey?: Maybe;
+ validations: Array>;
+};
+
+export type GadgetHasManyThroughConfig = GadgetFieldConfigInterface & {
+ __typename?: "GadgetHasManyThroughConfig";
+ fieldType: GadgetFieldType;
+ inverseField?: Maybe;
+ inverseJoinModelField?: Maybe;
+ inverseRelatedModelField?: Maybe;
+ isConfigured: Scalars["Boolean"]["output"];
+ isInverseConfigured: Scalars["Boolean"]["output"];
+ joinModel?: Maybe;
+ joinModelKey?: Maybe;
relatedModel?: Maybe;
relatedModelKey?: Maybe;
validations: Array>;
@@ -3171,6 +3709,7 @@ export type GameMutations = {
bulkCreatePlayers?: Maybe;
bulkCreateRounds?: Maybe;
bulkCreateStadia?: Maybe;
+ bulkCustomObjectParamsCities?: Maybe;
bulkDeleteCities?: Maybe;
bulkDeletePlayers?: Maybe;
bulkDeleteRounds?: Maybe;
@@ -3187,6 +3726,7 @@ export type GameMutations = {
createPlayer?: Maybe;
createRound?: Maybe;
createStadium?: Maybe;
+ customObjectParamsCity?: Maybe;
deleteCity?: Maybe;
deletePlayer?: Maybe;
deleteRound?: Maybe;
@@ -3217,6 +3757,10 @@ export type GameMutationsBulkCreateStadiaArgs = {
inputs: Array;
};
+export type GameMutationsBulkCustomObjectParamsCitiesArgs = {
+ inputs: Array;
+};
+
export type GameMutationsBulkDeleteCitiesArgs = {
ids: Array;
};
@@ -3281,6 +3825,13 @@ export type GameMutationsCreateStadiumArgs = {
stadium?: InputMaybe;
};
+export type GameMutationsCustomObjectParamsCityArgs = {
+ city?: InputMaybe;
+ id: Scalars["GadgetID"]["input"];
+ objParam?: InputMaybe;
+ rootLevelStr?: InputMaybe;
+};
+
export type GameMutationsDeleteCityArgs = {
id: Scalars["GadgetID"]["input"];
};
@@ -3673,1113 +4224,1888 @@ export type GizmoSort = {
updatedAt?: InputMaybe;
};
-export type IdEqualsFilter = {
- equals?: InputMaybe;
-};
-
-export type IdFilter = {
- equals?: InputMaybe;
- greaterThan?: InputMaybe;
- greaterThanOrEqual?: InputMaybe;
- in?: InputMaybe>>;
- isSet?: InputMaybe;
- lessThan?: InputMaybe;
- lessThanOrEqual?: InputMaybe;
- notEquals?: InputMaybe;
- notIn?: InputMaybe>>;
-};
-
-export type InstallShopifyShopResult = UpsertShopifyShopResult & {
- __typename?: "InstallShopifyShopResult";
- actionRun?: Maybe;
- errors?: Maybe>;
- shopifyShop?: Maybe;
- success: Scalars["Boolean"]["output"];
+export type HasManyThroughBaseModel = {
+ __typename?: "HasManyThroughBaseModel";
+ /** Get all the fields for this record. Useful for not having to list out all the fields you want to retrieve, but slower. */
+ _all: Scalars["JSONObject"]["output"];
+ baseModelHmtField: HasManyThroughSiblingModelConnection;
+ baseModelName?: Maybe;
+ /** The time at which this record was first created. Set once upon record creation and never changed. Managed by Gadget. */
+ createdAt: Scalars["DateTime"]["output"];
+ /** The globally unique, unchanging identifier for this record. Assigned and managed by Gadget. */
+ id: Scalars["GadgetID"]["output"];
+ joinerModels: HasManyThroughJoinerModelConnection;
+ /** The time at which this record was last changed. Set each time the record is successfully acted upon by an action. Managed by Gadget. */
+ updatedAt: Scalars["DateTime"]["output"];
};
-export type InternalAutoTableTestAtomicsInput = {
- /** Numeric atomic commands for operating on num. */
- num?: InputMaybe>;
+export type HasManyThroughBaseModelBaseModelHmtFieldArgs = {
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
-export type InternalAutoTableTestInput = {
- /** An optional list of atomically applied commands for race-safe mutations of the record */
- _atomics?: InputMaybe;
- bool?: InputMaybe;
- createdAt?: InputMaybe;
- dt?: InputMaybe;
- email?: InputMaybe;
- enum?: InputMaybe>;
- es?: InputMaybe;
- file?: InputMaybe;
- id?: InputMaybe;
- json?: InputMaybe;
- num?: InputMaybe;
- pwd?: InputMaybe;
- /** A string list of Gadget platform Role keys to assign to this record */
- rl?: InputMaybe>;
- rt?: InputMaybe;
- state?: InputMaybe;
- stateHistory?: InputMaybe;
- str?: InputMaybe;
- updatedAt?: InputMaybe;
- url?: InputMaybe;
- vect?: InputMaybe>;
+export type HasManyThroughBaseModelJoinerModelsArgs = {
+ after?: InputMaybe;
+ before?: InputMaybe;
+ first?: InputMaybe;
+ last?: InputMaybe;
};
-/** A connection to a list of InternalAutoTableTestRecord items. */
-export type InternalAutoTableTestRecordConnection = {
- __typename?: "InternalAutoTableTestRecordConnection";
+/** A connection to a list of HasManyThroughBaseModel items. */
+export type HasManyThroughBaseModelConnection = {
+ __typename?: "HasManyThroughBaseModelConnection";
/** A list of edges. */
- edges: Array;
+ edges: Array;
/** Information to aid in pagination. */
pageInfo: PageInfo;
};
-/** An edge in a InternalAutoTableTestRecord connection. */
-export type InternalAutoTableTestRecordEdge = {
- __typename?: "InternalAutoTableTestRecordEdge";
+/** An edge in a HasManyThroughBaseModel connection. */
+export type HasManyThroughBaseModelEdge = {
+ __typename?: "HasManyThroughBaseModelEdge";
/** A cursor for use in pagination */
cursor: Scalars["String"]["output"];
/** The item at the end of the edge */
- node: Scalars["InternalAutoTableTestRecord"]["output"];
+ node: HasManyThroughBaseModel;
};
-export type InternalAutoTableTestRelatedModelAtomicsInput = {
- /** Numeric atomic commands for operating on someNumber. */
- someNumber?: InputMaybe>;
+export type HasManyThroughBaseModelFilter = {
+ AND?: InputMaybe>>;
+ NOT?: InputMaybe>>;
+ OR?: InputMaybe>>;
+ baseModelName?: InputMaybe