package utils

import (
	gonanoid "github.com/matoous/go-nanoid/v2"
)

// GenerateShortID generates a 12-character nanoid using the full alphabet
// Used for: dataset_id, location_id, cluster_id, pattern_id
// Entropy: ~71 bits (62^12 ≈ 3.2×10^21 combinations)
func GenerateShortID() (string, error) {
	return gonanoid.New(12)
}

// GenerateLongID generates a 21-character nanoid using the full alphabet
// Used for: file_id, selection_id, label_id
// Entropy: ~125 bits (62^21 ≈ 2.7×10^37 combinations)
func GenerateLongID() (string, error) {
	return gonanoid.New(21)
}