mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
60 lines
1.6 KiB
Protocol Buffer
60 lines
1.6 KiB
Protocol Buffer
// Copyright: Ankitects Pty Ltd and contributors
|
|
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
|
|
|
syntax = "proto3";
|
|
|
|
option java_multiple_files = true;
|
|
|
|
package anki.media;
|
|
|
|
import "anki/generic.proto";
|
|
import "anki/notetypes.proto";
|
|
|
|
service MediaService {
|
|
rpc CheckMedia(generic.Empty) returns (CheckMediaResponse);
|
|
rpc AddMediaFile(AddMediaFileRequest) returns (generic.String);
|
|
rpc AddMediaFromPath(AddMediaFromPathRequest) returns (generic.String);
|
|
rpc TrashMediaFiles(TrashMediaFilesRequest) returns (generic.Empty);
|
|
rpc EmptyTrash(generic.Empty) returns (generic.Empty);
|
|
rpc RestoreTrash(generic.Empty) returns (generic.Empty);
|
|
rpc ExtractStaticMediaFiles(notetypes.NotetypeId)
|
|
returns (generic.StringList);
|
|
rpc ExtractMediaFiles(generic.String) returns (generic.StringList);
|
|
rpc GetAbsoluteMediaPath(generic.String) returns (generic.String);
|
|
}
|
|
|
|
// Implicitly includes any of the above methods that are not listed in the
|
|
// backend service.
|
|
service BackendMediaService {
|
|
rpc AddMediaFromUrl(AddMediaFromUrlRequest) returns (AddMediaFromUrlResponse);
|
|
}
|
|
|
|
message CheckMediaResponse {
|
|
repeated string unused = 1;
|
|
repeated string missing = 2;
|
|
repeated int64 missing_media_notes = 3;
|
|
string report = 4;
|
|
bool have_trash = 5;
|
|
}
|
|
|
|
message TrashMediaFilesRequest {
|
|
repeated string fnames = 1;
|
|
}
|
|
|
|
message AddMediaFileRequest {
|
|
string desired_name = 1;
|
|
bytes data = 2;
|
|
}
|
|
|
|
message AddMediaFromPathRequest {
|
|
string path = 1;
|
|
}
|
|
|
|
message AddMediaFromUrlRequest {
|
|
string url = 1;
|
|
}
|
|
|
|
message AddMediaFromUrlResponse {
|
|
optional string filename = 1;
|
|
optional string error = 2;
|
|
}
|