damsel/proto/base.thrift
tolkonepiu 566634679c HG-37: Change "Void" to "Rescind" and more (#24)
* Change "Void" to "Rescind"

* Add java namespaces

* Add created_at field in Event struct
2016-06-21 19:45:09 +04:00

85 lines
3.1 KiB
Thrift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Базовые, наиболее общие определения
*/
namespace java com.rbkmoney.damsel.base
/** Идентификатор */
typedef string ID
/** Идентификатор некоторого события */
typedef i64 EventID
/** Непрозрачный для участника общения набор данных */
typedef binary Opaque
/**
* Отметка во времени согласно ISO 8601.
*
* Строка должна содержать дату и время в UTC в следующем формате:
* `2016-03-22T06:12:27Z`.
*/
typedef string Timestamp
/** Отображение из строки в строку */
typedef map<string, string> StringMap
/** Рациональное число. */
struct Rational {
1: required i64 p
2: required i64 q
}
/** Отрезок времени в секундах */
typedef i32 Timeout
/** Значение ассоциации */
typedef string Tag
/** Критерий остановки таймера */
union Timer {
/** Отрезок времени, после истечения которого таймер остановится */
1: Timeout timeout
/** Отметка во времени, при пересечении которой таймер остановится */
2: Timestamp deadline
}
/** Общий успех */
struct Ok {
}
/** Общая ошибка */
struct Error {
/** Уникальный признак ошибки, пригодный для обработки машиной */
1: required string code
/** Описание ошибки, пригодное для восприятия человеком */
2: optional string description
}
/** Общее исключение */
exception Failure {
/** Ошибка, которая привела к возникновению исключения */
//Нельзя назвать поле `error` из-за особенностей генерации thrift Go - приводит к одинаковым именам для функции и поля структуры
1: required Error e
}
/**
* Исключение, сигнализирующее о возникновение транзиентной проблемы, которая с высокой
* вероятностью не повторится при последующих попытках
*/
exception TryLater {
/** Транзиентная ошибка, которая привела к возникновению исключения */
1: required Error e
}
/**
* Исключение, сигнализирующее о непригодных с точки зрения бизнес-логики входных данных
*/
exception InvalidRequest {
/** Список пригодных для восприятия человеком ошибок во входных данных */
1: required list<string> errors
}
/** Исключение, сигнализирующее об отсутствии объекта или процесса */
exception NotFound {}