mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00

+ Don't protect the comments field It's not required by our current code. We can remove the protection from Header and Back Extra in the future too, once we no longer depend on them. Closes #2621
92 lines
2.3 KiB
Protocol Buffer
92 lines
2.3 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.image_occlusion;
|
|
|
|
import "anki/collection.proto";
|
|
import "anki/generic.proto";
|
|
|
|
service ImageOcclusionService {
|
|
rpc GetImageForOcclusion(GetImageForOcclusionRequest)
|
|
returns (GetImageForOcclusionResponse);
|
|
rpc GetImageOcclusionNote(GetImageOcclusionNoteRequest)
|
|
returns (GetImageOcclusionNoteResponse);
|
|
rpc GetImageOcclusionFields(GetImageOcclusionFieldsRequest)
|
|
returns (GetImageOcclusionFieldsResponse);
|
|
// Adds an I/O notetype if none exists in the collection.
|
|
rpc AddImageOcclusionNotetype(generic.Empty) returns (collection.OpChanges);
|
|
// These two are used by the standalone I/O page, but not used when using
|
|
// I/O inside Anki's editor
|
|
rpc AddImageOcclusionNote(AddImageOcclusionNoteRequest)
|
|
returns (collection.OpChanges);
|
|
rpc UpdateImageOcclusionNote(UpdateImageOcclusionNoteRequest)
|
|
returns (collection.OpChanges);
|
|
}
|
|
|
|
// Implicitly includes any of the above methods that are not listed in the
|
|
// backend service.
|
|
service BackendImageOcclusionService {}
|
|
|
|
message GetImageForOcclusionRequest {
|
|
string path = 1;
|
|
}
|
|
|
|
message GetImageForOcclusionResponse {
|
|
bytes data = 1;
|
|
string name = 2;
|
|
}
|
|
|
|
message AddImageOcclusionNoteRequest {
|
|
string image_path = 1;
|
|
string occlusions = 2;
|
|
string header = 3;
|
|
string back_extra = 4;
|
|
repeated string tags = 5;
|
|
int64 notetype_id = 6;
|
|
}
|
|
|
|
message GetImageOcclusionNoteRequest {
|
|
int64 note_id = 1;
|
|
}
|
|
|
|
message GetImageOcclusionNoteResponse {
|
|
message ImageClozeNote {
|
|
bytes image_data = 1;
|
|
string occlusions = 2;
|
|
string header = 3;
|
|
string back_extra = 4;
|
|
repeated string tags = 5;
|
|
}
|
|
|
|
oneof value {
|
|
ImageClozeNote note = 1;
|
|
string error = 2;
|
|
}
|
|
}
|
|
|
|
message UpdateImageOcclusionNoteRequest {
|
|
int64 note_id = 1;
|
|
string occlusions = 2;
|
|
string header = 3;
|
|
string back_extra = 4;
|
|
repeated string tags = 5;
|
|
}
|
|
|
|
message GetImageOcclusionFieldsRequest {
|
|
int64 notetype_id = 1;
|
|
}
|
|
|
|
message GetImageOcclusionFieldsResponse {
|
|
ImageOcclusionFieldIndexes fields = 1;
|
|
}
|
|
|
|
message ImageOcclusionFieldIndexes {
|
|
uint32 occlusions = 1;
|
|
uint32 image = 2;
|
|
uint32 header = 3;
|
|
uint32 back_extra = 4;
|
|
}
|