bitmagnet icon indicating copy to clipboard operation
bitmagnet copied to clipboard

qbittorrent and transmission interfacing

Open rraymondgh opened this issue 7 months ago • 0 comments

  • [x] I have checked the existing issues to avoid duplicates
  • [x] I have redacted any info hashes and content metadata from any logs or screenshots attached to this issue

This is an enhancement

Backend capability in bitmagnet to support following interfaces in transmission and qbittorrent

type AddInfoHashesRequest struct {
	ClientID   string
	InfoHashes []protocol.ID
}

type clientWorker interface {
	AddInfoHashes(ctx context.Context, req AddInfoHashesRequest) error
	downloadOne(ctx context.Context, content *Content, clientId string) error
}

Describe the solution you'd like

  • I hereby guarantee that all configuration will be injected using fx
  • I hereby guarantee that no use will be made of sonarr, radarr or prowlarr
  • I hereby expect config will be:
type DownloadClient struct {
	Host     string
	Port     string
	Username string
	Password string
}

type ContentTypeCategory struct {
	ContentType model.ContentType
	Category    string
}

type Config struct {
	Transmission DownloadClient
	QBitTorrent  DownloadClient
	Categories   []ContentTypeCategory
}
  • I fully expect to use search to obtain magnetUri and contentType that are needed in implementation of interface

Describe alternatives you've considered

Many, see cancelled PR #288

Additional context

Fully expect to be using these libraries

	github.com/autobrr/go-qbittorrent v1.9.0
	github.com/hekmon/transmissionrpc/v3 v3.0.0

rraymondgh avatar Jul 27 '24 14:07 rraymondgh