MM-63285: Add property field methods to plugin API (#31035)

Co-authored-by: Claude <noreply@anthropic.com>
Этот коммит содержится в:
Julien Tant
2025-06-10 16:10:28 -07:00
коммит произвёл GitHub
родитель 81856f9e7d
Коммит 731bd7c414
13 изменённых файлов: 2675 добавлений и 0 удалений

Просмотреть файл

@@ -1411,6 +1411,132 @@ type API interface {
// @tag Group
// Minimum server version: 10.9
DeleteGroupConstrainedMemberships() *model.AppError
// CreatePropertyField creates a new property field.
//
// @tag PropertyField
// Minimum server version: 10.10
CreatePropertyField(field *model.PropertyField) (*model.PropertyField, error)
// GetPropertyField gets a property field by groupID and fieldID.
//
// @tag PropertyField
// Minimum server version: 10.10
GetPropertyField(groupID, fieldID string) (*model.PropertyField, error)
// GetPropertyFields gets multiple property fields by groupID and a list of IDs.
//
// @tag PropertyField
// Minimum server version: 10.10
GetPropertyFields(groupID string, ids []string) ([]*model.PropertyField, error)
// UpdatePropertyField updates an existing property field.
//
// @tag PropertyField
// Minimum server version: 10.10
UpdatePropertyField(groupID string, field *model.PropertyField) (*model.PropertyField, error)
// DeletePropertyField deletes a property field (soft delete).
//
// @tag PropertyField
// Minimum server version: 10.10
DeletePropertyField(groupID, fieldID string) error
// SearchPropertyFields searches for property fields with filtering options.
//
// @tag PropertyField
// Minimum server version: 10.10
SearchPropertyFields(groupID, targetID string, opts model.PropertyFieldSearchOpts) ([]*model.PropertyField, error)
// CreatePropertyValue creates a new property value.
//
// @tag PropertyValue
// Minimum server version: 10.10
CreatePropertyValue(value *model.PropertyValue) (*model.PropertyValue, error)
// GetPropertyValue gets a property value by groupID and valueID.
//
// @tag PropertyValue
// Minimum server version: 10.10
GetPropertyValue(groupID, valueID string) (*model.PropertyValue, error)
// GetPropertyValues gets multiple property values by groupID and a list of IDs.
//
// @tag PropertyValue
// Minimum server version: 10.10
GetPropertyValues(groupID string, ids []string) ([]*model.PropertyValue, error)
// UpdatePropertyValue updates an existing property value.
//
// @tag PropertyValue
// Minimum server version: 10.10
UpdatePropertyValue(groupID string, value *model.PropertyValue) (*model.PropertyValue, error)
// UpsertPropertyValue creates a new property value or updates if it already exists.
//
// @tag PropertyValue
// Minimum server version: 10.10
UpsertPropertyValue(value *model.PropertyValue) (*model.PropertyValue, error)
// DeletePropertyValue deletes a property value (soft delete).
//
// @tag PropertyValue
// Minimum server version: 10.10
DeletePropertyValue(groupID, valueID string) error
// SearchPropertyValues searches for property values with filtering options.
//
// @tag PropertyValue
// Minimum server version: 10.10
SearchPropertyValues(groupID, targetID string, opts model.PropertyValueSearchOpts) ([]*model.PropertyValue, error)
// RegisterPropertyGroup registers a new property group.
//
// @tag PropertyGroup
// Minimum server version: 10.10
RegisterPropertyGroup(name string) (*model.PropertyGroup, error)
// GetPropertyGroup gets a property group by name.
//
// @tag PropertyGroup
// Minimum server version: 10.10
GetPropertyGroup(name string) (*model.PropertyGroup, error)
// GetPropertyFieldByName gets a property field by groupID, targetID and name.
//
// @tag PropertyField
// Minimum server version: 10.10
GetPropertyFieldByName(groupID, targetID, name string) (*model.PropertyField, error)
// UpdatePropertyFields updates multiple property fields in a single operation.
//
// @tag PropertyField
// Minimum server version: 10.10
UpdatePropertyFields(groupID string, fields []*model.PropertyField) ([]*model.PropertyField, error)
// UpdatePropertyValues updates multiple property values in a single operation.
//
// @tag PropertyValue
// Minimum server version: 10.10
UpdatePropertyValues(groupID string, values []*model.PropertyValue) ([]*model.PropertyValue, error)
// UpsertPropertyValues creates or updates multiple property values in a single operation.
//
// @tag PropertyValue
// Minimum server version: 10.10
UpsertPropertyValues(values []*model.PropertyValue) ([]*model.PropertyValue, error)
// DeletePropertyValuesForTarget deletes all property values for a specific target.
//
// @tag PropertyValue
// Minimum server version: 10.10
DeletePropertyValuesForTarget(groupID, targetType, targetID string) error
// DeletePropertyValuesForField deletes all property values for a specific field.
//
// @tag PropertyValue
// Minimum server version: 10.10
DeletePropertyValuesForField(groupID, fieldID string) error
}
var handshake = plugin.HandshakeConfig{