Compare commits

..

67 Commits

Author SHA1 Message Date
8300d6a9d5 member_balance is added 2022-09-16 14:17:16 +00:00
d238f024d8 get_member base api is added 2022-09-16 10:24:05 +00:00
ad4db040da member model is modified 2022-09-06 12:41:13 +00:00
d02eaee6da model is modified 2022-09-05 14:43:36 +00:00
38a5fc3766 models are modified 2022-09-01 17:17:19 +00:00
8be4b9b7b9 bug fixed 2022-09-01 09:34:23 +00:00
95abddce87 model is modified 2022-09-01 08:58:46 +00:00
7611663667 model is modified 2022-09-01 08:30:53 +00:00
3452c0626d model is changed 2022-09-01 08:19:55 +00:00
29f97ea509 bug fixed 2022-09-01 07:28:07 +00:00
464cc31ee3 model is changed 2022-09-01 03:25:27 +00:00
9ec6bd1ce2 bug fixed 2022-08-30 09:28:55 +00:00
51d8b69746 data type of money is changed 2022-08-30 08:32:03 +00:00
aa1fb4300d get_game_url is modified 2022-08-29 08:41:36 +00:00
6d0673bb3e get_game_url is added 2022-08-29 08:21:38 +00:00
4e4f708dba name is changed 2022-08-29 04:18:36 +00:00
6a948abeb9 return type is changed 2022-08-28 13:37:36 +00:00
37f18d672b member_session is added 2022-08-27 07:55:30 +00:00
f1a8f586b3 member, member_bank_account are modified 2022-08-24 06:12:21 +00:00
50078431b9 member_game_setting, member_settlement_setting are modified 2022-08-24 05:12:21 +00:00
83c8a41708 member_game_setting, member_settlement_setting are added 2022-08-22 07:36:41 +00:00
af8980bcb2 signinWithoutSecurityCode is added 2022-08-20 12:55:18 +00:00
96bdb1eb96 member_referrer is modified 2022-08-20 12:39:17 +00:00
a7a023936f api for frontend is added 2022-08-19 07:42:45 +00:00
8a459cc85b bug fixed 2022-08-19 06:57:41 +00:00
d4216f56f6 protocol is changed 2022-08-19 06:14:52 +00:00
41c81e63aa configuration of devcontainer is changed 2022-08-19 02:33:30 +00:00
a28289f910 vendor is added 2022-08-18 03:40:03 +00:00
124af91cd3 events of member are modified 2022-08-15 06:38:07 +00:00
d8e8fe65a1 events are added 2022-08-15 06:31:24 +00:00
5a380bb925 update_member is modified 2022-08-15 04:37:50 +00:00
fb7fb09f9d member, member_bank_account are modified 2022-08-15 04:08:57 +00:00
a5de0dc389 bug fixed 2022-08-14 15:08:04 +00:00
161e6112cd bug fixed 2022-08-14 07:18:42 +00:00
aab30c48e6 bug fixed 2022-08-14 06:25:14 +00:00
fc6191b5ea bug fixed 2022-08-14 06:14:38 +00:00
fd1ded0554 refactoring 2022-08-13 20:18:21 +00:00
c2f7246734 bug fixed 2022-08-12 09:48:15 +00:00
3c480643e0 bug fixed 2022-08-12 08:52:46 +00:00
ae65d4dded bug fixed 2022-08-12 08:29:57 +00:00
85666a4540 bug fixed 2022-08-12 08:20:02 +00:00
dd38aff481 member_class, member_level are added 2022-08-12 08:07:43 +00:00
2dcdf56318 bank is added 2022-08-12 06:42:07 +00:00
ee22fe015d bug fixed 2022-08-11 07:57:17 +00:00
e41c2bdece actions of member are added 2022-08-11 07:23:27 +00:00
50f7f4e5d7 event is added 2022-08-11 05:53:05 +00:00
43b7f05e5b refactoring 2022-08-11 01:04:25 +00:00
b5d6db061c member is added 2022-08-10 10:13:09 +00:00
ac441c063f site is changed 2022-08-10 02:30:16 +00:00
06d9c52203 site is changed 2022-08-10 02:28:41 +00:00
06f6ab84c5 site is modified 2022-08-10 01:50:01 +00:00
3fe0a644be site is added 2022-08-08 10:10:57 +00:00
4e4b1f2eb1 name is changed 2022-08-08 07:13:55 +00:00
8abfe6719c key is changed 2022-08-08 07:11:48 +00:00
ea970cd9ad rbac is added 2022-08-08 01:46:20 +00:00
85956b6fd9 name is changed 2022-08-06 03:59:02 +00:00
99bf1ad793 name is changed 2022-08-06 03:56:24 +00:00
823609d7e3 default value is added 2022-08-04 09:10:06 +00:00
7da12d3932 error message is required 2022-08-04 08:51:02 +00:00
c057943771 invalid params is added 2022-08-04 08:44:55 +00:00
dbbdd2d5f2 responses are modified 2022-08-03 07:31:10 +00:00
d4171eb5d2 responses are modified 2022-08-03 06:52:17 +00:00
1f977bb45d variable name is changed 2022-07-27 07:40:51 +00:00
e607eafa47 variable names are changed 2022-07-27 07:40:05 +00:00
6b87a84801 refactoring 2022-07-27 06:45:53 +00:00
2dbaead2fa client info is added 2022-07-15 06:14:09 +00:00
abf0478dac initialized 2022-07-12 07:02:38 +00:00
95 changed files with 4659 additions and 0 deletions

11
.devcontainer/Dockerfile Normal file
View File

@ -0,0 +1,11 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.0/containers/ubuntu/.devcontainer/base.Dockerfile
# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04
ARG VARIANT="jammy"
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>

View File

@ -0,0 +1,72 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.245.0/containers/ubuntu
{
"name": "beteran-protobuf",
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04
// Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon.
"args": {
"VARIANT": "ubuntu-22.04"
}
},
// Use this environment variable if you need to bind mount your local source code into a new container.
"remoteEnv": {
"LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}",
"PROTOBUF_VERSION": "3.20.1"
},
// Configure tool-specific properties.
"customizations": {
// Configure properties specific to VS Code.
"vscode": {
// Set *default* container specific settings.json values on container create.
"settings": {
"lldb.verboseLogging": true,
"lldb.executable": "/usr/bin/lldb",
"search.exclude": {
"**/target": true
},
// VS Code don't watch files under ./target
"files.watcherExclude": {
"**/.git/objects/**": true,
"**/.git/subtree-cache/**": true,
"**/target/**": true
},
"rust-analyzer.checkOnSave.command": "clippy",
"protoc": {
"options": [
"--proto_path=/usr/local/include/protobuf"
]
},
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.formatOnSave": true
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"dbaeumer.vscode-eslint",
"donjayamanne.githistory",
"eamodio.gitlens",
"mhutchie.git-graph",
"ms-azuretools.vscode-docker",
"mutantdino.resourcemonitor",
"rust-lang.rust-analyzer",
"serayuzgur.crates",
"tamasfe.even-better-toml",
"vadimcn.vscode-lldb",
"zxh404.vscode-proto3"
]
}
},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
// "postCreateCommand": "uname -a",
"postCreateCommand": "bash ./.devcontainer/scripts/postCreateCommand.sh",
// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
"features": {
"node": "lts",
"rust": "latest"
}
}

View File

@ -0,0 +1,7 @@
[toolchain]
channel = "stable"
profile = "minimal"
components = ["clippy", "rustfmt"]
targets = [
]

View File

