Link measures to third parties

Add a many-to-many relationship between measures and third parties,
surfaced as a measures tab on the third party detail page and a third
parties tab on the measure detail page. Each side gets a paginated
list with a link/unlink dialog.

Also remove the right-hand drawer on the measure detail page and
expose the state as a badge in the page header, mirroring how the
compliance page surfaces its active flag.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2026-05-22 16:07:48 +02:00
parent b6b1e801b1
commit 6dfdd7ca49
35 changed files with 2109 additions and 54 deletions

View File

@@ -19,7 +19,9 @@ import (
"go.probo.inc/probo/pkg/cmd/cmdutil"
"go.probo.inc/probo/pkg/cmd/measure/create"
"go.probo.inc/probo/pkg/cmd/measure/delete"
linkthirdparty "go.probo.inc/probo/pkg/cmd/measure/link-third-party"
"go.probo.inc/probo/pkg/cmd/measure/list"
unlinkthirdparty "go.probo.inc/probo/pkg/cmd/measure/unlink-third-party"
"go.probo.inc/probo/pkg/cmd/measure/update"
"go.probo.inc/probo/pkg/cmd/measure/view"
)
@@ -35,6 +37,8 @@ func NewCmdMeasure(f *cmdutil.Factory) *cobra.Command {
cmd.AddCommand(view.NewCmdView(f))
cmd.AddCommand(update.NewCmdUpdate(f))
cmd.AddCommand(delete.NewCmdDelete(f))
cmd.AddCommand(linkthirdparty.NewCmdLinkThirdParty(f))
cmd.AddCommand(unlinkthirdparty.NewCmdUnlinkThirdParty(f))
return cmd
}