dim/layer3domain_create.go

28 lines
728 B
Go

package main
import (
"fmt"
)
type (
Layer3DomainCreateOptions string
)
func layer3DomainCreate(c *Context, req Request, res *Response) error {
name := ""
options := Layer3DomainCreateOptions("{}")
if err := req.ParseAtLeast(1, &name, &options); err != nil {
res.AddMessage(LevelError, "could not parse parameter: %s", err)
return nil
}
_, err := c.tx.Exec(`insert into layer3domains(name, attributes, created_by, modified_by)
values ($1, $2::jsonb, $3, $3)`, name, options, c.username)
// TODO handle unique constraint violation
if err != nil {
res.AddMessage(LevelError, "could not create layer3domain '%s'", name)
return fmt.Errorf("could not insert layer3domain '%s': %s", name, err)
}
return nil
}