@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
# sudo apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && sudo apt-get -y install --no-install-recommends protobuf-compiler
curl -fsSL "https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOBUF_VERSION}/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip" -o /tmp/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip
unzip /tmp/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip -d /tmp/protoc-${PROTOBUF_VERSION}-linux-x86_64
sudo mv /tmp/protoc-${PROTOBUF_VERSION}-linux-x86_64/bin/protoc /usr/local/bin/protoc
sudo chmod +x /usr/local/bin/protoc
sudo mkdir -p /usr/local/include/protobuf
sudo mv /tmp/protoc-${PROTOBUF_VERSION}-linux-x86_64/include/* /usr/local/include/protobuf
rm -fR /tmp/protoc-${PROTOBUF_VERSION}-linux-x86_64 /tmp/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip
npm install -g ts-protoc-gen

11
.gitignore vendored Normal file
View File

@ -0,0 +1,11 @@
.DS_Store
/build
# Added by cargo
/target
Cargo.lock
# Added by protobuf
include

75
.rustfmt.toml Normal file
View File

@ -0,0 +1,75 @@
# https://rust-lang.github.io/rustfmt/?version=v1.4.38&search=
array_width = 60
attr_fn_like_width = 70
binop_separator = "Front" # "Front", "Back"
blank_lines_lower_bound = 0
blank_lines_upper_bound = 1
brace_style = "SameLineWhere" #"AlwaysNextLine", "PreferSameLine", "SameLineWhere"
chain_width = 60
color = "Auto" #"Auto", "Always", "Never"
combine_control_expr = true # true, false
comment_width = 80
condense_wildcard_suffixes = false # true, false
control_brace_style = "AlwaysSameLine" # "AlwaysNextLine", "AlwaysSameLine", "ClosingNextLine"
disable_all_formatting = false # true, false
edition = "2015" # "2015", "2018", "2021"
empty_item_single_line = true # true, false
enum_discrim_align_threshold = 0
error_on_line_overflow = false # true, false
error_on_unformatted = false # true, false
fn_args_layout = "Tall" # "Compressed", "Tall", "Vertical"
fn_call_width = 60
fn_single_line = false # true, false
force_explicit_abi = true # true, false
force_multiline_blocks = false # true, false
format_code_in_doc_comments = false # true, false
format_generated_files = false # true, false
format_macro_matchers = false # true, false
format_macro_bodies = true # true, false
format_strings = false # true, false
group_imports = "Preserve" # "Preserve", "StdExternalCrate"
hard_tabs = false # true, false
hex_literal_case = "Preserve" # "Upper", "Lower"
hide_parse_errors = false # true, false
ignore = []
imports_indent = "Block" # "Block", "Visual"
imports_layout = "Mixed" # "Horizontal", "HorizontalVertical", "Mixed", "Vertical"
indent_style = "Block" # "Block", "Visual"
inline_attribute_width = 0
license_template_path = ""
match_arm_blocks = true # true, false
match_arm_leading_pipes = "Never" # "Always", "Never", "Preserve"
match_block_trailing_comma = false # true, false
max_width = 100
merge_derives = true # true, false
imports_granularity = "Preserve" # "Preserve", "Crate", "Module", "Item", "One"
merge_imports = false # true, false
newline_style = "Auto" # "Auto", "Native", "Unix", "Windows"
normalize_comments = false # true, false
normalize_doc_attributes = false # true, false
overflow_delimited_expr = false # true, false
remove_nested_parens = true # true, false
reorder_impl_items = false # true, false
reorder_imports = true # true, false
reorder_modules = true # true, false
report_fixme = "Never" # "Always", "Unnumbered", "Never"
report_todo = "Never" # "Always", "Unnumbered", "Never"
skip_children = false # true, false
single_line_if_else_max_width = 50
space_after_colon = true # true, false
space_before_colon = false # true, false
spaces_around_ranges = false # true, false
struct_field_align_threshold = 0
struct_lit_single_line = true # true, false
struct_lit_width = 18
struct_variant_width = 35
tab_spaces = 2
trailing_comma = "Vertical" # "Always", "Never", "Vertical"
trailing_semicolon = true # true, false
type_punctuation_density = "Wide" # "Compressed", "Wide"
unstable_features = false # true, false
use_field_init_shorthand = false # true, false
use_small_heuristics = "Default" # "Default", "Off", "Max"
use_try_shorthand = false # true, false
where_single_line = false # true, false
wrap_comments = false # true, false

18
Cargo.toml Normal file
View File

@ -0,0 +1,18 @@
[package]
name = "beteran-protobuf"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
name = "beteran_protobuf"
path = "./src/lib.rs"
[dependencies]
prost = "0"
[build-dependencies]
once_cell = "1"
prost-build = "0"

201
build.rs Normal file
View File

@ -0,0 +1,201 @@
//! client client
//! NATS(c2se) NATS(c2se)
//! <---> <--->
//! client broker
//! <---> <--->
//! NATS(se2c) NATS(se2c)
//! server edge server edge
//! NATS(se) NATS(se)
//! <---> <--->
//! server service server broker server service
//! NATS(ss) <---> <---> NATS(ss)
//!
use once_cell::sync::Lazy;
use std::{collections::HashMap, fs, path::Path, process::Command};
static PROTO_PATHS: Lazy<Vec<&str>> =
Lazy::new(|| vec!["/usr/local/include/protobuf/", "./proto/"]);
static TARGETS: Lazy<HashMap<&str, Vec<&str>>> = Lazy::new(|| {
println!("initializing");
let mut m = HashMap::new();
m.insert(
"protobuf",
vec![
"./proto/protobuf/rpc.proto",
"./proto/protobuf/pagination.proto",
],
);
m.insert(
"models",
vec![
"./proto/models/core/network.proto",
"./proto/models/bank.proto",
"./proto/models/member_balance.proto",
"./proto/models/member_bank_account.proto",
"./proto/models/member_bank_deposit.proto",
"./proto/models/member_bank_withdraw.proto",
"./proto/models/member_class.proto",
"./proto/models/member_level.proto",
"./proto/models/member_permission.proto",
"./proto/models/member_role.proto",
"./proto/models/member_session.proto",
"./proto/models/member_referrer.proto",
"./proto/models/member.proto",
"./proto/models/member_game_setting.proto",
"./proto/models/member_settlement_setting.proto",
"./proto/models/resource_action.proto",
"./proto/models/resource.proto",
"./proto/models/role.proto",
"./proto/models/site.proto",
"./proto/models/api/vendor.proto",
"./proto/models/api/game.proto",
"./proto/models/api/betting.proto",
],
);
m.insert(
"c2se",
vec![
"./proto/c2se/bank.proto",
"./proto/c2se/identity.proto",
"./proto/c2se/member_balance.proto",
"./proto/c2se/member_bank_account.proto",
"./proto/c2se/member_bank_deposit.proto",
"./proto/c2se/member_bank_withdraw.proto",
"./proto/c2se/member_class.proto",
"./proto/c2se/member_level.proto",
"./proto/c2se/member_referrer.proto",
"./proto/c2se/member.proto",
"./proto/c2se/member_game_setting.proto",
"./proto/c2se/member_settlement_setting.proto",
"./proto/c2se/site.proto",
"./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_balance.proto",
"./proto/c2se/backend/member_bank_account.proto",
"./proto/c2se/backend/member_bank_deposit.proto",
"./proto/c2se/backend/member_bank_withdraw.proto",
"./proto/c2se/backend/member_class.proto",
"./proto/c2se/backend/member_level.proto",
"./proto/c2se/backend/member_referrer.proto",
"./proto/c2se/backend/member.proto",
"./proto/c2se/backend/member_game_setting.proto",
"./proto/c2se/backend/member_settlement_setting.proto",
"./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_balance.proto",
"./proto/c2se/frontend/member_bank_account.proto",
"./proto/c2se/frontend/member_bank_deposit.proto",
"./proto/c2se/frontend/member_bank_withdraw.proto",
"./proto/c2se/frontend/member_referrer.proto",
"./proto/c2se/frontend/member.proto",
"./proto/c2se/frontend/api/vendor.proto",
"./proto/c2se/frontend/api/game.proto",
],
);
m.insert(
"ss",
vec![
"./proto/ss/bank.proto",
"./proto/ss/identity.proto",
"./proto/ss/member_balance.proto",
"./proto/ss/member_bank_account.proto",
"./proto/ss/member_bank_deposit.proto",
"./proto/ss/member_bank_withdraw.proto",
"./proto/ss/member_class.proto",
"./proto/ss/member_game_setting.proto",
"./proto/ss/member_level.proto",
"./proto/ss/member_referrer.proto",
"./proto/ss/member_session.proto",
"./proto/ss/member_settlement_setting.proto",
"./proto/ss/member.proto",
"./proto/ss/site.proto",
"./proto/ss/api/vendor.proto",
"./proto/ss/api/game.proto",
"./proto/ss/api/betting.proto",
],
);
m
});
fn main() {
let build_path = "./build";
if Path::new(build_path).exists() {
fs::remove_dir_all(build_path).expect("clean for library directory is failed");
}
fs::create_dir_all(build_path).expect("creating for library directory is failed");
let build_path_rust = format!("{}/rust", build_path);
if Path::new(&build_path_rust).exists() {
fs::remove_dir_all(&build_path_rust).expect("clean for rust library directory is failed");
}
fs::create_dir_all(&build_path_rust).expect("creating for rust library directory is failed");
let build_path_javascript = format!("{}/javascript", build_path);
if Path::new(&build_path_javascript).exists() {
fs::remove_dir_all(&build_path_javascript)
.expect("clean for javascript library directory is failed");
}
fs::create_dir_all(&build_path_javascript)
.expect("creating for javascript library directory is failed");
let proto_paths: Vec<_> = PROTO_PATHS
.iter()
.map(|v| format!("--proto_path={}", *v))
.collect();
eprintln!("proto_paths: {:?}", proto_paths);
for (key, protos) in TARGETS.iter() {
let build_path_rust_sub = format!("{}/{}", &build_path_rust, key);
fs::create_dir_all(&build_path_rust_sub)
.expect("creating for rust library sub directory is failed");
let mut prost_build = prost_build::Config::new();
prost_build.out_dir(build_path_rust_sub);
prost_build
.compile_protos(protos.as_slice(), PROTO_PATHS.as_slice())
.expect("generating library for rust is failed");
let output = Command::new("protoc")
.args(proto_paths.as_slice())
.args(["--experimental_allow_proto3_optional"])
.args(&[
&format!(
"--js_out=import_style=commonjs,binary:{}",
&build_path_javascript
),
&format!("--ts_out={}", &build_path_javascript),
])
.args(protos.as_slice())
.output()
.expect("generating library for javascript is failed");
eprintln!(
"generating library for javascript status: {}",
output.status.success()
);
eprintln!(
"generating library for typescript stdout: {}",
String::from_utf8_lossy(&output.stdout)
);
eprintln!(
"generating library for typescript stderr: {}",
String::from_utf8_lossy(&output.stderr)
);
}
}

View File

@ -0,0 +1,58 @@
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 {
uint64 total_count = 1;
repeated bet.beteran.api.betting.BettingHistoryModel betting_history = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

47
proto/c2se/api/game.proto Normal file
View File

@ -0,0 +1,47 @@
syntax = "proto3";
package bet.beteran.c2se.api.game;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/core/network.proto";
import "models/api/game.proto";
message ListGamesRequest {
message Search {
optional uint64 parent_id = 1;
optional string key_like = 2;
optional string platform_like = 3;
optional string category_like = 4;
optional string game_type_like = 5;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListGamesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.api.game.Game games = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetGameUrlRequest {
string vendor_key = 1;
string game_key = 2;
}
message GetGameUrlResponse {
message Result {
uint64 user_id = 1;
double balance = 2;
string url = 3;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,32 @@
syntax = "proto3";
package bet.beteran.c2se.api.vendor;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/core/network.proto";
import "models/api/vendor.proto";
message ListVendorsRequest {
message Search {
optional uint64 company_id = 1;
optional uint64 vendor_id = 2;
optional string key_like = 3;
optional string name_like = 4;
optional string category_like = 5;
optional string is_enable = 6;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListVendorsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.api.vendor.Vendor vendors = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,5 @@
syntax = "proto3";
package bet.beteran.c2se.backend.api.betting;
// subject = bet.beteran.c2se.backend.api.betting.ListBettingHistory

View File

@ -0,0 +1,5 @@
syntax = "proto3";
package bet.beteran.c2se.backend.api.game;
// subject = bet.beteran.c2se.backend.api.game.ListGames

View File

@ -0,0 +1,5 @@
syntax = "proto3";
package bet.beteran.c2se.backend.api.vendor;
// subject = bet.beteran.c2se.backend.api.vendor.ListVendors

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.c2se.backend.bank;
// subject = bet.beteran.c2se.backend.bank.CreateBank
// subject = bet.beteran.c2se.backend.bank.ListBanks
// subject = bet.beteran.c2se.backend.bank.GetBank
// subject = bet.beteran.c2se.backend.bank.UpdateBank
// subject = bet.beteran.c2se.backend.bank.DeleteBank

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.c2se.backend.identity;
// subject = bet.beteran.c2se.backend.identity.CheckUsernameForDuplication
// subject = bet.beteran.c2se.backend.identity.CheckNicknameForDuplication
// subject = bet.beteran.c2se.backend.identity.Captcha
// subject = bet.beteran.c2se.backend.identity.Signin

View File

@ -0,0 +1,13 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member;
// subject = bet.beteran.c2se.backend.member.CreateMember
// subject = bet.beteran.c2se.backend.member.ListMembers
// subject = bet.beteran.c2se.backend.member.GetMember
// subject = bet.beteran.c2se.backend.member.GetMemberByUsername
// subject = bet.beteran.c2se.backend.member.UpdateMember
// subject = bet.beteran.c2se.backend.member.UpdateMemberForPassword
// subject = bet.beteran.c2se.backend.member.UpdateMemberForState
// subject = bet.beteran.c2se.backend.member.DeleteMember

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_balance;
// subject = bet.beteran.c2se.backend.member_balance.CreateMemberBalance
// subject = bet.beteran.c2se.backend.member_balance.ListMemberBalances
// subject = bet.beteran.c2se.backend.member_balance.GetMemberBalance
// subject = bet.beteran.c2se.backend.member_balance.UpdateMemberBalance
// subject = bet.beteran.c2se.backend.member_balance.DeleteMemberBalance

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_bank_account;
// subject = bet.beteran.c2se.backend.member_bank_account.CreateMemberBankAccount
// subject = bet.beteran.c2se.backend.member_bank_account.ListMemberBankAccounts
// subject = bet.beteran.c2se.backend.member_bank_account.GetMemberBankAccount
// subject = bet.beteran.c2se.backend.member_bank_account.UpdateMemberBankAccount
// subject = bet.beteran.c2se.backend.member_bank_account.UpdateMemberBankAccountForExchangePassword
// subject = bet.beteran.c2se.backend.member_bank_account.DeleteMemberBankAccount

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_bank_deposit;
// subject = bet.beteran.c2se.backend.member_bank_deposit.CreateMemberBankDeposit
// subject = bet.beteran.c2se.backend.member_bank_deposit.ListMemberBankDeposits
// subject = bet.beteran.c2se.backend.member_bank_deposit.GetMemberBankDeposit
// subject = bet.beteran.c2se.backend.member_bank_deposit.UpdateMemberBankDeposit
// subject = bet.beteran.c2se.backend.member_bank_deposit.UpdateMemberBankDepositForState
// subject = bet.beteran.c2se.backend.member_bank_deposit.DeleteMemberBankDeposit

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_bank_withdraw;
// subject = bet.beteran.c2se.backend.member_bank_withdraw.CreateMemberBankWithdraw
// subject = bet.beteran.c2se.backend.member_bank_withdraw.ListMemberBankWithdraws
// subject = bet.beteran.c2se.backend.member_bank_withdraw.GetMemberBankWithdraw
// subject = bet.beteran.c2se.backend.member_bank_withdraw.UpdateMemberBankWithdraw
// subject = bet.beteran.c2se.backend.member_bank_withdraw.UpdateMemberBankWithdrawForState
// subject = bet.beteran.c2se.backend.member_bank_withdraw.DeleteMemberBankWithdraw

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_class;
// subject = bet.beteran.c2se.backend.member_class.CreateMemberClass
// subject = bet.beteran.c2se.backend.member_class.ListMemberClasses
// subject = bet.beteran.c2se.backend.member_class.GetMemberClass
// subject = bet.beteran.c2se.backend.member_class.UpdateMemberClass
// subject = bet.beteran.c2se.backend.member_class.DeleteMemberClass

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_game_setting;
// subject = bet.beteran.c2se.backend.member_game_setting.CreateMemberGameSetting
// subject = bet.beteran.c2se.backend.member_game_setting.ListMemberGameSettings
// subject = bet.beteran.c2se.backend.member_game_setting.GetMemberGameSetting
// subject = bet.beteran.c2se.backend.member_game_setting.UpdateMemberGameSetting
// subject = bet.beteran.c2se.backend.member_game_setting.DeleteMemberGameSetting

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_level;
// subject = bet.beteran.c2se.backend.member_level.CreateMemberLevel
// subject = bet.beteran.c2se.backend.member_level.ListMemberLevels
// subject = bet.beteran.c2se.backend.member_level.GetMemberLevel
// subject = bet.beteran.c2se.backend.member_level.UpdateMemberLevel
// subject = bet.beteran.c2se.backend.member_level.DeleteMemberLevel

View File

@ -0,0 +1,12 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_referrer;
// subject = bet.beteran.c2se.backend.member_referrer.CreateMemberReferrer
// subject = bet.beteran.c2se.backend.member_referrer.CreateMemberReferrers
// subject = bet.beteran.c2se.backend.member_referrer.ListMemberReferrers
// subject = bet.beteran.c2se.backend.member_referrer.GetMemberReferrer
// subject = bet.beteran.c2se.backend.member_referrer.GetMemberReferrerByCode
// subject = bet.beteran.c2se.backend.member_referrer.UpdateMemberReferrer
// subject = bet.beteran.c2se.backend.member_referrer.DeleteMemberReferrer
// subject = bet.beteran.c2se.backend.member_referrer.DeleteMemberReferrers

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package bet.beteran.c2se.backend.member_settlement_setting;
// subject = bet.beteran.c2se.backend.member_settlement_setting.CreateMemberSettlementSetting
// subject = bet.beteran.c2se.backend.member_settlement_setting.ListMemberSettlementSettings
// subject = bet.beteran.c2se.backend.member_settlement_setting.GetMemberSettlementSetting
// subject = bet.beteran.c2se.backend.member_settlement_setting.UpdateMemberSettlementSetting
// subject = bet.beteran.c2se.backend.member_settlement_setting.DeleteMemberSettlementSetting

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.c2se.backend.site;
// subject = bet.beteran.c2se.backend.site.CreateSite
// subject = bet.beteran.c2se.backend.site.ListSites
// subject = bet.beteran.c2se.backend.site.GetSite
// subject = bet.beteran.c2se.backend.site.UpdateSite
// subject = bet.beteran.c2se.backend.site.DeleteSite

84
proto/c2se/bank.proto Normal file
View File

@ -0,0 +1,84 @@
syntax = "proto3";
package bet.beteran.c2se.bank;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/bank.proto";
message CreateBankRequest {
string name = 1;
uint32 sort_order = 2;
bool show = 3;
bool can_use = 4;
optional string memo = 5;
}
message CreateBankResponse {
message Result {
bet.beteran.bank.Bank bank = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListBanksRequest {
message Search {
optional string name_like = 1;
optional bool show = 2;
optional bool can_use = 3;
optional string memo_like = 4;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListBanksResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.bank.Bank banks = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetBankRequest {
string id = 1;
}
message GetBankResponse {
message Result {
bet.beteran.bank.Bank bank = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateBankRequest {
string id = 1;
string name = 2;
uint32 sort_order = 3;
bool show = 4;
bool can_use = 5;
optional string memo = 6;
}
message UpdateBankResponse {
message Result {
bet.beteran.bank.Bank bank = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteBankRequest {
string id = 1;
}
message DeleteBankResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,5 @@
syntax = "proto3";
package bet.beteran.c2se.core.network;
// header = bet.beteran.c2se.core.network.Client

View File

@ -0,0 +1,6 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.api.game;
// subject = bet.beteran.c2se.frontend.api.game.ListGames
// subject = bet.beteran.c2se.frontend.api.game.GetGameUrl

View File

@ -0,0 +1,5 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.api.vendor;
// subject = bet.beteran.c2se.frontend.api.vendor.ListVendors

View File

@ -0,0 +1,6 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.bank;
// subject = bet.beteran.c2se.frontend.bank.ListBanks
// subject = bet.beteran.c2se.frontend.bank.GetBank

View File

@ -0,0 +1,10 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.identity;
// subject = bet.beteran.c2se.frontend.identity.CheckUsernameForDuplication
// subject = bet.beteran.c2se.frontend.identity.CheckNicknameForDuplication
// subject = bet.beteran.c2se.frontend.identity.Captcha
// subject = bet.beteran.c2se.frontend.identity.Signin
// subject = bet.beteran.c2se.frontend.identity.SigninWithoutSecurityCode

View File

@ -0,0 +1,11 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.member;
// subject = bet.beteran.c2se.frontend.member.CreateMember
// subject = bet.beteran.c2se.frontend.member.GetMember
// subject = bet.beteran.c2se.frontend.member.GetMemberByUsername
// subject = bet.beteran.c2se.frontend.member.UpdateMember
// subject = bet.beteran.c2se.frontend.member.UpdateMemberForPassword
// subject = bet.beteran.c2se.frontend.member.DeleteMember

View File

@ -0,0 +1,7 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.member_balance;
// subject = bet.beteran.c2se.frontend.member_balance.CreateMemberBalance
// subject = bet.beteran.c2se.frontend.member_balance.GetMemberBalance
// subject = bet.beteran.c2se.frontend.member_balance.UpdateMemberBalance

View File

@ -0,0 +1,8 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.member_bank_account;
// subject = bet.beteran.c2se.frontend.member_bank_account.CreateMemberBankAccount
// subject = bet.beteran.c2se.frontend.member_bank_account.GetMemberBankAccount
// subject = bet.beteran.c2se.frontend.member_bank_account.UpdateMemberBankAccount
// subject = bet.beteran.c2se.frontend.member_bank_account.UpdateMemberBankAccountForExchangePassword

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.member_bank_deposit;
// subject = bet.beteran.c2se.frontend.member_bank_deposit.CreateMemberBankDeposit
// subject = bet.beteran.c2se.frontend.member_bank_deposit.ListMemberBankDeposits
// subject = bet.beteran.c2se.frontend.member_bank_deposit.GetMemberBankDeposit
// subject = bet.beteran.c2se.frontend.member_bank_deposit.UpdateMemberBankDeposit
// subject = bet.beteran.c2se.frontend.member_bank_deposit.DeleteMemberBankDeposit

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.member_bank_withdraw;
// subject = bet.beteran.c2se.frontend.member_bank_withdraw.CreateMemberBankWithdraw
// subject = bet.beteran.c2se.frontend.member_bank_withdraw.ListMemberBankWithdraws
// subject = bet.beteran.c2se.frontend.member_bank_withdraw.GetMemberBankWithdraw
// subject = bet.beteran.c2se.frontend.member_bank_withdraw.UpdateMemberBankWithdraw
// subject = bet.beteran.c2se.frontend.member_bank_withdraw.DeleteMemberBankWithdraw

View File

@ -0,0 +1,5 @@
syntax = "proto3";
package bet.beteran.c2se.frontend.member_referrer;
// subject = bet.beteran.c2se.frontend.member_referrer.GetMemberReferrerByCode

71
proto/c2se/identity.proto Normal file
View File

@ -0,0 +1,71 @@
syntax = "proto3";
package bet.beteran.c2se.identity;
import "protobuf/rpc.proto";
message CheckUsernameForDuplicationRequest {
string username = 1;
}
message CheckUsernameForDuplicationResponse {
message Result {
bool duplicated = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message CheckNicknameForDuplicationRequest {
string nickname = 1;
}
message CheckNicknameForDuplicationResponse {
message Result {
bool duplicated = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message CaptchaRequest {
}
message CaptchaResponse {
message Result {
string security_code_hash = 1;
string image = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message SigninRequest {
string security_code_hash = 1;
string security_code = 2;
string username = 3;
string password = 4;
}
message SigninResponse {
message Result {
string access_token = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message SigninWithoutSecurityCodeRequest {
string username = 1;
string password = 2;
}
message SigninWithoutSecurityCodeResponse {
message Result {
string access_token = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

218
proto/c2se/member.proto Normal file
View File

@ -0,0 +1,218 @@
syntax = "proto3";
package bet.beteran.c2se.member;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member.proto";
import "models/member_settlement_setting.proto";
message CreateMemberRequest {
message BankAccount {
string bank_id = 1;
string name = 2;
string account_number = 3;
string exchange_password = 4;
optional string memo = 5;
}
message GameSetting {
bool can_bet_casino = 1;
bool can_bet_slot = 2;
bool can_bet_powerball = 3;
bool can_bet_powerladder = 4;
bool can_bet_eos = 5;
bool can_bet_bogglepowerball = 6;
}
message SettlementSetting {
bool can_exchange = 1;
bool can_first_charge_comp = 2;
bool can_per_charge_comp = 3;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 4;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 5;
double rate_casino = 6;
double rate_casino_loosing = 7;
double rate_casino_bacara = 8;
double rate_casino_roulette = 9;
double rate_casino_dragon_tiger = 10;
double rate_slot = 11;
double rate_slot_loosing = 12;
double rate_powerball_single = 13;
double rate_powerball_combo = 14;
double rate_powerladder_single = 15;
double rate_powerladder_combo = 16;
double rate_eos_single = 17;
double rate_eos_combo = 18;
double rate_bogglepowerball_single = 19;
double rate_bogglepowerball_combo = 20;
}
string site_id = 1;
string member_class_id = 2;
string member_level_id = 3;
optional string referrer_member_username = 4;
string username = 5;
string password = 6;
string nickname = 7;
optional string mobile_phone_number = 8;
optional BankAccount bank_account = 9;
optional GameSetting game_setting = 10;
optional SettlementSetting settlement_setting = 11;
}
message CreateMemberResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMembersRequest {
message Search {
optional string site_id = 1;
optional string member_class_id = 2;
optional string member_level_id = 3;
optional string parent_member_id = 4;
optional string username = 5;
repeated string usernames = 6;
optional string username_like = 7;
optional string nickname = 8;
repeated string nicknames = 9;
optional string nickname_like = 10;
optional string mobile_phone_number_like = 11;
optional string last_signined_ip = 12;
optional bet.beteran.member.MemberState state = 13;
optional uint64 deleted_at = 14;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMembersResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member.MemberModel members = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberRequest {
string id = 1;
}
message GetMemberResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberByUsernameRequest {
string username = 1;
}
message GetMemberByUsernameResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberRequest {
message BankAccount {
string id = 1;
string bank_id = 2;
string name = 3;
string account_number = 4;
optional string memo = 5;
}
message GameSetting {
string id = 1;
bool can_bet_casino = 2;
bool can_bet_slot = 3;
bool can_bet_powerball = 4;
bool can_bet_powerladder = 5;
bool can_bet_eos = 6;
bool can_bet_bogglepowerball = 7;
}
message SettlementSetting {
string id = 1;
bool can_exchange = 2;
bool can_first_charge_comp = 3;
bool can_per_charge_comp = 4;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 5;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 6;
double rate_casino = 7;
double rate_casino_loosing = 8;
double rate_casino_bacara = 9;
double rate_casino_roulette = 10;
double rate_casino_dragon_tiger = 11;
double rate_slot = 12;
double rate_slot_loosing = 13;
double rate_powerball_single = 14;
double rate_powerball_combo = 15;
double rate_powerladder_single = 16;
double rate_powerladder_combo = 17;
double rate_eos_single = 18;
double rate_eos_combo = 19;
double rate_bogglepowerball_single = 20;
double rate_bogglepowerball_combo = 21;
}
string id = 1;
optional string site_id = 2;
optional string member_level_id = 3;
optional string mobile_phone_number = 4;
optional BankAccount bank_account = 5;
optional GameSetting game_setting = 6;
optional SettlementSetting settlement_setting = 7;
}
message UpdateMemberResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberForPasswordRequest {
string id = 1;
string password = 2;
}
message UpdateMemberForPasswordResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberForStateRequest {
string id = 1;
bet.beteran.member.MemberState state = 2;
}
message UpdateMemberForStateResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberRequest {
string id = 1;
}
message DeleteMemberResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,77 @@
syntax = "proto3";
package bet.beteran.c2se.member_balance;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_balance.proto";
message CreateMemberBalanceRequest {
string member_id = 1;
}
message CreateMemberBalanceResponse {
message Result {
bet.beteran.member_balance.MemberBalance member_balance = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberBalancesRequest {
message Search {
optional string member_id = 1;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberBalancesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_balance.MemberBalance member_balances = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberBalanceRequest {
string id = 1;
}
message GetMemberBalanceResponse {
message Result {
bet.beteran.member_balance.MemberBalance member_balance = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberBalanceRequest {
string id = 1;
double balance = 2;
double balance_bota = 3;
double balance_sum = 4;
}
message UpdateMemberBalanceResponse {
message Result {
bet.beteran.member_balance.MemberBalance member_balance = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberBalanceRequest {
string id = 1;
}
message DeleteMemberBalanceResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,102 @@
syntax = "proto3";
package bet.beteran.c2se.member_bank_account;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_bank_account.proto";
message CreateMemberBankAccountRequest {
string member_id = 1;
string bank_id = 2;
string name = 3;
string account_number = 4;
string exchange_password = 5;
optional string memo = 6;
}
message CreateMemberBankAccountResponse {
message Result {
bet.beteran.member_bank_account.MemberBankAccount member_bank_account = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberBankAccountsRequest {
message Search {
optional string member_id = 1;
optional string bank_id = 2;
optional string name_like = 3;
optional string account_number_like = 4;
optional string memo_like = 5;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberBankAccountsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_bank_account.MemberBankAccount member_bank_accounts = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberBankAccountRequest {
string id = 1;
}
message GetMemberBankAccountResponse {
message Result {
bet.beteran.member_bank_account.MemberBankAccount member_bank_account = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberBankAccountRequest {
string id = 1;
string bank_id = 2;
string name = 3;
string account_number = 4;
optional string memo = 5;
}
message UpdateMemberBankAccountResponse {
message Result {
bet.beteran.member_bank_account.MemberBankAccount member_bank_account = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberBankAccountForExchangePasswordRequest {
string id = 1;
string exchange_password = 2;
}
message UpdateMemberBankAccountForExchangePasswordResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberBankAccountRequest {
string id = 1;
}
message DeleteMemberBankAccountResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,96 @@
syntax = "proto3";
package bet.beteran.c2se.member_bank_deposit;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_bank_deposit.proto";
message CreateMemberBankDepositRequest {
string name = 1;
double amount = 2;
optional string memo = 3;
}
message CreateMemberBankDepositResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberBankDepositsRequest {
message Search {
optional string member_id = 1;
optional string name_like = 2;
optional double amount = 3;
optional string memo_like = 4;
optional bet.beteran.member_bank_deposit.MemberBankDepositState state = 5;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberBankDepositsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposits = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberBankDepositRequest {
string id = 1;
}
message GetMemberBankDepositResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberBankDepositRequest {
string id = 1;
string name = 3;
double amount = 5;
optional string memo = 7;
}
message UpdateMemberBankDepositResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberBankDepositForStateRequest {
string id = 1;
bet.beteran.member_bank_deposit.MemberBankDepositState state = 2;
}
message UpdateMemberBankDepositForStateResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberBankDepositRequest {
string id = 1;
}
message DeleteMemberBankDepositResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,103 @@
syntax = "proto3";
package bet.beteran.c2se.member_bank_withdraw;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_bank_withdraw.proto";
message CreateMemberBankWithdrawRequest {
string bank_name = 1;
string name = 2;
string account_number = 3;
double amount = 4;
string password = 5;
optional string memo = 6;
}
message CreateMemberBankWithdrawResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberBankWithdrawsRequest {
message Search {
optional string member_id = 1;
optional string bank_name_like = 2;
optional string name_like = 3;
optional string account_number_like = 4;
optional double amount = 5;
optional string memo_like = 6;
optional bet.beteran.member_bank_withdraw.MemberBankWithdrawState state = 7;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberBankWithdrawsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraws = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberBankWithdrawRequest {
string id = 1;
}
message GetMemberBankWithdrawResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberBankWithdrawRequest {
string id = 1;
string bank_name = 2;
string name = 3;
string account_number = 4;
double amount = 5;
string password = 6;
optional string memo = 7;
}
message UpdateMemberBankWithdrawResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberBankWithdrawForStateRequest {
string id = 1;
bet.beteran.member_bank_withdraw.MemberBankWithdrawState state = 2;
}
message UpdateMemberBankWithdrawForStateResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberBankWithdrawRequest {
string id = 1;
}
message DeleteMemberBankWithdrawResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,78 @@
syntax = "proto3";
package bet.beteran.c2se.member_class;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_class.proto";
message CreateMemberClassRequest {
optional string parent_id = 1;
string name = 2;
bool show = 3;
}
message CreateMemberClassResponse {
message Result {
bet.beteran.member_class.MemberClass member_class = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberClassesRequest {
message Search {
optional string name_like = 1;
optional bool show = 2;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberClassesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_class.MemberClass member_classes = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberClassRequest {
string id = 1;
}
message GetMemberClassResponse {
message Result {
bet.beteran.member_class.MemberClass member_class = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberClassRequest {
string id = 1;
optional string parent_id = 2;
string name = 3;
bool show = 4;
}
message UpdateMemberClassResponse {
message Result {
bet.beteran.member_class.MemberClass member_class = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberClassRequest {
string id = 1;
}
message DeleteMemberClassResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,86 @@
syntax = "proto3";
package bet.beteran.c2se.member_game_setting;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_game_setting.proto";
message CreateMemberGameSettingRequest {
string member_id = 1;
bool can_bet_casino = 2;
bool can_bet_slot = 3;
bool can_bet_powerball = 4;
bool can_bet_powerladder = 5;
bool can_bet_eos = 6;
bool can_bet_bogglepowerball = 7;
}
message CreateMemberGameSettingResponse {
message Result {
bet.beteran.member_game_setting.MemberGameSetting member_game_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberGameSettingsRequest {
message Search {
optional string member_id = 1;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberGameSettingsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_game_setting.MemberGameSetting member_game_settings = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberGameSettingRequest {
string id = 1;
}
message GetMemberGameSettingResponse {
message Result {
bet.beteran.member_game_setting.MemberGameSetting member_game_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberGameSettingRequest {
string id = 1;
bool can_bet_casino = 2;
bool can_bet_slot = 3;
bool can_bet_powerball = 4;
bool can_bet_powerladder = 5;
bool can_bet_eos = 6;
bool can_bet_bogglepowerball = 7;
}
message UpdateMemberGameSettingResponse {
message Result {
bet.beteran.member_game_setting.MemberGameSetting member_game_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberGameSettingRequest {
string id = 1;
}
message DeleteMemberGameSettingResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,78 @@
syntax = "proto3";
package bet.beteran.c2se.member_level;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_level.proto";
message CreateMemberLevelRequest {
string name = 1;
bool show = 2;
uint32 sort_order = 3;
}
message CreateMemberLevelResponse {
message Result {
bet.beteran.member_level.MemberLevel member_level = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberLevelsRequest {
message Search {
optional string name_like = 1;
optional bool show = 2;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberLevelsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_level.MemberLevel member_levels = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberLevelRequest {
string id = 1;
}
message GetMemberLevelResponse {
message Result {
bet.beteran.member_level.MemberLevel member_level = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberLevelRequest {
string id = 1;
string name = 2;
bool show = 3;
uint32 sort_order = 4;
}
message UpdateMemberLevelResponse {
message Result {
bet.beteran.member_level.MemberLevel member_level = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberLevelRequest {
string id = 1;
}
message DeleteMemberLevelResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,114 @@
syntax = "proto3";
package bet.beteran.c2se.member_referrer;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_referrer.proto";
message CreateMemberReferrerRequest {
string member_id = 1;
}
message CreateMemberReferrerResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message CreateMemberReferrersRequest {
repeated string member_ids = 1;
}
message CreateMemberReferrersResponse {
message Result {
repeated bet.beteran.member_referrer.MemberReferrerModel member_referrers = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberReferrersRequest {
message Search {
optional string member_id = 1;
optional bool can_use = 2;
optional string memo_like = 3;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberReferrersResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_referrer.MemberReferrerModel member_referrers = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberReferrerRequest {
string id = 1;
}
message GetMemberReferrerResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberReferrerByCodeRequest {
string code = 1;
}
message GetMemberReferrerByCodeResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberReferrerRequest {
string id = 1;
bool can_use = 2;
optional string memo = 3;
}
message UpdateMemberReferrerResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberReferrerRequest {
string id = 1;
}
message DeleteMemberReferrerResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberReferrersRequest {
repeated string ids = 1;
}
message DeleteMemberReferrersResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,114 @@
syntax = "proto3";
package bet.beteran.c2se.member_settlement_setting;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_settlement_setting.proto";
message CreateMemberSettlementSettingRequest {
string member_id = 1;
bool can_exchange = 2;
bool can_first_charge_comp = 3;
bool can_per_charge_comp = 4;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 5;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 6;
double rate_casino = 7;
double rate_casino_loosing = 8;
double rate_casino_bacara = 9;
double rate_casino_roulette = 10;
double rate_casino_dragon_tiger = 11;
double rate_slot = 12;
double rate_slot_loosing = 13;
double rate_powerball_single = 14;
double rate_powerball_combo = 15;
double rate_powerladder_single = 16;
double rate_powerladder_combo = 17;
double rate_eos_single = 18;
double rate_eos_combo = 19;
double rate_bogglepowerball_single = 20;
double rate_bogglepowerball_combo = 21;
}
message CreateMemberSettlementSettingResponse {
message Result {
bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListMemberSettlementSettingsRequest {
message Search {
optional string member_id = 1;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListMemberSettlementSettingsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_settings = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberSettlementSettingRequest {
string id = 1;
}
message GetMemberSettlementSettingResponse {
message Result {
bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateMemberSettlementSettingRequest {
string id = 1;
bool can_exchange = 2;
bool can_first_charge_comp = 3;
bool can_per_charge_comp = 4;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 5;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 6;
double rate_casino = 7;
double rate_casino_loosing = 8;
double rate_casino_bacara = 9;
double rate_casino_roulette = 10;
double rate_casino_dragon_tiger = 11;
double rate_slot = 12;
double rate_slot_loosing = 13;
double rate_powerball_single = 14;
double rate_powerball_combo = 15;
double rate_powerladder_single = 16;
double rate_powerladder_combo = 17;
double rate_eos_single = 18;
double rate_eos_combo = 19;
double rate_bogglepowerball_single = 20;
double rate_bogglepowerball_combo = 21;
}
message UpdateMemberSettlementSettingResponse {
message Result {
bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteMemberSettlementSettingRequest {
string id = 1;
}
message DeleteMemberSettlementSettingResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

90
proto/c2se/site.proto Normal file
View File

@ -0,0 +1,90 @@
syntax = "proto3";
package bet.beteran.c2se.site;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/site.proto";
message CreateSiteRequest {
string url = 1;
optional string name = 2;
optional string path = 3;
bool show = 4;
bool can_use = 5;
optional string memo = 6;
optional uint64 expires_at = 7;
}
message CreateSiteResponse {
message Result {
bet.beteran.site.Site site = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message ListSitesRequest {
message Search {
optional string url_like = 1;
optional string name_like = 2;
optional string path_like = 3;
optional bool show = 4;
optional bool can_use = 5;
optional string memo_like = 6;
}
optional bet.protobuf.pagination.Pagination pagination = 1;
repeated bet.protobuf.pagination.Sort sorts = 2;
optional Search search = 3;
}
message ListSitesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.site.Site sites = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetSiteRequest {
string id = 1;
}
message GetSiteResponse {
message Result {
bet.beteran.site.Site site = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message UpdateSiteRequest {
string id = 1;
string url = 2;
optional string name = 3;
optional string path = 4;
bool show = 5;
bool can_use = 6;
optional string memo = 7;
optional uint64 expires_at = 8;
}
message UpdateSiteResponse {
message Result {
bet.beteran.site.Site site = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message DeleteSiteRequest {
string id = 1;
}
message DeleteSiteResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,61 @@
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;
optional string group_key = 12;
optional string detail = 13;
bool is_bonus = 14;
bool is_promo = 15;
bool is_jackpot = 16;
string site_username = 17;
string key = 18;
string ref_id = 19;
string o_ref_id = 20;
string betting_type = 21;
string category = 22;
uint64 created_at = 23;
uint64 utc_created_at = 24;
}
message BettingHistoryModel {
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;
optional string group_key = 12;
optional string detail = 13;
bool is_bonus = 14;
bool is_promo = 15;
bool is_jackpot = 16;
string site_username = 17;
string key = 18;
string ref_id = 19;
string o_ref_id = 20;
string betting_type = 21;
string category = 22;
uint64 created_at = 23;
uint64 utc_created_at = 24;
bet.beteran.member.MemberModel member = 25;
}

View File

@ -0,0 +1,16 @@
syntax = "proto3";
package bet.beteran.api.game;
message Game {
uint64 id = 1;
uint64 parent_id = 2;
string key = 3;
string names = 4;
string platform = 5;
string category = 6;
string game_type = 7;
optional string image = 8;
uint64 created_at = 9;
uint64 updated_at = 10;
}

View File

@ -0,0 +1,18 @@
syntax = "proto3";
package bet.beteran.api.vendor;
message Vendor {
uint64 id = 1;
uint64 company_id = 2;
uint64 vendor_id = 3;
string key = 4;
string name = 5;
string category = 6;
double max_bet_casino = 7;
double max_bet_slot = 8;
string is_enable = 9;
uint64 bet_count = 10;
uint64 created_at = 11;
uint64 updated_at = 12;
}

14
proto/models/bank.proto Normal file
View File

@ -0,0 +1,14 @@
syntax = "proto3";
package bet.beteran.bank;
message Bank {
string id = 1;
string name = 2;
uint32 sort_order = 3;
bool show = 4;
bool can_use = 5;
optional string memo = 6;
uint64 created_at = 7;
uint64 updated_at = 8;
}

View File

@ -0,0 +1,9 @@
syntax = "proto3";
package bet.beteran.core.network;
message Client {
string client_ip = 1;
optional string site_url = 2;
optional string access_token = 3;
}

67
proto/models/member.proto Normal file
View File

@ -0,0 +1,67 @@
syntax = "proto3";
package bet.beteran.member;
import "models/site.proto";
import "models/member_bank_account.proto";
import "models/member_class.proto";
import "models/member_level.proto";
import "models/member_game_setting.proto";
import "models/member_settlement_setting.proto";
import "models/member_balance.proto";
enum MemberState {
NONE = 0;
NORMAL = 1;
PENDING = 2;
WITHDRAWAL = 3;
DORMANCY = 4;
BLACKLIST = 5;
SUSPENDED = 6;
}
message Member {
string id = 1;
string site_id = 2;
string member_class_id = 3;
string member_level_id = 4;
optional string parent_member_id = 5;
uint64 child_member_count = 6;
string username = 7;
string nickname = 8;
optional string mobile_phone_number = 9;
MemberState state = 10;
optional uint64 state_changed_at = 11;
optional string last_signined_ip = 12;
optional uint64 last_signined_at = 13;
uint64 created_at = 14;
uint64 updated_at = 15;
optional uint64 deleted_at = 16;
}
message MemberModel {
string id = 1;
bet.beteran.site.Site site = 2;
bet.beteran.member_class.MemberClass member_class = 3;
bet.beteran.member_level.MemberLevel member_level = 4;
optional bet.beteran.member_bank_account.MemberBankAccountModel bank_account = 5;
optional MemberModel parent_member = 6;
uint64 child_member_count = 7;
repeated uint64 children_count = 8;
string username = 9;
string nickname = 10;
optional string mobile_phone_number = 11;
MemberState state = 12;
optional uint64 state_changed_at = 13;
optional bet.beteran.member_game_setting.MemberGameSetting member_game_setting = 14;
optional bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_setting = 15;
optional bet.beteran.member_balance.MemberBalance member_balance = 16;
optional string last_signined_ip = 17;
optional uint64 last_signined_at = 18;
uint64 created_at = 19;
uint64 updated_at = 20;
optional uint64 deleted_at = 21;
}

View File

@ -0,0 +1,13 @@
syntax = "proto3";
package bet.beteran.member_balance;
message MemberBalance {
string id = 1;
string member_id = 2;
double balance = 3;
double balance_bota = 4;
double balance_sum = 5;
uint64 created_at = 6;
uint64 updated_at = 7;
}

View File

@ -0,0 +1,29 @@
syntax = "proto3";
package bet.beteran.member_bank_account;
import "models/bank.proto";
message MemberBankAccount {
string id = 1;
string member_id = 2;
string bank_id = 3;
string name = 4;
string account_number = 5;
string exchange_password = 6;
optional string memo = 7;
uint64 created_at = 8;
uint64 updated_at = 9;
}
message MemberBankAccountModel {
string id = 1;
string member_id = 2;
bet.beteran.bank.Bank bank = 3;
string name = 4;
string account_number = 5;
string exchange_password = 6;
optional string memo = 7;
uint64 created_at = 8;
uint64 updated_at = 9;
}

View File

@ -0,0 +1,37 @@
syntax = "proto3";
package bet.beteran.member_bank_deposit;
import "models/member.proto";
enum MemberBankDepositState {
NONE = 0;
APPLICATION = 1;
PENDING = 2;
COMPLETE = 3;
}
message MemberBankDeposit {
string id = 1;
string member_id = 2;
string name = 3;
double amount = 4;
optional string memo = 5;
MemberBankDepositState state = 6;
uint64 state_changed_at = 7;
uint64 created_at = 8;
uint64 updated_at = 9;
}
message MemberBankDepositModel {
string id = 1;
bet.beteran.member.Member member = 2;
string name = 3;
double amount = 4;
optional string memo = 5;
MemberBankDepositState state = 6;
uint64 state_changed_at = 7;
uint64 created_at = 8;
uint64 updated_at = 9;
}

View File

@ -0,0 +1,43 @@
syntax = "proto3";
package bet.beteran.member_bank_withdraw;
import "models/member.proto";
enum MemberBankWithdrawState {
NONE = 0;
APPLICATION = 1;
PENDING = 2;
COMPLETE = 3;
}
message MemberBankWithdraw {
string id = 1;
string member_id = 2;
string bank_name = 3;
string name = 4;
string account_number = 5;
double amount = 6;
string password = 7;
optional string memo = 8;
MemberBankWithdrawState state = 9;
uint64 state_changed_at = 10;
uint64 created_at = 11;
uint64 updated_at = 12;
}
message MemberBankWithdrawModel {
string id = 1;
bet.beteran.member.Member member = 2;
string bank_name = 3;
string name = 4;
string account_number = 5;
double amount = 6;
string password = 7;
optional string memo = 8;
MemberBankWithdrawState state = 9;
uint64 state_changed_at = 10;
uint64 created_at = 11;
uint64 updated_at = 12;
}

View File

@ -0,0 +1,12 @@
syntax = "proto3";
package bet.beteran.member_class;
message MemberClass {
string id = 1;
optional string parent_id = 2;
string name = 3;
bool show = 4;
uint64 created_at = 5;
uint64 updated_at = 6;
}

View File

@ -0,0 +1,17 @@
syntax = "proto3";
package bet.beteran.member_game_setting;
message MemberGameSetting {
string id = 1;
string member_id = 2;
bool can_bet_casino = 3;
bool can_bet_slot = 4;
bool can_bet_powerball = 5;
bool can_bet_powerladder = 6;
bool can_bet_eos = 7;
bool can_bet_bogglepowerball = 8;
uint64 created_at = 9;
uint64 updated_at = 10;
}

View File

@ -0,0 +1,12 @@
syntax = "proto3";
package bet.beteran.member_level;
message MemberLevel {
string id = 1;
string name = 2;
bool show = 3;
uint32 sort_order = 4;
uint64 created_at = 5;
uint64 updated_at = 6;
}

View File

@ -0,0 +1,3 @@
syntax = "proto3";
package bet.beteran.member_permission;

View File

@ -0,0 +1,23 @@
syntax = "proto3";
package bet.beteran.member_referrer;
import "models/member.proto";
message MemberReferrer {
string id = 1;
string member_id = 2;
bool can_use = 3;
optional string memo = 4;
uint64 created_at = 5;
uint64 updated_at = 6;
}
message MemberReferrerModel {
string id = 1;
bet.beteran.member.Member member = 2;
bool can_use = 3;
optional string memo = 4;
uint64 created_at = 5;
uint64 updated_at = 6;
}

View File

@ -0,0 +1,3 @@
syntax = "proto3";
package bet.beteran.member_role;

View File

@ -0,0 +1,14 @@
syntax = "proto3";
package bet.beteran.member_session;
import "models/member.proto";
message MemberSession {
string id = 1;
string member_id = 2;
string ip = 3;
uint64 last_accessed_at = 4;
uint64 expires_at = 5;
uint64 created_at = 6;
}

View File

@ -0,0 +1,43 @@
syntax = "proto3";
package bet.beteran.member_settlement_setting;
enum SettlementType {
ST_NONE = 0;
ROLLING = 1;
LOOSING = 2;
}
enum ManualPaymentType {
MPT_NONE = 0;
DISABLE = 1;
ALL_CHILD_PARTNER = 2;
ONLY_DIRECT_PARTNER = 3;
}
message MemberSettlementSetting {
string id = 1;
string member_id = 2;
bool can_exchange = 3;
bool can_first_charge_comp = 4;
bool can_per_charge_comp = 5;
SettlementType settlement_type = 6;
ManualPaymentType manual_payment_type_for_partner = 7;
double rate_casino = 8;
double rate_casino_loosing = 9;
double rate_casino_bacara = 10;
double rate_casino_roulette = 11;
double rate_casino_dragon_tiger = 12;
double rate_slot = 13;
double rate_slot_loosing = 14;
double rate_powerball_single = 15;
double rate_powerball_combo = 16;
double rate_powerladder_single = 17;
double rate_powerladder_combo = 18;
double rate_eos_single = 19;
double rate_eos_combo = 20;
double rate_bogglepowerball_single = 21;
double rate_bogglepowerball_combo = 22;
uint64 created_at = 23;
uint64 updated_at = 24;
}

View File

@ -0,0 +1,14 @@
syntax = "proto3";
package bet.beteran.resource;
message Resource {
string id = 1;
Resource parent = 2;
string name = 3;
string key = 4;
string description = 5;
bool can_use = 6;
uint64 created_at = 7;
uint64 updated_at = 8;
}

View File

@ -0,0 +1,16 @@
syntax = "proto3";
package bet.beteran.resource_action;
import "models/resource.proto";
message ResourceAction {
string id = 1;
bet.beteran.resource.Resource resource = 2;
string name = 3;
string key = 4;
string description = 5;
bool can_use = 6;
uint64 created_at = 7;
uint64 updated_at = 8;
}

14
proto/models/role.proto Normal file
View File

@ -0,0 +1,14 @@
syntax = "proto3";
package bet.beteran.role;
message Role {
string id = 1;
Role parent = 2;
string name = 3;
string key = 4;
string description = 5;
bool can_use = 6;
uint64 created_at = 7;
uint64 updated_at = 8;
}

16
proto/models/site.proto Normal file
View File

@ -0,0 +1,16 @@
syntax = "proto3";
package bet.beteran.site;
message Site {
string id = 1;
string url = 2;
optional string name = 3;
optional string path = 4;
bool show = 5;
bool can_use = 6;
optional string memo = 7;
optional uint64 expires_at = 8;
uint64 created_at = 9;
uint64 updated_at = 10;
}

View File

@ -0,0 +1,26 @@
syntax = "proto3";
package bet.protobuf.pagination;
option csharp_namespace = "Bet.Protobuf.Pagination";
option cc_enable_arenas = true;
option java_package = "com.bet.protobuf.pagination";
option java_outer_classname = "PaginationProto";
option java_multiple_files = true;
option objc_class_prefix = "BetPagination";
option go_package = "bet.com/protobuf/pagination";
message Pagination {
optional uint32 page = 1;
optional uint32 page_size = 2;
}
enum SortOrder {
ASC = 0;
DESC = 1;
}
message Sort {
string by = 1;
SortOrder order = 2;
}

39
proto/protobuf/rpc.proto Normal file
View File

@ -0,0 +1,39 @@
syntax = "proto3";
package bet.protobuf.rpc;
option csharp_namespace = "Bet.Protobuf.Rpc";
option cc_enable_arenas = true;
option java_package = "com.bet.protobuf.rpc";
option java_outer_classname = "RpcProto";
option java_multiple_files = true;
option objc_class_prefix = "BetRpc";
option go_package = "bet.com/protobuf/rpc";
message Error {
int32 code = 1;
string message = 2;
optional bytes data = 3;
}
enum InvalidParamsType {
NONE = 0;
DATE_TIME = 1;
DECIMAL = 2;
EQUALS_TO = 3;
FLOAT = 4;
INTEGER = 5;
RANGE = 6;
REG_EX = 7;
REQUIRED = 8;
STRING_LENGTH = 9;
URL = 10;
}
message InvalidParamsDetail {
string location = 1;
string param = 2;
string value = 3;
InvalidParamsType error_type = 4;
string message = 5;
}

View File

View File

View File

@ -0,0 +1,64 @@
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;
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;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message ListBettingHistoryResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.api.betting.BettingHistory betting_history = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

58
proto/ss/api/game.proto Normal file
View File

@ -0,0 +1,58 @@
syntax = "proto3";
package bet.beteran.ss.api.game;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/core/network.proto";
import "models/api/game.proto";
// subject = bet.beteran.ss.api.game.ListGames
message ListGamesRequest {
message Request {
message Search {
optional uint64 parent_id = 1;
optional string key_like = 2;
optional string platform_like = 3;
optional string category_like = 4;
optional string game_type_like = 5;
}
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 ListGamesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.api.game.Game games = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.api.game.GetGameUrl
message GetGameUrlRequest {
message Request {
string vendor_key = 1;
string game_key = 2;
string member_id = 3;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetGameUrlResponse {
message Result {
uint64 user_id = 1;
double balance = 2;
string url = 3;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

38
proto/ss/api/vendor.proto Normal file
View File

@ -0,0 +1,38 @@
syntax = "proto3";
package bet.beteran.ss.api.vendor;
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/core/network.proto";
import "models/api/vendor.proto";
// subject = bet.beteran.ss.api.vendor.ListVendors
message ListVendorsRequest {
message Request {
message Search {
optional uint64 company_id = 1;
optional uint64 vendor_id = 2;
optional string key_like = 3;
optional string name_like = 4;
optional string category_like = 5;
optional string is_enable = 6;
}
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 ListVendorsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.api.vendor.Vendor vendors = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

114
proto/ss/bank.proto Normal file
View File

@ -0,0 +1,114 @@
syntax = "proto3";
package bet.beteran.ss.bank;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/bank.proto";
// subject = bet.beteran.ss.bank.CreateBank;
message CreateBankRequest {
message Request {
string name = 1;
uint32 sort_order = 2;
bool show = 3;
bool can_use = 4;
optional string memo = 5;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateBankResponse {
message Result {
bet.beteran.bank.Bank bank = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.bank.ListBanks;
message ListBanksRequest {
message Request {
message Search {
optional string name_like = 1;
optional bool show = 2;
optional bool can_use = 3;
optional string memo_like = 4;
}
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 ListBanksResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.bank.Bank banks = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.bank.GetBank
message GetBankRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetBankResponse {
message Result {
bet.beteran.bank.Bank bank = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.bank.UpdateBank
message UpdateBankRequest {
message Request {
string id = 1;
string name = 2;
uint32 sort_order = 3;
bool show = 4;
bool can_use = 5;
optional string memo = 6;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateBankResponse {
message Result {
bet.beteran.bank.Bank bank = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.bank.DeleteBank
message DeleteBankRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteBankResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

118
proto/ss/identity.proto Normal file
View File

@ -0,0 +1,118 @@
syntax = "proto3";
package bet.beteran.ss.identity;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "models/member.proto";
// subject = bet.beteran.ss.identity.CheckUsernameForDuplication;
message CheckUsernameForDuplicationRequest {
message Request {
string username = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CheckUsernameForDuplicationResponse {
message Result {
bool duplicated = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.identity.CheckNicknameForDuplication;
message CheckNicknameForDuplicationRequest {
message Request {
string nickname = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CheckNicknameForDuplicationResponse {
message Result {
bool duplicated = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.identity.Captcha
message CaptchaRequest {
message Request {
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CaptchaResponse {
message Result {
string security_code_hash = 1;
string image = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.identity.Signin
message SigninRequest {
message Request {
string security_code_hash = 1;
string security_code = 2;
string username = 3;
string password = 4;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message SigninResponse {
message Result {
string access_token = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.identity.SigninWithoutSecurityCode
message SigninWithoutSecurityCodeRequest {
message Request {
string username = 1;
string password = 2;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message SigninWithoutSecurityCodeResponse {
message Result {
string access_token = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss_event.identity.AfterSignin
message AfterSigninEvent {
message Event {
bet.beteran.member.Member member = 1;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}
// subject = bet.beteran.ss_event.identity.AfterSignout
message AfterSignoutEvent {
message Event {
bet.beteran.member.Member member = 1;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}

322
proto/ss/member.proto Normal file
View File

@ -0,0 +1,322 @@
syntax = "proto3";
package bet.beteran.ss.member;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member.proto";
import "models/member_settlement_setting.proto";
// subject = bet.beteran.ss.member.CreateMember
message CreateMemberRequest {
message Request {
message BankAccount {
string bank_id = 1;
string name = 2;
string account_number = 3;
string exchange_password = 4;
}
message GameSetting {
bool can_bet_casino = 1;
bool can_bet_slot = 2;
bool can_bet_powerball = 3;
bool can_bet_powerladder = 4;
bool can_bet_eos = 5;
bool can_bet_bogglepowerball = 6;
}
message SettlementSetting {
bool can_exchange = 1;
bool can_first_charge_comp = 2;
bool can_per_charge_comp = 3;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 4;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 5;
double rate_casino = 6;
double rate_casino_loosing = 7;
double rate_casino_bacara = 8;
double rate_casino_roulette = 9;
double rate_casino_dragon_tiger = 10;
double rate_slot = 11;
double rate_slot_loosing = 12;
double rate_powerball_single = 13;
double rate_powerball_combo = 14;
double rate_powerladder_single = 15;
double rate_powerladder_combo = 16;
double rate_eos_single = 17;
double rate_eos_combo = 18;
double rate_bogglepowerball_single = 19;
double rate_bogglepowerball_combo = 20;
}
string site_id = 1;
string member_class_id = 2;
string member_level_id = 3;
optional string referrer_member_username = 4;
string username = 5;
string password = 6;
string nickname = 7;
optional string mobile_phone_number = 8;
optional BankAccount bank_account = 9;
optional GameSetting game_setting = 10;
optional SettlementSetting settlement_setting = 11;
bet.beteran.member.MemberState state = 12;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.ListMembers
message ListMembersRequest {
message Request {
message Search {
optional string site_id = 1;
optional string member_class_id = 2;
optional string member_level_id = 3;
optional string parent_member_id = 4;
optional string username = 5;
repeated string usernames = 6;
optional string username_like = 7;
optional string nickname = 8;
repeated string nicknames = 9;
optional string nickname_like = 10;
optional string mobile_phone_number_like = 11;
optional string last_signined_ip = 12;
optional bet.beteran.member.MemberState state = 13;
optional uint64 deleted_at = 14;
}
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 ListMembersResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member.MemberModel members = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.GetMember
message GetMemberRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.GetMemberByUsername
message GetMemberByUsernameRequest {
message Request {
string username = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberByUsernameResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.GetMemberB
message GetMemberBRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberBResponse {
message Result {
bet.beteran.member.Member member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.GetMemberBByUsername
message GetMemberBByUsernameRequest {
message Request {
string username = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberBByUsernameResponse {
message Result {
bet.beteran.member.Member member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.UpdateMember
message UpdateMemberRequest {
message Request {
message BankAccount {
string id = 1;
string bank_id = 2;
string name = 3;
string account_number = 4;
optional string memo = 5;
}
message GameSetting {
string id = 1;
bool can_bet_casino = 2;
bool can_bet_slot = 3;
bool can_bet_powerball = 4;
bool can_bet_powerladder = 5;
bool can_bet_eos = 6;
bool can_bet_bogglepowerball = 7;
}
message SettlementSetting {
string id = 1;
bool can_exchange = 2;
bool can_first_charge_comp = 3;
bool can_per_charge_comp = 4;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 5;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 6;
double rate_casino = 7;
double rate_casino_loosing = 8;
double rate_casino_bacara = 9;
double rate_casino_roulette = 10;
double rate_casino_dragon_tiger = 11;
double rate_slot = 12;
double rate_slot_loosing = 13;
double rate_powerball_single = 14;
double rate_powerball_combo = 15;
double rate_powerladder_single = 16;
double rate_powerladder_combo = 17;
double rate_eos_single = 18;
double rate_eos_combo = 19;
double rate_bogglepowerball_single = 20;
double rate_bogglepowerball_combo = 21;
}
string id = 1;
optional string site_id = 2;
optional string member_level_id = 3;
optional string mobile_phone_number = 4;
optional BankAccount bank_account = 5;
optional GameSetting game_setting = 6;
optional SettlementSetting settlement_setting = 7;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.UpdateMemberForPassword
message UpdateMemberForPasswordRequest {
message Request {
string id = 1;
string password = 2;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberForPasswordResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.UpdateMemberForState
message UpdateMemberForStateRequest {
message Request {
string id = 1;
bet.beteran.member.MemberState state = 2;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberForStateResponse {
message Result {
bet.beteran.member.MemberModel member = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member.DeleteMember
message DeleteMemberRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss_event.member.AfterCreateMember
message AfterCreateMemberEvent {
message Event {
bet.beteran.member.MemberModel member = 1;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}
// subject = bet.beteran.ss_event.member.AfterUpdateMember
message AfterUpdateMemberEvent {
message Event {
bet.beteran.member.MemberModel member = 1;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}
// subject = bet.beteran.ss_event.member.AfterDeleteMember
message AfterDeleteMemberEvent {
message Event {
bet.beteran.member.MemberModel member = 1;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}

View File

@ -0,0 +1,115 @@
syntax = "proto3";
package bet.beteran.ss.member_balance;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_balance.proto";
// subject = bet.beteran.ss.member_balance.CreateMemberBalance
message CreateMemberBalanceRequest {
message Request {
string member_id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberBalanceResponse {
message Result {
bet.beteran.member_balance.MemberBalance member_balance = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_balance.ListMemberBalances
message ListMemberBalancesRequest {
message Request {
message Search {
optional string member_id = 1;
}
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 ListMemberBalancesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_balance.MemberBalance member_balances = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_balance.GetMemberBalance
message GetMemberBalanceRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberBalanceResponse {
message Result {
bet.beteran.member_balance.MemberBalance member_balance = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_balance.UpdateMemberBalance
message UpdateMemberBalanceRequest {
message Request {
string id = 1;
double balance = 2;
double balance_bota = 3;
double balance_sum = 4;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberBalanceResponse {
message Result {
bet.beteran.member_balance.MemberBalance member_balance = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_balance.DeleteMemberBalance
message DeleteMemberBalanceRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberBalanceResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss_event.member_balance.AfterUpdateMemberBalance
message AfterUpdateMemberBalanceEvent {
message Event {
string member_id = 1;
double balance = 2;
double balance_bota = 3;
double balance_sum = 4;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}

View File

@ -0,0 +1,130 @@
syntax = "proto3";
package bet.beteran.ss.member_bank_account;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_bank_account.proto";
// subject = bet.beteran.ss.member_bank_account.CreateMemberBankAccount
message CreateMemberBankAccountRequest {
message Request {
string member_id = 1;
string bank_id = 2;
string name = 3;
string account_number = 4;
string exchange_password = 5;
optional string memo = 6;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberBankAccountResponse {
message Result {
bet.beteran.member_bank_account.MemberBankAccount member_bank_account = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_account.ListMemberBankAccounts
message ListMemberBankAccountsRequest {
message Request {
message Search {
optional string member_id = 1;
optional string bank_id = 2;
optional string name_like = 3;
optional string account_number_like = 4;
optional string memo_like = 5;
}
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 ListMemberBankAccountsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_bank_account.MemberBankAccount member_bank_accounts = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_account.GetMemberBankAccount
message GetMemberBankAccountRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberBankAccountResponse {
message Result {
bet.beteran.member_bank_account.MemberBankAccount member_bank_account = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_account.UpdateMemberBankAccount
message UpdateMemberBankAccountRequest {
message Request {
string id = 1;
string bank_id = 2;
string name = 3;
string account_number = 4;
optional string memo = 5;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberBankAccountResponse {
message Result {
bet.beteran.member_bank_account.MemberBankAccount member_bank_account = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_account.UpdateMemberBankAccountForExchangePassword
message UpdateMemberBankAccountForExchangePasswordRequest {
message Request {
string id = 1;
string exchange_password = 2;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberBankAccountForExchangePasswordResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_account.DeleteMemberBankAccount
message DeleteMemberBankAccountRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberBankAccountResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,136 @@
syntax = "proto3";
package bet.beteran.ss.member_bank_deposit;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_bank_deposit.proto";
// subject = bet.beteran.ss.member_bank_deposit.CreateMemberBankDeposit
message CreateMemberBankDepositRequest {
message Request {
string member_id = 1;
string name = 2;
double amount = 3;
optional string memo = 4;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberBankDepositResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_deposit.ListMemberBankDeposits
message ListMemberBankDepositsRequest {
message Request {
message Search {
optional string member_id = 1;
optional string name_like = 2;
optional double amount = 3;
optional string memo_like = 4;
optional bet.beteran.member_bank_deposit.MemberBankDepositState state = 5;
}
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 ListMemberBankDepositsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposits = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_deposit.GetMemberBankDeposit
message GetMemberBankDepositRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberBankDepositResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_deposit.UpdateMemberBankDeposit
message UpdateMemberBankDepositRequest {
message Request {
string id = 1;
string name = 3;
double amount = 5;
optional string memo = 7;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberBankDepositResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_deposit.UpdateMemberBankDepositForState
message UpdateMemberBankDepositForStateRequest {
message Request {
string id = 1;
bet.beteran.member_bank_deposit.MemberBankDepositState state = 2;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberBankDepositForStateResponse {
message Result {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_deposit.DeleteMemberBankDeposit
message DeleteMemberBankDepositRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberBankDepositResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss_event.member_bank_deposit.AfterUpdateMemberBankDepositForState
message AfterUpdateMemberBankDepositForState {
message Event {
bet.beteran.member_bank_deposit.MemberBankDepositModel member_bank_deposit = 1;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}

View File

@ -0,0 +1,144 @@
syntax = "proto3";
package bet.beteran.ss.member_bank_withdraw;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_bank_withdraw.proto";
// subject = bet.beteran.ss.member_bank_withdraw.CreateMemberBankWithdraw
message CreateMemberBankWithdrawRequest {
message Request {
string member_id = 1;
string bank_name = 2;
string name = 3;
string account_number = 4;
double amount = 5;
string password = 6;
optional string memo = 7;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberBankWithdrawResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_withdraw.ListMemberBankWithdraws
message ListMemberBankWithdrawsRequest {
message Request {
message Search {
optional string member_id = 1;
optional string bank_name_like = 2;
optional string name_like = 3;
optional string account_number_like = 4;
optional double amount = 5;
optional string memo_like = 6;
optional bet.beteran.member_bank_withdraw.MemberBankWithdrawState state = 7;
}
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 ListMemberBankWithdrawsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraws = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_withdraw.GetMemberBankWithdraw
message GetMemberBankWithdrawRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberBankWithdrawResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_withdraw.UpdateMemberBankWithdraw
message UpdateMemberBankWithdrawRequest {
message Request {
string id = 1;
string bank_name = 2;
string name = 3;
string account_number = 4;
double amount = 5;
string password = 6;
optional string memo = 7;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberBankWithdrawResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_withdraw.UpdateMemberBankWithdrawForState
message UpdateMemberBankWithdrawForStateRequest {
message Request {
string id = 1;
bet.beteran.member_bank_withdraw.MemberBankWithdrawState state = 2;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberBankWithdrawForStateResponse {
message Result {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_bank_withdraw.DeleteMemberBankWithdraw
message DeleteMemberBankWithdrawRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberBankWithdrawResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss_event.member_bank_withdraw.AfterUpdateMemberBankWithdrawForState
message AfterUpdateMemberBankWithdrawForState {
message Event {
bet.beteran.member_bank_withdraw.MemberBankWithdrawModel member_bank_withdraw = 1;
}
bet.beteran.core.network.Client client = 1;
Event event = 2;
}

106
proto/ss/member_class.proto Normal file
View File

@ -0,0 +1,106 @@
syntax = "proto3";
package bet.beteran.ss.member_class;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_class.proto";
// subject = bet.beteran.ss.member_class.CreateMemberClass
message CreateMemberClassRequest {
message Request {
optional string parent_id = 1;
string name = 2;
bool show = 3;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberClassResponse {
message Result {
bet.beteran.member_class.MemberClass member_class = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_class.ListMemberClasses
message ListMemberClassesRequest {
message Request {
message Search {
optional string name_like = 1;
optional bool show = 2;
}
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 ListMemberClassesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_class.MemberClass member_classes = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_class.GetMemberClass
message GetMemberClassRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberClassResponse {
message Result {
bet.beteran.member_class.MemberClass member_class = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_class.UpdateMemberClass
message UpdateMemberClassRequest {
message Request {
string id = 1;
optional string parent_id = 2;
string name = 3;
bool show = 4;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberClassResponse {
message Result {
bet.beteran.member_class.MemberClass member_class = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_class.DeleteMemberClass
message DeleteMemberClassRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberClassResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,110 @@
syntax = "proto3";
package bet.beteran.ss.member_game_setting;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_game_setting.proto";
// subject = bet.beteran.ss.member_game_setting.CreateMemberGameSetting
message CreateMemberGameSettingRequest {
message Request {
string member_id = 1;
bool can_bet_casino = 2;
bool can_bet_slot = 3;
bool can_bet_powerball = 4;
bool can_bet_powerladder = 5;
bool can_bet_eos = 6;
bool can_bet_bogglepowerball = 7;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberGameSettingResponse {
message Result {
bet.beteran.member_game_setting.MemberGameSetting member_game_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_game_setting.ListMemberGameSettings
message ListMemberGameSettingsRequest {
message Request {
message Search {
optional string member_id = 1;
}
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 ListMemberGameSettingsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_game_setting.MemberGameSetting member_game_settings = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_game_setting.GetMemberGameSetting
message GetMemberGameSettingRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberGameSettingResponse {
message Result {
bet.beteran.member_game_setting.MemberGameSetting member_game_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_game_setting.UpdateMemberGameSetting
message UpdateMemberGameSettingRequest {
message Request {
string id = 1;
bool can_bet_casino = 2;
bool can_bet_slot = 3;
bool can_bet_powerball = 4;
bool can_bet_powerladder = 5;
bool can_bet_eos = 6;
bool can_bet_bogglepowerball = 7;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberGameSettingResponse {
message Result {
bet.beteran.member_game_setting.MemberGameSetting member_game_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_game_setting.DeleteMemberGameSetting
message DeleteMemberGameSettingRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberGameSettingResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

104
proto/ss/member_level.proto Normal file
View File

@ -0,0 +1,104 @@
syntax = "proto3";
package bet.beteran.ss.member_level;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_level.proto";
// subject = bet.beteran.ss.member_level.CreateMemberLevel
message CreateMemberLevelRequest {
message Request {
string name = 1;
bool show = 2;
uint32 sort_order = 3;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberLevelResponse {
message Result {
bet.beteran.member_level.MemberLevel member_level = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_level.ListMemberLevels
message ListMemberLevelsRequest {
message Request {
message Search {
optional string name_like = 1;
optional bool show = 2;
}
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 ListMemberLevelsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_level.MemberLevel member_levels = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_level.GetMemberLevel
message GetMemberLevelRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberLevelResponse {
message Result {
bet.beteran.member_level.MemberLevel member_level = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_level.UpdateMemberLevel
message UpdateMemberLevelRequest {
message Request {
string id = 1;
string name = 2;
bool show = 3;
uint32 sort_order = 4;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberLevelResponse {
message Result {
bet.beteran.member_level.MemberLevel member_level = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_level.DeleteMemberLevel
message DeleteMemberLevelRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberLevelResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,156 @@
syntax = "proto3";
package bet.beteran.ss.member_referrer;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_referrer.proto";
// subject = bet.beteran.ss.member_referrer.CreateMemberReferrer
message CreateMemberReferrerRequest {
message Request {
string member_id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberReferrerResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_referrer.CreateMemberReferrers
message CreateMemberReferrersRequest {
message Request {
repeated string member_ids = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberReferrersResponse {
message Result {
repeated bet.beteran.member_referrer.MemberReferrerModel member_referrers = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_referrer.ListMemberReferrers
message ListMemberReferrersRequest {
message Request {
message Search {
optional string member_id = 1;
optional bool can_use = 2;
optional string memo_like = 3;
}
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 ListMemberReferrersResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_referrer.MemberReferrerModel member_referrers = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_referrer.GetMemberReferrer
message GetMemberReferrerRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberReferrerResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_referrer.GetMemberReferrerByCode
message GetMemberReferrerByCodeRequest {
message Request {
string code = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberReferrerByCodeResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_referrer.UpdateMemberReferrer
message UpdateMemberReferrerRequest {
message Request {
string id = 1;
bool can_use = 2;
optional string memo = 3;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberReferrerResponse {
message Result {
bet.beteran.member_referrer.MemberReferrerModel member_referrer = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_referrer.DeleteMemberReferrer
message DeleteMemberReferrerRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberReferrerResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_referrer.DeleteMemberReferrers
message DeleteMemberReferrersRequest {
message Request {
repeated string ids = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberReferrersResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,39 @@
syntax = "proto3";
package bet.beteran.ss.member_session;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_session.proto";
message GetMemberSessionRequest {
message Request {
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberSessionResponse {
message Result {
bet.beteran.member_session.MemberSession member_session = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
message GetMemberSessionWithRenewalRequest {
message Request {
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberSessionWithRenewalResponse {
message Result {
bet.beteran.member_session.MemberSession member_session = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

View File

@ -0,0 +1,138 @@
syntax = "proto3";
package bet.beteran.ss.member_settlement_setting;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/member_settlement_setting.proto";
// subject = bet.beteran.ss.member_settlement_setting.CreateMemberSettlementSetting
message CreateMemberSettlementSettingRequest {
message Request {
string member_id = 1;
bool can_exchange = 2;
bool can_first_charge_comp = 3;
bool can_per_charge_comp = 4;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 5;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 6;
double rate_casino = 7;
double rate_casino_loosing = 8;
double rate_casino_bacara = 9;
double rate_casino_roulette = 10;
double rate_casino_dragon_tiger = 11;
double rate_slot = 12;
double rate_slot_loosing = 13;
double rate_powerball_single = 14;
double rate_powerball_combo = 15;
double rate_powerladder_single = 16;
double rate_powerladder_combo = 17;
double rate_eos_single = 18;
double rate_eos_combo = 19;
double rate_bogglepowerball_single = 20;
double rate_bogglepowerball_combo = 21;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateMemberSettlementSettingResponse {
message Result {
bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_settlement_setting.ListMemberSettlementSettings
message ListMemberSettlementSettingsRequest {
message Request {
message Search {
optional string member_id = 1;
}
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 ListMemberSettlementSettingsResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_settings = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_settlement_setting.GetMemberSettlementSetting
message GetMemberSettlementSettingRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetMemberSettlementSettingResponse {
message Result {
bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_settlement_setting.UpdateMemberSettlementSetting
message UpdateMemberSettlementSettingRequest {
message Request {
string id = 1;
bool can_exchange = 2;
bool can_first_charge_comp = 3;
bool can_per_charge_comp = 4;
bet.beteran.member_settlement_setting.SettlementType settlement_type = 5;
bet.beteran.member_settlement_setting.ManualPaymentType manual_payment_type_for_partner = 6;
double rate_casino = 7;
double rate_casino_loosing = 8;
double rate_casino_bacara = 9;
double rate_casino_roulette = 10;
double rate_casino_dragon_tiger = 11;
double rate_slot = 12;
double rate_slot_loosing = 13;
double rate_powerball_single = 14;
double rate_powerball_combo = 15;
double rate_powerladder_single = 16;
double rate_powerladder_combo = 17;
double rate_eos_single = 18;
double rate_eos_combo = 19;
double rate_bogglepowerball_single = 20;
double rate_bogglepowerball_combo = 21;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateMemberSettlementSettingResponse {
message Result {
bet.beteran.member_settlement_setting.MemberSettlementSetting member_settlement_setting = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.member_settlement_setting.DeleteMemberSettlementSetting
message DeleteMemberSettlementSettingRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteMemberSettlementSettingResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

118
proto/ss/site.proto Normal file
View File

@ -0,0 +1,118 @@
syntax = "proto3";
package bet.beteran.ss.site;
import "models/core/network.proto";
import "protobuf/rpc.proto";
import "protobuf/pagination.proto";
import "models/site.proto";
// subject = bet.beteran.ss.site.CreateSite;
message CreateSiteRequest {
message Request {
string url = 1;
optional string name = 2;
optional string path = 3;
bool show = 4;
bool can_use = 5;
optional string memo = 6;
optional uint64 expires_at = 7;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message CreateSiteResponse {
message Result {
bet.beteran.site.Site site = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.site.ListSites;
message ListSitesRequest {
message Request {
message Search {
optional string url_like = 1;
optional string name_like = 2;
optional string path_like = 3;
optional bool show = 4;
optional bool can_use = 5;
optional string memo_like = 6;
}
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 ListSitesResponse {
message Result {
uint64 total_count = 1;
repeated bet.beteran.site.Site sites = 2;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.site.GetSite
message GetSiteRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message GetSiteResponse {
message Result {
bet.beteran.site.Site site = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.site.UpdateSite
message UpdateSiteRequest {
message Request {
string id = 1;
string url = 2;
optional string name = 3;
optional string path = 4;
bool show = 5;
bool can_use = 6;
optional string memo = 7;
optional uint64 expires_at = 8;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message UpdateSiteResponse {
message Result {
bet.beteran.site.Site site = 1;
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}
// subject = bet.beteran.ss.site.DeleteSite
message DeleteSiteRequest {
message Request {
string id = 1;
}
bet.beteran.core.network.Client client = 1;
Request request = 2;
}
message DeleteSiteResponse {
message Result {
}
optional bet.protobuf.rpc.Error error = 1;
optional Result result = 2;
}

5
src/lib.rs Normal file
View File

@ -0,0 +1,5 @@
#[cfg(test)]
mod tests {
#[test]
fn it_works() {}
}