add hasPrimary and disabled to network interfaces

This commit is contained in:
Matt Hill
2023-05-21 12:24:21 -06:00
parent dfc54b4320
commit 2354d08b75
4 changed files with 25 additions and 3 deletions

View File

@@ -21,6 +21,8 @@ export class NetworkInterfaceBuilder {
name: string
id: string
description: string
hasPrimary: boolean
disabled: boolean
ui: boolean
username: null | string
path: string
@@ -39,7 +41,17 @@ export class NetworkInterfaceBuilder {
async export<Origins extends Origin<Host>[]>(
origins: Origins,
): Promise<Address[] & AddressReceipt> {
const { name, description, id, ui, username, path, search } = this.options
const {
name,
description,
hasPrimary,
disabled,
id,
ui,
username,
path,
search,
} = this.options
const addresses = Array.from(origins).map((o) =>
o.build({ username, path, search, scheme: null }),
@@ -49,6 +61,8 @@ export class NetworkInterfaceBuilder {
interfaceId: id,
name,
description,
hasPrimary,
disabled,
addresses,
ui,
})

View File

@@ -1,8 +1,6 @@
import { MultiHost } from "../interfaces/Host"
import { NetworkInterfaceBuilder } from "../interfaces/NetworkInterfaceBuilder"
import { Effects } from "../types"
import { createUtils } from "../util"
import { sdk } from "./output.sdk"
describe("host", () => {
test("Testing that the types work", () => {
@@ -15,6 +13,8 @@ describe("host", () => {
name: "Foo",
id: "foo",
description: "A Foo",
hasPrimary: false,
disabled: false,
ui: true,
username: "bar",
path: "/baz",

View File

@@ -185,6 +185,10 @@ export type NetworkInterface = {
name: string
/** Human readable description, used as tooltip usually */
description: string
/** Whether or not one address must be the primary address */
hasPrimary: boolean
/** Disabled interfaces do not serve, but they retain their metadata and addresses */
disabled: boolean
/** All URIs */
addresses: Address[]
/** Defaults to false, but describes if this address can be opened in a browser as an

View File

@@ -57,6 +57,8 @@ export type Utils<Store, Vault, WrapperOverWrite = { const: never }> = {
name: string
id: string
description: string
hasPrimary: boolean
disabled: boolean
ui: boolean
username: null | string
path: string
@@ -149,6 +151,8 @@ export const utils = <
name: string
id: string
description: string
hasPrimary: boolean
disabled: boolean
ui: boolean
username: null | string
path: string