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

A couple of motivations for this: - genbackend.py was somewhat messy, and difficult to change with the lack of types. The mobile clients used it as a base for their generation, so improving it will make life easier for them too, once they're ported. - It will make it easier to write a .ts generator in the future - We currently implement a bunch of helper methods on protobuf types which don't allow us to compile the protobuf types until we compile the Anki crate. If we change this in the future, we will be able to do more of the compilation up-front. We no longer need to record the services in the proto file, as we can extract the service order from the compiled protos. Support for map types has also been added.
59 lines
1.4 KiB
Protocol Buffer
59 lines
1.4 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.backend;
|
|
|
|
import "anki/links.proto";
|
|
|
|
message BackendInit {
|
|
repeated string preferred_langs = 1;
|
|
string locale_folder_path = 2;
|
|
bool server = 3;
|
|
}
|
|
|
|
message I18nBackendInit {
|
|
repeated string preferred_langs = 4;
|
|
string locale_folder_path = 5;
|
|
}
|
|
|
|
message BackendError {
|
|
enum Kind {
|
|
INVALID_INPUT = 0;
|
|
UNDO_EMPTY = 1;
|
|
INTERRUPTED = 2;
|
|
TEMPLATE_PARSE = 3;
|
|
IO_ERROR = 4;
|
|
DB_ERROR = 5;
|
|
NETWORK_ERROR = 6;
|
|
SYNC_AUTH_ERROR = 7;
|
|
SYNC_OTHER_ERROR = 8;
|
|
JSON_ERROR = 9;
|
|
PROTO_ERROR = 10;
|
|
NOT_FOUND_ERROR = 11;
|
|
EXISTS = 12;
|
|
FILTERED_DECK_ERROR = 13;
|
|
SEARCH_ERROR = 14;
|
|
CUSTOM_STUDY_ERROR = 15;
|
|
IMPORT_ERROR = 16;
|
|
DELETED = 17;
|
|
CARD_TYPE_ERROR = 18;
|
|
ANKIDROID_PANIC_ERROR = 19;
|
|
// Originated from and usually specific to the OS.
|
|
OS_ERROR = 20;
|
|
}
|
|
|
|
// error description, usually localized, suitable for displaying to the user
|
|
string message = 1;
|
|
// the error subtype
|
|
Kind kind = 2;
|
|
// optional page in the manual
|
|
optional links.HelpPageLinkRequest.HelpPage help_page = 3;
|
|
// additional information about the context in which the error occurred
|
|
string context = 4;
|
|
// a backtrace of the underlying error; requires RUST_BACKTRACE to be set
|
|
string backtrace = 5;
|
|
}
|