api/inventory: remove 'inventory' from api entirely
This commit is contained in:
@@ -33,27 +33,6 @@ export const createModulesQuery = (
|
|||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const tagsQuery = (uri: string | undefined) =>
|
|
||||||
useQuery<string[]>(() => ({
|
|
||||||
queryKey: [uri, "tags"],
|
|
||||||
placeholderData: [],
|
|
||||||
queryFn: async () => {
|
|
||||||
if (!uri) return [];
|
|
||||||
|
|
||||||
const response = await callApi("get_inventory", {
|
|
||||||
flake: { identifier: uri },
|
|
||||||
}).promise;
|
|
||||||
if (response.status === "error") {
|
|
||||||
console.error("Failed to fetch data");
|
|
||||||
} else {
|
|
||||||
const machines = response.data.machines || {};
|
|
||||||
const tags = Object.values(machines).flatMap((m) => m.tags || []);
|
|
||||||
return tags;
|
|
||||||
}
|
|
||||||
return [];
|
|
||||||
},
|
|
||||||
}));
|
|
||||||
|
|
||||||
export const machinesQuery = (uri: string | undefined) =>
|
export const machinesQuery = (uri: string | undefined) =>
|
||||||
useQuery<string[]>(() => ({
|
useQuery<string[]>(() => ({
|
||||||
queryKey: [uri, "machines"],
|
queryKey: [uri, "machines"],
|
||||||
@@ -61,7 +40,7 @@ export const machinesQuery = (uri: string | undefined) =>
|
|||||||
queryFn: async () => {
|
queryFn: async () => {
|
||||||
if (!uri) return [];
|
if (!uri) return [];
|
||||||
|
|
||||||
const response = await callApi("get_inventory", {
|
const response = await callApi("list_machines", {
|
||||||
flake: { identifier: uri },
|
flake: { identifier: uri },
|
||||||
}).promise;
|
}).promise;
|
||||||
if (response.status === "error") {
|
if (response.status === "error") {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { BackButton } from "@/src/components/BackButton";
|
import { BackButton } from "@/src/components/BackButton";
|
||||||
import { createModulesQuery, machinesQuery, tagsQuery } from "@/src/queries";
|
import { createModulesQuery, machinesQuery } from "@/src/queries";
|
||||||
import { useParams } from "@solidjs/router";
|
import { useParams } from "@solidjs/router";
|
||||||
import { For, Match, Switch } from "solid-js";
|
import { For, Match, Switch } from "solid-js";
|
||||||
import { ModuleInfo } from "./list";
|
import { ModuleInfo } from "./list";
|
||||||
@@ -34,28 +34,11 @@ interface AddModuleProps {
|
|||||||
|
|
||||||
const AddModule = (props: AddModuleProps) => {
|
const AddModule = (props: AddModuleProps) => {
|
||||||
const { activeClanURI } = useClanContext();
|
const { activeClanURI } = useClanContext();
|
||||||
const tags = tagsQuery(activeClanURI());
|
|
||||||
const machines = machinesQuery(activeClanURI());
|
const machines = machinesQuery(activeClanURI());
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<div>Add to your clan</div>
|
<div>Add to your clan</div>
|
||||||
<Switch fallback="loading">
|
<Switch fallback="loading">Removed</Switch>
|
||||||
<Match when={tags.data}>
|
|
||||||
{(tags) => (
|
|
||||||
<For each={Object.keys(props.data.roles)}>
|
|
||||||
{(role) => (
|
|
||||||
<>
|
|
||||||
<div class="text-neutral-600">{role}s</div>
|
|
||||||
<RoleForm
|
|
||||||
avilableTags={tags()}
|
|
||||||
availableMachines={machines.data || []}
|
|
||||||
/>
|
|
||||||
</>
|
|
||||||
)}
|
|
||||||
</For>
|
|
||||||
)}
|
|
||||||
</Match>
|
|
||||||
</Switch>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -62,7 +62,6 @@ const Details = (props: DetailsProps) => {
|
|||||||
navigate(`/modules/add/${props.id}`);
|
navigate(`/modules/add/${props.id}`);
|
||||||
// const uri = activeURI();
|
// const uri = activeURI();
|
||||||
// if (!uri) return;
|
// if (!uri) return;
|
||||||
// const res = await callApi("get_inventory", { base_path: uri });
|
|
||||||
// if (res.status === "error") {
|
// if (res.status === "error") {
|
||||||
// toast.error("Failed to fetch inventory");
|
// toast.error("Failed to fetch inventory");
|
||||||
// return;
|
// return;
|
||||||
|
|||||||
@@ -10,14 +10,3 @@ Which is an abstraction over the inventory
|
|||||||
|
|
||||||
Interacting with 'clan_lib.inventory' is NOT recommended and will be removed
|
Interacting with 'clan_lib.inventory' is NOT recommended and will be removed
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from clan_lib.api import API
|
|
||||||
from clan_lib.flake import Flake
|
|
||||||
from clan_lib.persist.inventory_store import InventorySnapshot, InventoryStore
|
|
||||||
|
|
||||||
|
|
||||||
@API.register
|
|
||||||
def get_inventory(flake: Flake) -> InventorySnapshot:
|
|
||||||
inventory_store = InventoryStore(flake)
|
|
||||||
inventory = inventory_store.read()
|
|
||||||
return inventory
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from clan_cli.secrets.secrets import (
|
|||||||
list_secrets,
|
list_secrets,
|
||||||
)
|
)
|
||||||
|
|
||||||
from clan_lib import inventory
|
from clan_lib.persist.inventory_store import InventoryStore
|
||||||
from clan_lib.api import API
|
from clan_lib.api import API
|
||||||
from clan_lib.dirs import specific_machine_dir
|
from clan_lib.dirs import specific_machine_dir
|
||||||
from clan_lib.machines.machines import Machine
|
from clan_lib.machines.machines import Machine
|
||||||
@@ -19,7 +19,7 @@ log = logging.getLogger(__name__)
|
|||||||
|
|
||||||
@API.register
|
@API.register
|
||||||
def delete_machine(machine: Machine) -> None:
|
def delete_machine(machine: Machine) -> None:
|
||||||
inventory_store = inventory.InventoryStore(machine.flake)
|
inventory_store = InventoryStore(machine.flake)
|
||||||
try:
|
try:
|
||||||
inventory_store.delete(
|
inventory_store.delete(
|
||||||
{f"machines.{machine.name}"},
|
{f"machines.{machine.name}"},
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ from clan_lib.cmd import RunOpts, run
|
|||||||
from clan_lib.dirs import specific_machine_dir
|
from clan_lib.dirs import specific_machine_dir
|
||||||
from clan_lib.errors import ClanError
|
from clan_lib.errors import ClanError
|
||||||
from clan_lib.flake import Flake
|
from clan_lib.flake import Flake
|
||||||
from clan_lib.inventory import InventoryStore
|
from clan_lib.persist.inventory_store import InventoryStore
|
||||||
from clan_lib.machines.machines import Machine
|
from clan_lib.machines.machines import Machine
|
||||||
from clan_lib.nix import nix_command
|
from clan_lib.nix import nix_command
|
||||||
from clan_lib.nix_models.clan import (
|
from clan_lib.nix_models.clan import (
|
||||||
|
|||||||
Reference in New Issue
Block a user