87 lines
1.6 KiB
Protocol Buffer
87 lines
1.6 KiB
Protocol Buffer
syntax = "proto3";
|
|
package music_agregator.indexer.v1;
|
|
option go_package = "homelab.lan/music-agregator/gen/music_agregator/v1/indexer";
|
|
|
|
service IndexerService {
|
|
rpc Search(SearchRequest) returns (SearchResponse) {}
|
|
rpc Capabilities(CapabilitiesRequest) returns (CapabilitiesResponse) {}
|
|
}
|
|
|
|
message SearchRequest {
|
|
string query = 1;
|
|
int32 limit = 2;
|
|
string tracker = 3;
|
|
}
|
|
message SearchResponse {
|
|
repeated SearchItem result = 1;
|
|
}
|
|
|
|
message SearchItem {
|
|
string title = 1;
|
|
string link = 2;
|
|
string guid = 3;
|
|
string pub_date = 4;
|
|
int64 size = 5;
|
|
string description = 6;
|
|
repeated string categories = 7;
|
|
Enclosure enclosure = 8;
|
|
repeated TorznabAttr torznab_attrs = 9;
|
|
}
|
|
|
|
message Enclosure {
|
|
string url = 1;
|
|
int64 length = 2;
|
|
string type = 3;
|
|
}
|
|
|
|
message TorznabAttr {
|
|
string name = 1;
|
|
string value = 2;
|
|
}
|
|
|
|
message CapabilitiesRequest {
|
|
string indexer = 1;
|
|
}
|
|
|
|
message CapabilitiesResponse {
|
|
Server server = 1;
|
|
Limits limits = 2;
|
|
Searching searching = 3;
|
|
repeated Category categories = 4;
|
|
}
|
|
|
|
message Server {
|
|
string title = 1;
|
|
}
|
|
|
|
message Limits {
|
|
int32 default = 1;
|
|
int32 max = 2;
|
|
}
|
|
|
|
message Searching {
|
|
SearchCapability search = 1;
|
|
SearchCapability tv_search = 2;
|
|
SearchCapability movie_search = 3;
|
|
SearchCapability music_search = 4;
|
|
SearchCapability audio_search = 5;
|
|
SearchCapability book_search = 6;
|
|
}
|
|
|
|
message SearchCapability {
|
|
bool available = 1;
|
|
repeated string supported_params = 2;
|
|
string search_engine = 3;
|
|
}
|
|
|
|
message Category {
|
|
int32 id = 1;
|
|
string name = 2;
|
|
repeated Subcat subcats = 3;
|
|
}
|
|
|
|
message Subcat {
|
|
int32 id = 1;
|
|
string name = 2;
|
|
}
|