Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Cmd = &cobra.Command{ Use: "sha256sum", Short: "Compute sha256 for an object and persist it in record metadata", RunE: func(cmd *cobra.Command, args []string) error { ctx := cmd.Context() if strings.TrimSpace(shaDID) == "" { return fmt.Errorf("--did is required") } serverURL, err := cmd.Flags().GetString("server") if err != nil { return fmt.Errorf("get server flag: %w", err) } c, err := syclient.New(serverURL) if err != nil { return err } did := strings.TrimSpace(shaDID) signed, err := c.Data().DownloadURL(ctx, did, 0, false) if err != nil { return fmt.Errorf("get download url: %w", err) } downloadURL := "" if signed.Url != nil { downloadURL = strings.TrimSpace(*signed.Url) } if downloadURL == "" { return fmt.Errorf("empty download url for did %s", did) } data, err := readURLBytes(ctx, downloadURL, c) if err != nil { return err } sumArr := sha256.Sum256(data) sum := hex.EncodeToString(sumArr[:]) // Fetch the latest record to preserve scoped auth paths during upsert. var authorizations map[string][]string if rec, err := c.Index().Get(ctx, did); err == nil && rec.Auth != nil { authorizations = authorizationsFromAuthPathMap(*rec.Auth) } if err := c.Index().Upsert(ctx, did, "", "", 0, sum, authorizations); err != nil { return fmt.Errorf("persist sha256: %w", err) } fmt.Fprintln(cmd.OutOrStdout(), sum) return nil }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.