diff --git a/build.rs b/build.rs index 13d729a..7a80c1a 100644 --- a/build.rs +++ b/build.rs @@ -52,6 +52,7 @@ static TARGETS: Lazy>> = Lazy::new(|| { "./proto/models/site.proto", "./proto/models/api/vendor.proto", "./proto/models/api/game.proto", + "./proto/models/api/betting.proto", ], ); @@ -73,6 +74,7 @@ static TARGETS: Lazy>> = Lazy::new(|| { "./proto/c2se/core/network.proto", "./proto/c2se/api/vendor.proto", "./proto/c2se/api/game.proto", + "./proto/c2se/api/betting.proto", "./proto/c2se/backend/bank.proto", "./proto/c2se/backend/identity.proto", "./proto/c2se/backend/member_bank_account.proto", @@ -87,6 +89,7 @@ static TARGETS: Lazy>> = Lazy::new(|| { "./proto/c2se/backend/site.proto", "./proto/c2se/backend/api/vendor.proto", "./proto/c2se/backend/api/game.proto", + "./proto/c2se/backend/api/betting.proto", "./proto/c2se/frontend/bank.proto", "./proto/c2se/frontend/identity.proto", "./proto/c2se/frontend/member_bank_account.proto", @@ -117,6 +120,7 @@ static TARGETS: Lazy>> = Lazy::new(|| { "./proto/ss/site.proto", "./proto/ss/api/vendor.proto", "./proto/ss/api/game.proto", + "./proto/ss/api/betting.proto", ], ); diff --git a/proto/c2se/api/betting.proto b/proto/c2se/api/betting.proto new file mode 100644 index 0000000..ad6b524 --- /dev/null +++ b/proto/c2se/api/betting.proto @@ -0,0 +1,57 @@ +syntax = "proto3"; + +package bet.beteran.c2se.api.betting; + +import "protobuf/rpc.proto"; +import "protobuf/pagination.proto"; +import "models/core/network.proto"; + +import "models/api/betting.proto"; + +message ListBettingHistoryRequest { + message Search { + optional string member_id = 1; + optional uint64 vendor_id = 2; + repeated uint64 vendor_ids = 3; + optional string vendor_name = 4; + optional string vendor_name_like = 5; + optional uint64 game_id = 6; + repeated uint64 game_ids = 7; + optional string game_name = 8; + optional string game_name_like = 9; + optional string game_category = 10; + optional string game_category_like = 11; + optional string game_type = 12; + optional string game_type_like = 13; + optional string currency = 14; + optional string currency_like = 15; + optional string key = 16; + optional string key_like = 17; + optional string ref_id = 18; + optional string ref_id_like = 19; + optional string o_ref_id = 20; + optional string o_ref_id_like = 21; + optional string group_key = 22; + optional string group_key_like = 23; + optional bool is_bonus = 24; + optional bool is_promo = 25; + optional bool is_jackpot = 26; + optional string site_username = 27; + optional string site_username_like = 28; + optional string betting_type = 29; + optional string betting_type_like = 30; + optional string category = 31; + optional string category_like = 32; + } + optional bet.protobuf.pagination.Pagination pagination = 1; + repeated bet.protobuf.pagination.Sort sorts = 2; + optional Search search = 3; +} + +message ListBettingHistoryResponse { + message Result { + repeated bet.beteran.api.betting.BettingHistoryModel betting_history = 1; + } + optional bet.protobuf.rpc.Error error = 1; + optional Result result = 2; +} diff --git a/proto/c2se/backend/api/betting.proto b/proto/c2se/backend/api/betting.proto new file mode 100644 index 0000000..ce0b439 --- /dev/null +++ b/proto/c2se/backend/api/betting.proto @@ -0,0 +1,5 @@ +syntax = "proto3"; + +package bet.beteran.c2se.backend.api.betting; + +// subject = bet.beteran.c2se.backend.api.betting.ListBettingHistory diff --git a/proto/models/api/betting.proto b/proto/models/api/betting.proto new file mode 100644 index 0000000..4918046 --- /dev/null +++ b/proto/models/api/betting.proto @@ -0,0 +1,67 @@ +syntax = "proto3"; + +package bet.beteran.api.betting; + +import "models/member.proto"; + +message BettingHistory { + string id = 1; + uint64 vendor_id = 2; + string vendor_name = 3; + uint64 game_id = 4; + string game_name = 5; + string game_category = 6; + string game_type = 7; + string currency = 8; + double cash = 9; + double before_cash = 10; + double after_cash = 11; + string key = 12; + string ref_id = 13; + string o_ref_id = 14; + optional string group_key = 15; + bool is_bonus = 16; + bool is_promo = 17; + bool is_jackpot = 18; + string site_username = 19; + string betting_type = 20; + string category = 21; + uint64 created_at = 22; + uint64 utc_created_at = 23; +} + + +message BettingHistoryModel { + message Member { + string site_id = 1; + string member_class_id = 2; + string member_level_id = 3; + optional string parent_member_id = 4; + string nickname = 5; + optional string mobile_phone_number = 6; + } + string id = 1; + uint64 vendor_id = 2; + string vendor_name = 3; + uint64 game_id = 4; + string game_name = 5; + string game_category = 6; + string game_type = 7; + string currency = 8; + double cash = 9; + double before_cash = 10; + double after_cash = 11; + string key = 12; + string ref_id = 13; + string o_ref_id = 14; + optional string group_key = 15; + bool is_bonus = 16; + bool is_promo = 17; + bool is_jackpot = 18; + string site_username = 19; + string betting_type = 20; + string category = 21; + uint64 created_at = 22; + uint64 utc_created_at = 23; + Member member = 24; +} diff --git a/proto/ss/api/betting.proto b/proto/ss/api/betting.proto new file mode 100644 index 0000000..fbe450b --- /dev/null +++ b/proto/ss/api/betting.proto @@ -0,0 +1,61 @@ +syntax = "proto3"; + +package bet.beteran.ss.api.betting; + +import "protobuf/rpc.proto"; +import "protobuf/pagination.proto"; +import "models/core/network.proto"; + +import "models/api/betting.proto"; + + +// subject = bet.beteran.ss.api.betting.ListBettingHistory +message ListBettingHistoryRequest { + message Request { + message Search { + optional string member_id = 1; + optional uint64 vendor_id = 2; + optional string vendor_name = 3; + optional string vendor_name_like = 4; + optional uint64 game_id = 5; + optional string game_name = 6; + optional string game_name_like = 7; + optional string game_category = 8; + optional string game_category_like = 9; + optional string game_type = 10; + optional string game_type_like = 11; + optional string currency = 12; + optional string currency_like = 13; + optional string key = 14; + optional string key_like = 15; + optional string ref_id = 16; + optional string ref_id_like = 17; + optional string o_ref_id = 18; + optional string o_ref_id_like = 19; + optional string group_key = 20; + optional string group_key_like = 21; + optional bool is_bonus = 22; + optional bool is_promo = 23; + optional bool is_jackpot = 24; + optional string site_username = 25; + optional string site_username_like = 26; + optional string betting_type = 27; + optional string betting_type_like = 28; + optional string category = 29; + optional string category_like = 30; + } + optional bet.protobuf.pagination.Pagination pagination = 1; + repeated bet.protobuf.pagination.Sort sorts = 2; + optional Search search = 3; + } + bet.beteran.core.network.Client client = 1; + Request request = 2; +} + +message ListBettingHistoryResponse { + message Result { + repeated bet.beteran.api.betting.BettingHistoryModel betting_history = 1; + } + optional bet.protobuf.rpc.Error error = 1; + optional Result result = 2; +}