1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GraphQLAdvent Calendar 2024

Day 25

【Shopify】GraphQLのnamesとかの引数で複数できる時の指定方法

Last updated at Posted at 2024-12-26

検索してあまりヒットしなかったので、備忘録として残しておきます。
InventoryLevelConnectionオブジェクトのquantitiesの引数で、namesを指定するのですが、複数形になっている場合の指定方法がよくわからなかったのです。

ここです。
スクリーンショット 2024-12-26 14.10.44.png

namesは、Inventory Statusとして定義されているので、そのstatus名を指定します。
Inventory Statusについては、以下を参照して下さい。

つまり、以下のInventory Statusを指定できます。
incoming
available
committed
reserved
damaged
safety_stock
quality_control

この、複数のInventory Statusを指定するときは、GraphQLとして以下のように書きます。

        inventoryLevels(first:10){
            edges{
                node{
                    location{
                        id
                        name
                    }
                    quantities(names: [
       "available",
       "incoming",
       "committed",
       "damaged",
       "on_hand",
       "quality_control",
       "reserved",
       "safety_stock"
   ]){
                        name
                        quantity
                    }
                }
            }
        }

ええ、まんま、"["と"]"の間に、文字列として指定します。
ここ、ENUMになってくれないかな〜。

以下のように、返ってきます。
この、ロケーション(倉庫とか)ごとに在庫状態と在庫数を取得します。

            "inventoryLevels": {
                "edges": [
                    {
                        "node": {
                            "location": {
                                "id": "gid://shopify/Location/11111111111",
                                "name": "QuickStartStore"
                            },
                            "quantities": [
                                {
                                    "name": "available",
                                    "quantity": 10
                                },
                                {
                                    "name": "incoming",
                                    "quantity": 3
                                },
                                {
                                    "name": "committed",
                                    "quantity": 1
                                },
                                {
                                    "name": "damaged",
                                    "quantity": 1
                                },
                                {
                                    "name": "on_hand",
                                    "quantity": 2
                                },
                                {
                                    "name": "quality_control",
                                    "quantity": 0
                                },
                                {
                                    "name": "reserved",
                                    "quantity": 0
                                },
                                {
                                    "name": "safety_stock",
                                    "quantity": 0
                                }
                            ]
                        }
                    }
                ]
            },

引数で、一つのパラメータに対して複数設定できる場合の、参考にして下さい。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?