Review fixes

This commit is contained in:
Sergey Yelin 2020-09-01 14:54:29 +03:00
parent 66153ddaa1
commit cd2dfa1b01
No known key found for this signature in database
GPG Key ID: 0B653F3417EAEC54
3 changed files with 31 additions and 47 deletions

View File

@ -7,6 +7,8 @@ typedef string Timestamp
typedef string Token
typedef string PaymentToken
typedef string EnrollmentID
typedef string PanAccountReference
typedef i64 TokenRevision
/**
* Поддерживаемые платёжные системы
@ -20,37 +22,20 @@ enum PaymentSystem {
/**
* Статус токена МПС
**/
enum TokenStatus {
inactive
active
suspended
deleted
union TokenStatus {
1: InactiveToken inactive
2: ActiveToken active
3: SuspendedToken suspended
4: DeletedToken deleted
}
/**
* Ревизия токена
**/
struct Latest{}
struct Revision {
1: required i32 revision
}
union TokenRevision {
1: Latest latest
2: Revision revision
}
/**
* Токен платёжной системы
**/
struct PaymentSystemToken {
1: required Token token
2: required PaymentSystem payment_system
3: required Revision revision
}
struct InactiveToken{}
struct ActiveToken {}
struct SuspendedToken {}
struct DeletedToken {}
/** Дата экспирации */
struct ExpDate {
struct TokenExpDate {
/** Месяц 1..12 */
1: required i8 month
/** Год 2015..∞ */
@ -75,7 +60,7 @@ struct PaymentSystemTokenData {
2: required EnrollmentID enrollment_id
/**
* Идентификатор МПС
* Платёжная система
**/
3: required PaymentSystem payment_system
@ -84,18 +69,13 @@ struct PaymentSystemTokenData {
**/
4: required TokenStatus status
/**
* Токен банковской карты, для которого выписан токен МПС
**/
5: required Token bank_card_token
/**
* Дата экспирации токена
**/
6: optional ExpDate exp_date
5: optional TokenExpDate exp_date
/**
* Уникальный идентификатор карты в МПС (аналоги и замена PAN)
**/
7: optional string pan_account_reference
6: optional PanAccountReference pan_account_reference
}

View File

@ -3,9 +3,9 @@ namespace erlang pstds_event
include "base.thrift"
struct Event {
2: required base.Timestamp occured_at
3: required Change change
struct TimestampedChange {
1: required base.Timestamp occured_at
2: required Change change
}
union Change {
@ -14,7 +14,7 @@ union Change {
}
struct TokenCreated {
1: base.PaymentSystemTokenData token_data
1: required base.PaymentSystemTokenData token_data
}
struct StatusChanged {

View File

@ -1,10 +1,10 @@
namespace java com.rbkmoney.pstds.storage
namespace erlang pstds
namespace erlang pstds_storage
include "base.thrift"
struct PaymentSystemTokenResult {
1: required base.PaymentSystemToken payment_system_token
1: required base.Token payment_system_token
}
exception InvalidCardData {
@ -19,14 +19,11 @@ exception InvalidPaymentSystemToken {
/**
* Интерфейс для приложений
*
* При недоступности (отсутствии или залоченности) кейринга сервис сигнализирует об этом с помощью
* woody-ошибки `Resource Unavailable`.
*/
service Storage {
/** Получить данные платёжного токена */
base.PaymentSystemTokenData GetPaymentSystemTokenData(1: base.PaymentSystemToken token)
base.PaymentSystemTokenData GetPaymentSystemTokenData(1: base.Token token, 2: base.TokenRevision revision)
throws (1: PaymentSystemTokenNotFound not_found)
/** Получить данные активного платёжного токена по токену банковской карты */
@ -34,7 +31,10 @@ service Storage {
throws (1: PaymentSystemTokenNotFound not_found)
/** Сохранить платёжный токен */
PaymentSystemTokenResult PutPaymentSystemToken(1: base.PaymentSystemTokenData payment_system_token)
PaymentSystemTokenResult PutPaymentSystemToken(
1: base.PaymentSystemTokenData payment_system_token,
2: base.Token bank_card_token
)
throws (1: InvalidPaymentSystemToken invalid)
/** Обновить статус платёжного токена
@ -44,10 +44,14 @@ service Storage {
* - updated_at - время обновления статуса у МПС
**/
void UpdatePaymentSystemTokenStatus(
1: base.PaymentSystemToken token,
1: base.Token token,
2: base.TokenStatus updated_status,
3: base.Timestamp updated_at
)
throws (1: PaymentSystemTokenNotFound not_found)
base.TokenRevision GetTokenRevision(1: base.Token token)
throws (1: PaymentSystemTokenNotFound not_found)
}