fix: update remaining gaiia graphql status fields for object schema
Gaiia migrated all status fields from scalar enums to object types,
not just AccountStatus. Update BillingSubscription.status,
InventoryItem.status, and nested billingSubscriptions.status in the
accounts query to request { id name } subfields and extract the name
value in sync mappers.
This commit is contained in:
parent
d603a12322
commit
1dbb8926ed
3 changed files with 18 additions and 9 deletions
|
|
@ -40,7 +40,10 @@ defmodule Towerops.Gaiia.Client do
|
|||
edges {
|
||||
node {
|
||||
id
|
||||
status
|
||||
status {
|
||||
id
|
||||
name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -93,7 +96,10 @@ defmodule Towerops.Gaiia.Client do
|
|||
edges {
|
||||
node {
|
||||
id
|
||||
status
|
||||
status {
|
||||
id
|
||||
name
|
||||
}
|
||||
ipAddressV4
|
||||
model {
|
||||
name
|
||||
|
|
@ -127,7 +133,10 @@ defmodule Towerops.Gaiia.Client do
|
|||
edges {
|
||||
node {
|
||||
id
|
||||
status
|
||||
status {
|
||||
id
|
||||
name
|
||||
}
|
||||
productVersion {
|
||||
product {
|
||||
name
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ defmodule Towerops.Gaiia.Sync do
|
|||
|
||||
defp map_account(node) do
|
||||
subs = get_in(node, ["billingSubscriptions", "edges"]) || []
|
||||
active_count = Enum.count(subs, &(&1["node"]["status"] == "Active"))
|
||||
active_count = Enum.count(subs, &(get_in(&1, ["node", "status", "name"]) == "Active"))
|
||||
|
||||
%{
|
||||
gaiia_id: node["id"],
|
||||
|
|
@ -119,7 +119,7 @@ defmodule Towerops.Gaiia.Sync do
|
|||
%{
|
||||
gaiia_id: node["id"],
|
||||
name: get_in(node, ["model", "name"]),
|
||||
status: node["status"],
|
||||
status: get_in(node, ["status", "name"]),
|
||||
serial_number: nil,
|
||||
mac_address: nil,
|
||||
ip_address: node["ipAddressV4"],
|
||||
|
|
@ -142,7 +142,7 @@ defmodule Towerops.Gaiia.Sync do
|
|||
%{
|
||||
gaiia_id: node["id"],
|
||||
account_gaiia_id: get_in(node, ["entity", "id"]),
|
||||
status: node["status"],
|
||||
status: get_in(node, ["status", "name"]),
|
||||
product_name: get_in(node, ["productVersion", "product", "name"]),
|
||||
mrr_amount: mrr_amount,
|
||||
currency: get_in(node, ["productVersion", "currency"]),
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ defmodule Towerops.Gaiia.SyncTest do
|
|||
%{
|
||||
"node" => %{
|
||||
"id" => "sub-1",
|
||||
"status" => "Active"
|
||||
"status" => %{"id" => "sub-status-1", "name" => "Active"}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -208,7 +208,7 @@ defmodule Towerops.Gaiia.SyncTest do
|
|||
%{
|
||||
"node" => %{
|
||||
"id" => "item-1",
|
||||
"status" => "Active",
|
||||
"status" => %{"id" => "inv-status-1", "name" => "Active"},
|
||||
"ipAddressV4" => "10.0.0.1",
|
||||
"model" => %{
|
||||
"name" => "airFiber 5XHD",
|
||||
|
|
@ -236,7 +236,7 @@ defmodule Towerops.Gaiia.SyncTest do
|
|||
%{
|
||||
"node" => %{
|
||||
"id" => "sub-1",
|
||||
"status" => "Active",
|
||||
"status" => %{"id" => "sub-status-1", "name" => "Active"},
|
||||
"productVersion" => %{
|
||||
"product" => %{"name" => "100Mbps Unlimited"},
|
||||
"price" => 7999,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue