Add API tokens support #9
@ -13,6 +13,7 @@ import {
|
|||||||
import React from "react";
|
import React from "react";
|
||||||
import { NWFilter } from "../../api/NWFilterApi";
|
import { NWFilter } from "../../api/NWFilterApi";
|
||||||
import { NetworkInfo } from "../../api/NetworksApi";
|
import { NetworkInfo } from "../../api/NetworksApi";
|
||||||
|
import { ServerApi } from "../../api/ServerApi";
|
||||||
import { APIToken, TokenRight } from "../../api/TokensApi";
|
import { APIToken, TokenRight } from "../../api/TokensApi";
|
||||||
import { VMInfo } from "../../api/VMApi";
|
import { VMInfo } from "../../api/VMApi";
|
||||||
|
|
||||||
@ -382,6 +383,94 @@ export function TokenRightsEditor(p: {
|
|||||||
</Table>
|
</Table>
|
||||||
</RightsSection>
|
</RightsSection>
|
||||||
|
|
||||||
|
{/* Network filters */}
|
||||||
|
<RightsSection label="Network filters">
|
||||||
|
<RouteRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "POST", path: "/api/nwfilter/create" }}
|
||||||
|
label="Create a new network filter"
|
||||||
|
/>
|
||||||
|
<RouteRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "GET", path: "/api/nwfilter/list" }}
|
||||||
|
label="Get list of network filters"
|
||||||
|
/>
|
||||||
|
</RightsSection>
|
||||||
|
|
||||||
|
{/* Networks filters management */}
|
||||||
|
<RightsSection label="Networks filters management">
|
||||||
|
<Table size="small">
|
||||||
|
<TableHead>
|
||||||
|
<TableRow>
|
||||||
|
<TableCell>Network filter name</TableCell>
|
||||||
|
<TableCell align="center">Get definition</TableCell>
|
||||||
|
<TableCell align="center">Update</TableCell>
|
||||||
|
<TableCell align="center">Delete</TableCell>
|
||||||
|
<TableCell align="center">Get XML definition</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody>
|
||||||
|
{/* All networks filters operations */}
|
||||||
|
<TableRow hover>
|
||||||
|
<TableCell>
|
||||||
|
<i>All</i>
|
||||||
|
</TableCell>
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "GET", path: "/api/nwfilter/*" }}
|
||||||
|
/>
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "PUT", path: "/api/nwfilter/*" }}
|
||||||
|
/>
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "DELETE", path: "/api/nwfilter/*" }}
|
||||||
|
/>
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "GET", path: "/api/nwfilter/*/src" }}
|
||||||
|
/>
|
||||||
|
</TableRow>
|
||||||
|
|
||||||
|
{/* Per network filter operations */}
|
||||||
|
{p.nwFilters.map((v, n) => (
|
||||||
|
<TableRow hover key={n}>
|
||||||
|
<TableCell>{v.name}</TableCell>
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "GET", path: `/api/nwfilter/${v.uuid}` }}
|
||||||
|
parent={{ verb: "GET", path: "/api/nwfilter/*" }}
|
||||||
|
/>
|
||||||
|
{ServerApi.Config.builtin_nwfilter_rules.includes(v.name!) ? (
|
||||||
|
<TableCell></TableCell>
|
||||||
|
) : (
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "PUT", path: `/api/nwfilter/${v.uuid}` }}
|
||||||
|
parent={{ verb: "PUT", path: "/api/nwfilter/*" }}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
{ServerApi.Config.builtin_nwfilter_rules.includes(v.name!) ? (
|
||||||
|
<TableCell></TableCell>
|
||||||
|
) : (
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "DELETE", path: `/api/nwfilter/${v.uuid}` }}
|
||||||
|
parent={{ verb: "DELETE", path: "/api/nwfilter/*" }}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
<CellRight
|
||||||
|
{...p}
|
||||||
|
right={{ verb: "GET", path: `/api/nwfilter/${v.uuid}/src` }}
|
||||||
|
parent={{ verb: "GET", path: "/api/nwfilter/*/src" }}
|
||||||
|
/>
|
||||||
|
</TableRow>
|
||||||
|
))}
|
||||||
|
</TableBody>
|
||||||
|
</Table>
|
||||||
|
</RightsSection>
|
||||||
|
|
||||||
{/* ISO files */}
|
{/* ISO files */}
|
||||||
<RightsSection label="ISO files">
|
<RightsSection label="ISO files">
|
||||||
<RouteRight
|
<RouteRight
|
||||||
|
Loading…
Reference in New Issue
Block a user