forked from TrueCloudLab/frostfs-node
[#177] cmd/neofs-cli: Add object ID filter flag to search cmd
Add "oid" flag that allows to filter objects by identifier. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
ffeea2c003
commit
dbfb6fadd6
1 changed files with 13 additions and 0 deletions
|
@ -80,6 +80,8 @@ const (
|
||||||
rangeSep = ":"
|
rangeSep = ":"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const searchOIDFlag = "oid"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
rootCmd.AddCommand(objectCmd)
|
rootCmd.AddCommand(objectCmd)
|
||||||
objectCmd.PersistentFlags().String("bearer", "", "File with signed JSON or binary encoded bearer token")
|
objectCmd.PersistentFlags().String("bearer", "", "File with signed JSON or binary encoded bearer token")
|
||||||
|
@ -114,6 +116,7 @@ func init() {
|
||||||
objectSearchCmd.Flags().String("filters", "", "Filters in the form hdrName=value,...")
|
objectSearchCmd.Flags().String("filters", "", "Filters in the form hdrName=value,...")
|
||||||
objectSearchCmd.Flags().Bool("root", false, "Search for user objects")
|
objectSearchCmd.Flags().Bool("root", false, "Search for user objects")
|
||||||
objectSearchCmd.Flags().Bool("phy", false, "Search physically stored objects")
|
objectSearchCmd.Flags().Bool("phy", false, "Search physically stored objects")
|
||||||
|
objectSearchCmd.Flags().String(searchOIDFlag, "", "Search object by identifier")
|
||||||
|
|
||||||
objectCmd.AddCommand(objectHeadCmd)
|
objectCmd.AddCommand(objectHeadCmd)
|
||||||
objectHeadCmd.Flags().String("file", "", "File to write header to. Default: stdout.")
|
objectHeadCmd.Flags().String("file", "", "File to write header to. Default: stdout.")
|
||||||
|
@ -460,6 +463,16 @@ func parseSearchFilters(cmd *cobra.Command) (object.SearchFilters, error) {
|
||||||
fs.AddPhyFilter()
|
fs.AddPhyFilter()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
oid, _ := cmd.Flags().GetString(searchOIDFlag)
|
||||||
|
if oid != "" {
|
||||||
|
id := object.NewID()
|
||||||
|
if err := id.Parse(oid); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.AddObjectIDFilter(object.MatchStringEqual, id)
|
||||||
|
}
|
||||||
|
|
||||||
return fs, nil
|
return fs, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue