package main import ( "fmt" ) type ( Layer3DomainCreateOptions string ) // Layer3DomainCreate creates a new layer3domain. 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 }