api

package
v0.0.0-...-a6f1803 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2025 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckYouTube

func CheckYouTube(ctx context.Context, apiKey string) error

func ExtractVideoIDFromURL

func ExtractVideoIDFromURL(videoURL string) (string, error)

ExtractVideoIDFromURL extrae el ID del video de una URL de YouTube.

Types

type BrokersMetadata

type BrokersMetadata struct {
	Address  string `json:"address"`   // Dirección del broker de Kafka.
	IsLeader bool   `json:"is_leader"` // Indica si el broker es un líder.
}

BrokersMetadata contiene metadatos para un broker de Kafka.

type ConnectionStatus

type ConnectionStatus struct {
	Active    int32 `json:"active"`    // Número de conexiones activas.
	Available int32 `json:"available"` // Número de conexiones disponibles.
	Current   int32 `json:"current"`   // Número de conexiones actuales.
	Rejected  int32 `json:"rejected"`  // Número de conexiones rechazadas.
}

ConnectionStatus contiene estadísticas de conexión para MongoDB.

type DynamoDBMetadata

type DynamoDBMetadata struct {
	TableName string `json:"table_name"` // Nombre de la tabla de DynamoDB.
}

DynamoDBMetadata contiene metadatos específicos para DynamoDB.

func CheckDynamoDB

func CheckDynamoDB(ctx context.Context, cfgApplication *config.Config) (*DynamoDBMetadata, error)

type HealthCheckMetadata

type HealthCheckMetadata struct {
	Kafka    *KafkaMetadata    `json:"kafka,omitempty"`    // Metadatos para el servicio Kafka.
	Mongo    *MongoMetadata    `json:"mongo,omitempty"`    // Metadatos para el servicio MongoDB.
	S3       *S3Metadata       `json:"s3,omitempty"`       // Metadatos para el servicio S3.
	DynamoDB *DynamoDBMetadata `json:"dynamodb,omitempty"` // Metadatos para el servicio DynamoDB.
}

HealthCheckMetadata contiene metadatos para varios servicios utilizados en verificaciones de salud.

type KafkaMetadata

type KafkaMetadata struct {
	Brokers []BrokersMetadata `json:"brokers"` // Lista de brokers de Kafka.
}

KafkaMetadata contiene metadatos específicos para Kafka.

func CheckKafka

func CheckKafka(cfgApplication *config.Config) (*KafkaMetadata, error)

type MongoMetadata

type MongoMetadata struct {
	ReplicaSetStatus ReplicaSetStatus `json:"replica_set_status"` // Estado del conjunto de réplicas de MongoDB.
	Version          string           `json:"version"`            // Versión de MongoDB.
	Connections      ConnectionStatus `json:"connections"`        // Estado de las conexiones de MongoDB.
	Performance      PerformanceStats `json:"performance"`        // Estadísticas de rendimiento de MongoDB.
}

MongoMetadata contiene metadatos específicos para MongoDB.

func CheckMongoDB

func CheckMongoDB(ctx context.Context, cfgApplication *config.Config) (*MongoMetadata, error)

type PerformanceStats

type PerformanceStats struct {
	LatencyMs     float64 `json:"latency_ms"`      // Latencia en milisegundos.
	OpsPerSec     int64   `json:"ops_per_sec"`     // Operaciones por segundo.
	MemoryUsageMB int32   `json:"memory_usage_mb"` // Uso de memoria en megabytes.
}

PerformanceStats contiene estadísticas de rendimiento para MongoDB.

type ReplicaSetStatus

type ReplicaSetStatus struct {
	Role         string  `json:"role"`           // Rol del miembro del conjunto de réplicas.
	Health       float64 `json:"health"`         // Estado de salud del conjunto de réplicas.
	Members      int32   `json:"members"`        // Número de miembros en el conjunto de réplicas.
	LastElection string  `json:"last_election"`  // Marca de tiempo de la última elección.
	ReplicaSetID string  `json:"replica_set_id"` // ID del conjunto de réplicas.
	SyncStatus   string  `json:"sync_status"`    // Estado de sincronización del conjunto de réplicas.
}

ReplicaSetStatus contiene información de estado para un conjunto de réplicas de MongoDB.

type S3Metadata

type S3Metadata struct {
	BucketName string `json:"bucket_name"` // Nombre del bucket de S3.
}

S3Metadata contiene metadatos específicos para S3.

func CheckS3

func CheckS3(ctx context.Context, cfgApplication *config.Config) (*S3Metadata, error)

type VideoDetails

type VideoDetails struct {
	Title       string    // Título del video.
	VideoID     string    // ID del video
	Description string    // Descripción del video.
	ChannelName string    // Nombre del canal que subió el video.
	Duration    string    // Duración del video en formato ISO 8601.
	PublishedAt time.Time // Fecha de publicación del video.
	URLYouTube  string    // URL de YouTube
	Thumbnail   string    // URL de la miniatura del video
}

VideoDetails contiene los detalles de un video de YouTube.

type YouTubeClient

type YouTubeClient struct {
	ApiKey     string       // Clave API para autenticar las solicitudes.
	BaseURL    string       // URL base para las solicitudes a la API de YouTube.
	HttpClient *http.Client // Cliente HTTP para hacer las solicitudes.
}

YouTubeClient es un cliente para interactuar con la API de YouTube.

func NewYouTubeClient

func NewYouTubeClient(apiKey string) *YouTubeClient

NewYouTubeClient crea una nueva instancia de YouTubeClient.

func (*YouTubeClient) GetVideoDetails

func (c *YouTubeClient) GetVideoDetails(ctx context.Context, videoID string) (*VideoDetails, error)

GetVideoDetails obtiene los detalles del video usando su ID.

func (*YouTubeClient) SearchVideoID

func (c *YouTubeClient) SearchVideoID(ctx context.Context, input string) (string, error)

SearchVideoID busca el ID del video basado en la entrada proporcionada.

type YouTubeService

type YouTubeService interface {
	// GetVideoDetails obtiene los detalles del video usando su ID.
	GetVideoDetails(ctx context.Context, videoID string) (*VideoDetails, error)
	// SearchVideoID busca el ID del primer video que coincida con la consulta dada.
	SearchVideoID(ctx context.Context, input string) (string, error)
}

YouTubeService define la interfaz para interactuar con el servicio de YouTube.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL