mirror of
https://github.com/speatzle/nfsense.git
synced 2025-05-10 18:38:22 +00:00
Add Source and Destination NAT editTypes
This commit is contained in:
parent
e1f2136e7c
commit
3a7e9f9af0
1 changed files with 61 additions and 0 deletions
|
@ -109,6 +109,67 @@ export const editTypes: { [key: string]: { [key: string]: any } } = {
|
|||
},
|
||||
],
|
||||
},
|
||||
"destinationnatrules": {
|
||||
name: "DestinationNATRule",
|
||||
validationSchema: toFormValidator(
|
||||
zod.object({
|
||||
name: zod.string(),
|
||||
verdict: zod.string(),
|
||||
counter: zod.boolean(),
|
||||
comment: zod.string().optional(),
|
||||
}),
|
||||
),
|
||||
sections: [
|
||||
{
|
||||
fields: [
|
||||
{ key: "name", label: "Name", as: "TextBox" },
|
||||
{ key: "match.source_addresses", label: "Source", as: "MultiSelect", props: { searchProvider: GetAddresses } },
|
||||
{ key: "match.destination_addresses", label: "Destination", as: "MultiSelect", props: { searchProvider: GetAddresses } },
|
||||
{ key: "match.services", label: "Services", as: "MultiSelect", props: { searchProvider: GetServices } },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "DNAT",
|
||||
fields: [
|
||||
{ key: "address", label: "Destination", as: "SingleSelect", props: { searchProvider: GetAddresses } },
|
||||
{ key: "service", label: "Service", as: "SingleSelect", props: { searchProvider: GetServices } },
|
||||
{ key: "counter", label: "Counter", as: "CheckBox" },
|
||||
{ key: "comment", label: "Comment", as: "MultilineTextBox" },
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
"sourcenatrules": {
|
||||
name: "SourceNATRule",
|
||||
validationSchema: toFormValidator(
|
||||
zod.object({
|
||||
name: zod.string(),
|
||||
verdict: zod.string(),
|
||||
counter: zod.boolean(),
|
||||
comment: zod.string().optional(),
|
||||
}),
|
||||
),
|
||||
sections: [
|
||||
{
|
||||
fields: [
|
||||
{ key: "name", label: "Name", as: "TextBox" },
|
||||
{ key: "match.source_addresses", label: "Source", as: "MultiSelect", props: { searchProvider: GetAddresses } },
|
||||
{ key: "match.destination_addresses", label: "Destination", as: "MultiSelect", props: { searchProvider: GetAddresses } },
|
||||
{ key: "match.services", label: "Services", as: "MultiSelect", props: { searchProvider: GetServices } },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "SNAT",
|
||||
fields: [
|
||||
{ key: "type", label: "Type", as: "PillBar", props: { options: { snat: { display: 'SNAT' }, masquerade: { display: 'Masquerade' } } } },
|
||||
{ key: "address", label: "Source", as: "SingleSelect", enabled: (values: any) => (values["type"] == 'snat'), props: { searchProvider: GetAddresses } },
|
||||
{ key: "service", label: "Service", as: "SingleSelect", enabled: (values: any) => (values["type"] == 'snat'), props: { searchProvider: GetServices } },
|
||||
{ key: "counter", label: "Counter", as: "CheckBox" },
|
||||
{ key: "comment", label: "Comment", as: "MultilineTextBox" },
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
"network": {
|
||||
name: "Network",
|
||||
|
|
Loading…
Add table
Reference in a new issue