Untitled

 avatar
unknown
javascript
9 months ago
3.6 kB
5
Indexable
export async function createAppMetaFields(admin, session, data) {
  const metafields = JSON.stringify(data);
  console.log("Metafields:", metafields);
  /* Metafields:
"{\"name\":\"Config\",\"status\":\"saved\",\"condition\":\"total_price\",\"threshold\":99.99,
\"messageAboveThreshold\":\"\",\"messageBelowThreshold\":\"🤡🥳 ${100}\",\"displayPlatform\":\"both\",\"displayPages\":\"all\",\"displayProducts\":\"all\",\"displayButton
\":true,\"displayPosition\":\"top\",\"listProductsID\":[],\"selectedPagesID\":[],\"displayDateStart\":\"2021
-09-01T00:00:00Z\",\"displayDateEnd\":\"2021-09-30T23:59:59Z\",\"textColor\":\"#2E2A39\",\"specialTextColor\
":\"#2E2A39\",\"barBackgroundColor\":\"#E6F4A7\",\"buttonColor\":\"#2E2A39\",\"linkColor\":\"#2E2A39\",\"bor
derColor\":\"#2E2A39\",\"backgroundImage\":\"\",\"borderRadius\":8,\"borderWidth\":0,\"borderStyle\":\"0 0
black\",\"padding\":0,\"margin\":0,\"fontSize\":0,\"specialTextFontSize\":\"22\",\"textAlignment\":\"center\
",\"width\":100,\"height\":10}"
*/
  const ownerID = await getOwnerID(admin, session);

  const query = `
  #graphql
  mutation CreateAppDataMetafield($metafieldsSetInput: [MetafieldsSetInput!]!) {
    metafieldsSet(metafields: $metafieldsSetInput) {
      metafields {
        id
        namespace
        key
        value
      }
      userErrors {
        field
        message
      }
    }
  }
  `;

  const variables = {
    "metafieldsSetInput": [
      {
        "namespace": "test1",
        "key": "test",
        "type": "json",
        "value": metafields,
        "ownerId": ownerID
      }
    ]
  };
  console.log("Variables:", variables);
  /* Variables: {
15:40:32 │             remix │   metafieldsSetInput: [
15:40:32 │             remix │     {
15:40:32 │             remix │       namespace: 'config_fs_bar',
15:40:32 │             remix │       key: 'config_free_shipping_bar',
15:40:32 │             remix │       type: 'json',
15:40:32 │             remix │       value:
'"{\\"name\\":\\"Config\\",\\"status\\":\\"saved\\",\\"condition\\":\\"total_price\\",\\"thre
shold\\":99.99,\\"messageAboveThreshold\\":\\"\\",\\"messageBelowThreshold\\":\\"🤡🥳 ${100} \\",\\"displayPlatform\\":\\"both\\",\\"displayPages\\":\\"all\\",\\"displayProducts\\":\\
"all\\",\\"displayButton\\":true,\\"displayPosition\\":\\"top\\",\\"listProductsID\\":[],\\"selectedPagesID\
\":[],\\"displayDateStart\\":\\"2021-09-01T00:00:00Z\\",\\"displayDateEnd\\":\\"2021-09-30T23:59:59Z\\",\\"t
extColor\\":\\"#2E2A39\\",\\"specialTextColor\\":\\"#2E2A39\\",\\"barBackgroundColor\\":\\"#E6F4A7\\",\\"but
tonColor\\":\\"#2E2A39\\",\\"linkColor\\":\\"#2E2A39\\",\\"borderColor\\":\\"#2E2A39\\",\\"backgroundImage\\
":\\"\\",\\"borderRadius\\":8,\\"borderWidth\\":0,\\"borderStyle\\":\\"0 0
black\\",\\"padding\\":0,\\"margin\\":0,\\"fontSize\\":0,\\"specialTextFontSize\\":\\"22\\",\\"textAlignment
\\":\\"center\\",\\"width\\":100,\\"height\\":10}"',
15:40:32 │             remix │       ownerId: 'gid://shopify/AppInstallation/498838241496'
15:40:32 │             remix │     }
15:40:32 │             remix │   ]
15:40:32 │             remix │ }
15:40:32 │             remix │ LO
Error creating metafields: GraphqlQueryError: Variable
$metafieldsSetInput of type [MetafieldsSetInput!]! was provided invalid value
*/


  try {
    const response = await admin.graphql(query, variables);
    return await response.json();
  } catch (error) {
    console.error("Error creating metafields:", error);
    return { error: "Unable to create metafields", status: 500 };
  }
}
Editor is loading...
Leave a Comment