package repository

// IndexType represents a supported MongoDB index type.
type IndexType string

const (
	// IndexTypeNotSet is a default index type
	IndexTypeNotSet IndexType = ""

	// IndexTypeSingleField is a single-field index.
	IndexTypeSingleField IndexType = "single"

	// IndexTypeCompound is a compound index on multiple fields.
	IndexTypeCompound IndexType = "compound"

	// IndexTypeMultikey is an index on array fields (created automatically when needed).
	IndexTypeMultikey IndexType = "multikey"

	// IndexTypeText is a text index for full-text search.
	IndexTypeText IndexType = "text"

	// IndexTypeGeo2D is a legacy 2D geospatial index for planar geometry.
	IndexTypeGeo2D IndexType = "2d"

	// IndexTypeGeo2DSphere is a 2dsphere geospatial index for GeoJSON data.
	IndexTypeGeo2DSphere IndexType = "2dsphere"

	// IndexTypeHashed is a hashed index for sharding and efficient equality queries.
	IndexTypeHashed IndexType = "hashed"

	// IndexTypeWildcard is a wildcard index to index all fields or subpaths.
	IndexTypeWildcard IndexType = "wildcard"

	// IndexTypeClustered is a clustered index that orders the collection on the index key.
	IndexTypeClustered IndexType = "clustered"
)
