Add regenerateCookieBannerTrackerPolicy mutation
Expose a non-destructive re-trigger that re-arms tracker policy generation for a banner that already has a published version, so the tracker-policy worker regenerates the document after iterating on the generator. RegenerateTrackerPolicy returns a conflict when nothing has been published yet. Wire it across all API surfaces per the api-surface rule: the console GraphQL mutation and resolver, the MCP tool, the prb cookie-banner regenerate-policy command, and the n8n operation, with console e2e coverage for the success and no-published-version paths. Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
@@ -5825,6 +5825,20 @@ func (r *Resolver) PublishCookieBannerVersionTool(ctx context.Context, req *mcp.
|
||||
return nil, types.PublishCookieBannerVersionOutput{CookieBannerVersion: types.NewCookieBannerVersion(version)}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) RegenerateCookieBannerTrackerPolicyTool(ctx context.Context, req *mcp.CallToolRequest, input *types.RegenerateCookieBannerTrackerPolicyInput) (*mcp.CallToolResult, types.RegenerateCookieBannerTrackerPolicyOutput, error) {
|
||||
scope, err := r.Authorize(ctx, input.CookieBannerID, probo.ActionCookieBannerUpdate)
|
||||
if err != nil {
|
||||
return nil, types.RegenerateCookieBannerTrackerPolicyOutput{}, err
|
||||
}
|
||||
|
||||
banner, err := r.cookieBanner.RegenerateTrackerPolicy(ctx, scope, input.CookieBannerID)
|
||||
if err != nil {
|
||||
return nil, types.RegenerateCookieBannerTrackerPolicyOutput{}, fmt.Errorf("cannot regenerate cookie banner tracker policy: %w", err)
|
||||
}
|
||||
|
||||
return nil, types.RegenerateCookieBannerTrackerPolicyOutput{CookieBanner: types.NewCookieBanner(banner)}, nil
|
||||
}
|
||||
|
||||
func (r *Resolver) ListCookieBannerVersionsTool(ctx context.Context, req *mcp.CallToolRequest, input *types.ListCookieBannerVersionsInput) (*mcp.CallToolResult, types.ListCookieBannerVersionsOutput, error) {
|
||||
scope, err := r.Authorize(ctx, input.CookieBannerID, probo.ActionCookieBannerVersionList)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user