diff --git a/changelog/unreleased/add-hide-flag-to-shares.md.md b/changelog/unreleased/add-hide-flag-to-shares.md similarity index 82% rename from changelog/unreleased/add-hide-flag-to-shares.md.md rename to changelog/unreleased/add-hide-flag-to-shares.md index c4b8a15c23..7ef741c8ed 100644 --- a/changelog/unreleased/add-hide-flag-to-shares.md.md +++ b/changelog/unreleased/add-hide-flag-to-shares.md @@ -4,4 +4,4 @@ We have added the ability to hide shares through the ocs/v2.php/apps/files_sharing/api/v1/shares/pending/ endpoint by appending a POST-Variable called hide which can be true or false. -https://github.com/cs3org/reva/pull/4194/files \ No newline at end of file +https://github.com/cs3org/reva/pull/4194 diff --git a/changelog/unreleased/add-search-capability.md b/changelog/unreleased/add-search-capability.md new file mode 100644 index 0000000000..ea2bedd57e --- /dev/null +++ b/changelog/unreleased/add-search-capability.md @@ -0,0 +1,5 @@ +Enhancement: Add search capability + +We have added the ability to define search specific capabilities. + +https://github.com/cs3org/reva/pull/4271 diff --git a/internal/http/services/owncloud/ocs/data/capabilities.go b/internal/http/services/owncloud/ocs/data/capabilities.go index 7f7af70c8c..a2a48f4917 100644 --- a/internal/http/services/owncloud/ocs/data/capabilities.go +++ b/internal/http/services/owncloud/ocs/data/capabilities.go @@ -58,8 +58,37 @@ type Capabilities struct { Spaces *Spaces `json:"spaces,omitempty" xml:"spaces,omitempty" mapstructure:"spaces"` Graph *CapabilitiesGraph `json:"graph,omitempty" xml:"graph,omitempty" mapstructure:"graph"` PasswordPolicy *CapabilitiesPasswordPolicy `json:"password_policy,omitempty" xml:"password_policy,omitempty" mapstructure:"password_policy"` + Search *CapabilitiesSearch `json:"search,omitempty" xml:"search,omitempty" mapstructure:"search"` + Notifications *CapabilitiesNotifications `json:"notifications,omitempty" xml:"notifications,omitempty"` +} + +// CapabilitiesSearch holds the search capabilities +type CapabilitiesSearch struct { + Property *CapabilitiesSearchProperties `json:"property" xml:"property" mapstructure:"property"` +} + +// CapabilitiesSearchProperties holds the search property capabilities +type CapabilitiesSearchProperties struct { + Name *CapabilitiesSearchProperty `json:"name" xml:"name" mapstructure:"name"` + Mtime *CapabilitiesSearchPropertyMtime `json:"mtime" xml:"mtime" mapstructure:"mtime"` + Size *CapabilitiesSearchProperty `json:"size" xml:"size" mapstructure:"size"` + Mimetype *CapabilitiesSearchProperty `json:"mimetype" xml:"mimetype" mapstructure:"mimetype"` + Type *CapabilitiesSearchProperty `json:"type" xml:"type" mapstructure:"type"` + Tag *CapabilitiesSearchProperty `json:"tag" xml:"tag" mapstructure:"tag"` + Tags *CapabilitiesSearchProperty `json:"tags" xml:"tags" mapstructure:"tags"` + Content *CapabilitiesSearchProperty `json:"content" xml:"content" mapstructure:"content"` + Scope *CapabilitiesSearchProperty `json:"scope" xml:"scope" mapstructure:"scope"` +} + +// CapabilitiesSearchProperty represents the default search property +type CapabilitiesSearchProperty struct { + Enabled bool `json:"enabled" xml:"enabled" mapstructure:"enabled"` +} - Notifications *CapabilitiesNotifications `json:"notifications,omitempty" xml:"notifications,omitempty"` +// CapabilitiesSearchPropertyMtime represents the mtime search property +type CapabilitiesSearchPropertyMtime struct { + CapabilitiesSearchProperty + Keywords []string `json:"keywords" xml:"keywords" mapstructure:"keywords"` } // Spaces lets a service configure its advertised options related to Storage Spaces.