mirror of
https://github.com/ankitects/anki.git
synced 2026-01-09 03:53:55 -05:00
52 lines
1.5 KiB
Protocol Buffer
52 lines
1.5 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 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 GetMediaConstants(generic.Empty) returns (MediaConstants);
|
|
}
|
|
|
|
// Implicitly includes any of the above methods that are not listed in the
|
|
// backend service.
|
|
service BackendMediaService {}
|
|
|
|
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 MediaConstants {
|
|
// Maximum media file size in bytes (100 MiB)
|
|
uint64 max_individual_file_size = 1;
|
|
// Maximum media filename length (client-side)
|
|
uint32 max_filename_length = 2;
|
|
// Maximum media filename length (server-side)
|
|
uint32 max_filename_length_server = 3;
|
|
}
|