service backend
All checks were successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful

This commit is contained in:
Stephan D
2025-11-07 18:35:26 +01:00
parent 20e8f9acc4
commit 62a6631b9a
537 changed files with 48453 additions and 0 deletions

View File

@@ -0,0 +1,21 @@
package repository
type Sort int8
const (
Asc Sort = 1
Desc Sort = -1
)
type Key struct {
Field string
Sort Sort // 1 or -1. 0 means “use Type”.
Type IndexType // optional: "text", "2dsphere", ...
}
type Definition struct {
Keys []Key // mandatory, at least one element
Unique bool // unique constraint?
TTL *int32 // seconds; nil means “no TTL”
Name string // optional explicit name
}

View File

@@ -0,0 +1,36 @@
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"
)