rm

package
v0.2.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Cmd = &cobra.Command{
	Use:     "rm",
	Aliases: []string{"delete"},
	Short:   "Remove a record by DID",
	RunE: func(cmd *cobra.Command, args []string) error {
		did := strings.TrimSpace(rmDID)
		if did == "" {
			return fmt.Errorf("--did is required")
		}
		c, err := cliauth.NewServerClient(cmd)
		if err != nil {
			return err
		}
		rec, err := c.Index().Get(cmd.Context(), did)
		if err != nil {
			return err
		}

		controlled := syfoncommon.NormalizeAccessResources(derefStringSlice(rec.ControlledAccess))
		if len(controlled) <= 1 {
			if err := c.DRS().DeleteObject(cmd.Context(), did, true); err != nil {
				return err
			}
			fmt.Fprintf(cmd.OutOrStdout(), "removed %s and attempted storage purge\n", did)
			return nil
		}

		resource, err := syfoncommon.ResourcePath(strings.TrimSpace(rmOrganization), strings.TrimSpace(rmProject))
		if err != nil {
			return err
		}
		if resource == "" {
			return fmt.Errorf("--organization is required when the record has multiple controlled-access resources")
		}
		if _, err := c.Index().RemoveControlledAccess(cmd.Context(), did, resource); err != nil {
			return err
		}
		fmt.Fprintf(cmd.OutOrStdout(), "removed scoped access %s from %s\n", resource, did)
		return nil
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL