model

package
v0.0.0-...-d2ea057 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FileData

type FileData struct {
	// FilePath es la ruta del archivo de la canción procesada.
	FilePath string `bson:"file_path" json:"file_path" dynamodbav:"file_path"`

	// FileSize es el tamaño del archivo de la canción procesada.
	FileSize string `bson:"file_size" json:"file_size" dynamodbav:"file_size"`

	// FileType es el tipo de archivo de la canción procesada.
	FileType string `bson:"file_type" json:"file_type" dynamodbav:"file_type"`

	// PublicURL es la URL pública del archivo de la canción procesada.
	PublicURL string `bson:"public_url" json:"public_url" dynamodbav:"public_url"`
}

FileData contiene información sobre el archivo de la canción procesada. Esto incluye la ruta del archivo, el tamaño del archivo, el tipo de archivo y la URL pública del archivo.

func (*FileData) ToAttributeValue

func (f *FileData) ToAttributeValue() map[string]types.AttributeValue

type Message

type Message struct {
	ID            string
	Content       string
	Status        Status
	ReceiptHandle string
}

Message seria la estructura de un mensaje

type Metadata

type Metadata struct {
	// ID es un identificador único para la canción.
	// Este campo se utiliza para asociar la metadata con una canción específica.
	ID string `bson:"_id" json:"id" dynamodbav:"id"`

	// VideoID Es el identificador del video
	VideoID string `bson:"video_id" json:"video_id" dynamodbav:"video_id"`

	// Title es el título de la canción.
	// Representa el nombre de la canción tal como aparece en la fuente de origen.
	Title string `bson:"title" json:"title" dynamodbav:"title"`

	// Duration es la duración de la canción en segundos.
	// Representa cuánto tiempo dura la canción desde el inicio hasta el final.
	Duration string `bson:"duration" json:"duration" dynamodbav:"duration"`

	// URLYouTube es la URL de la canción en YouTube.
	// Permite localizar la canción en YouTube para referencias adicionales o reproducción.
	URLYouTube string `bson:"url_youtube" json:"url_youtube" dynamodbav:"url_youtube"`

	// Thumbnail es la imagen en miniatura del contenido.
	// Proporciona una vista previa visual de la canción, útil para interfaces de usuario y presentación.
	Thumbnail string `bson:"thumbnail" json:"thumbnail" dynamodbav:"thumbnail"`

	// Platform indica la plataforma de origen de la canción (e.g., YouTube).
	// Este campo identifica la fuente desde la cual se obtuvo la canción.
	Platform string `bson:"platform" json:"platform" dynamodbav:"platform"`
}

Metadata representa la información sobre una canción procesada. Contiene detalles sobre la canción, como su título, artista, duración, y URLs de recursos.

func (*Metadata) ToAttributeValue

func (m *Metadata) ToAttributeValue() map[string]types.AttributeValue

type OperationResult

type OperationResult struct {
	// ID es la clave primaria del resultado de la operación.
	// Se genera con UUID para garantizar la unicidad.
	ID string `bson:"_id" json:"id" dynamodbav:"PK"`

	SK string `bson:"sk" json:"sk" dynamodbav:"SK"`

	// Status indica el estado actual de la operación.
	// Puede tomar valores como "In Progress", "Completed", "Failed", etc.
	Status string `bson:"status" json:"status" dynamodbav:"status"`

	// Message contiene un mensaje descriptivo sobre el resultado de la operación.
	// Puede incluir detalles de errores o mensajes de éxito.
	Message string `bson:"message" json:"message" dynamodbav:"Message"`

	// Metadata contiene datos adicionales sobre la canción procesada.
	// Esto puede incluir información como el género, el artista, el álbum, etc.
	Metadata *Metadata `bson:"metadata" json:"metadata" dynamodbav:"metadata"`

	// FileData contiene información sobre el archivo de la canción procesada.
	// Esto incluye la ruta del archivo, el tamaño del archivo, el tipo de archivo
	// y la URL pública del archivo.
	FileData *FileData `bson:"file_data" json:"file_data" dynamodbav:"file_data"`

	// ProcessingDate registra la fecha en que se procesó la canción.
	// Se utiliza para registrar el momento de finalización del procesamiento.
	ProcessingDate string `bson:"processing_date" json:"processing_date" dynamodbav:"processing_date"`

	// Success indica si el procesamiento de la canción fue exitoso.
	// Es un valor booleano (true o false).
	Success bool `bson:"success" json:"success" dynamodbav:"success"`

	// Attempts registra la cantidad de intentos realizados para descargar o procesar la canción.
	// Se incrementa cada vez que se intenta realizar la operación.
	Attempts int `bson:"attempts" json:"attempts" dynamodbav:"attempts"`

	// Failures registra la cantidad de fallos ocurridos durante la descarga o el procesamiento.
	// Se utiliza para registrar y monitorear los problemas encontrados.
	Failures int `bson:"failures" json:"failures" dynamodbav:"failures"`
}

OperationResult representa el resultado de una operación de procesamiento de canción. Contiene información sobre la canción procesada, el estado de la operación, estadísticas de éxito y fallos, y datos relevantes sobre el archivo.

type Status

type Status struct {
	ID             string    `json:"id"`
	SK             string    `json:"sk"`
	Status         string    `json:"status"`
	Message        string    `json:"message"`
	Metadata       *Metadata `json:"metadata"`
	FileData       *FileData `json:"file_data"`
	ProcessingDate time.Time `json:"processing_date"`
	Success        bool      `json:"success"`
	Attempts       int       `json:"attempts"`
	Failures       int       `json:"failures"`
}

Jump to

Keyboard shortcuts

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