Compare commits
45 Commits
main
...
v0.1.38-sn
Author | SHA1 | Date | |
---|---|---|---|
4480475917 | |||
9fe643031a | |||
9883277af3 | |||
56c0211617 | |||
f6beee52cb | |||
8d16032a56 | |||
acdb183c08 | |||
be2be6107e | |||
cc13112acc | |||
64c2dd0164 | |||
8b8b5f7acf | |||
f20d3aa7e1 | |||
56044e8e37 | |||
90d2fb4ae0 | |||
3e2df9d4a7 | |||
047455a888 | |||
eac2bea1e5 | |||
62cff75a51 | |||
b84e98326c | |||
ade8676551 | |||
dafa913f51 | |||
4368079dfc | |||
21ed13a3af | |||
d0e1e2cf46 | |||
40fe5e8e86 | |||
5aae301242 | |||
63748f4d80 | |||
174ba470ed | |||
e5f4b3c8c2 | |||
8b28a1b19c | |||
f220043646 | |||
ea0e9db16f | |||
578c3f8cc3 | |||
ae71cd9e1d | |||
9390008044 | |||
f8373270e9 | |||
4f52195ab1 | |||
8321416df3 | |||
a572e8f45d | |||
d65e294c42 | |||
cabe06d9b9 | |||
8616b0b9b1 | |||
89522014a0 | |||
e332e8976d | |||
610dac69a8 |
8
.devcontainer/Dockerfile
Normal file
8
.devcontainer/Dockerfile
Normal file
@ -0,0 +1,8 @@
|
||||
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.195.0/containers/rust/.devcontainer/base.Dockerfile
|
||||
# [Choice] Debian OS version (use bullseye on local arm64/Apple Silicon): buster, bullseye
|
||||
ARG VARIANT="bullseye"
|
||||
FROM mcr.microsoft.com/vscode/devcontainers/rust:1-${VARIANT}
|
||||
|
||||
# [Optional] Uncomment this section to install additional packages.
|
||||
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
# && apt-get -y install --no-install-recommends <your-package-list-here>
|
60
.devcontainer/devcontainer.json
Normal file
60
.devcontainer/devcontainer.json
Normal file
@ -0,0 +1,60 @@
|
||||
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
|
||||
// https://github.com/microsoft/vscode-dev-containers/tree/v0.195.0/containers/rust
|
||||
{
|
||||
"name": "beteran-protobuf-rust",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile",
|
||||
"args": {
|
||||
// Use the VARIANT arg to pick a Debian OS version: buster, bullseye
|
||||
// Use bullseye when on local on arm64/Apple Silicon.
|
||||
"VARIANT": "bullseye"
|
||||
}
|
||||
},
|
||||
"runArgs": [
|
||||
"--cap-add=SYS_PTRACE",
|
||||
"--security-opt",
|
||||
"seccomp=unconfined"
|
||||
],
|
||||
// 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",
|
||||
"editor.tabSize": 2,
|
||||
"editor.insertSpaces": true,
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
// Add the IDs of extensions you want installed when the container is created.
|
||||
"extensions": [
|
||||
"donjayamanne.githistory",
|
||||
"eamodio.gitlens",
|
||||
"matklad.rust-analyzer",
|
||||
"mhutchie.git-graph",
|
||||
"ms-azuretools.vscode-docker",
|
||||
"mutantdino.resourcemonitor",
|
||||
"serayuzgur.crates",
|
||||
"tamasfe.even-better-toml",
|
||||
"vadimcn.vscode-lldb"
|
||||
]
|
||||
}
|
||||
},
|
||||
// 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": "",
|
||||
// Comment out to run as root instead.
|
||||
"remoteUser": "vscode"
|
||||
}
|
7
.devcontainer/rust-toolchain.toml
Normal file
7
.devcontainer/rust-toolchain.toml
Normal file
@ -0,0 +1,7 @@
|
||||
[toolchain]
|
||||
channel = "stable"
|
||||
profile = "minimal"
|
||||
components = ["clippy", "rustfmt"]
|
||||
targets = [
|
||||
|
||||
]
|
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
.DS_Store
|
||||
/build
|
||||
|
||||
# Added by cargo
|
||||
|
||||
/target
|
||||
Cargo.lock
|
75
.rustfmt.toml
Normal file
75
.rustfmt.toml
Normal 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
|
15
Cargo.toml
Normal file
15
Cargo.toml
Normal file
@ -0,0 +1,15 @@
|
||||
[package]
|
||||
name = "beteran-protobuf-rust"
|
||||
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_rust"
|
||||
path = "./src/lib.rs"
|
||||
|
||||
[dependencies]
|
||||
prost = { version = "0" }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = { version = "1" }
|
||||
const_format = { version = "0" }
|
10
src/c2se/backend/account.rs
Normal file
10
src/c2se/backend/account.rs
Normal file
@ -0,0 +1,10 @@
|
||||
const SUBJECT: &str = "bet.beteran.c2se.backend.account";
|
||||
|
||||
pub const SUBJECT_LIST_BANKS: &str = const_format::concatcp!(SUBJECT, ".ListBanks");
|
||||
// subject = bet.beteran.c2se.backend.bank.ListBanks
|
||||
pub const SUBJECT_CREATE_BANK: &str = const_format::concatcp!(SUBJECT, ".CreateBank");
|
||||
// subject = bet.beteran.c2se.backend.bank.CreateBank
|
||||
pub const SUBJECT_UPDATE_BANK: &str = const_format::concatcp!(SUBJECT, ".UpdateBank");
|
||||
// subject = bet.beteran.c2se.backend.bank.UpdateBank
|
||||
pub const SUBJECT_DELETE_BANK: &str = const_format::concatcp!(SUBJECT, ".DeleteBank");
|
||||
// subject = bet.beteran.c2se.backend.bank.DeleteBank
|
43
src/c2se/backend/identity.rs
Normal file
43
src/c2se/backend/identity.rs
Normal file
@ -0,0 +1,43 @@
|
||||
use crate::protobuf::rpc;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.c2se.backend.identity";
|
||||
|
||||
pub const SUBJECT_CHECK_USERNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckUsernameForDuplication");
|
||||
/// subject = bet.beteran.c2se.backend.identity.CheckUsernameForDuplication;
|
||||
|
||||
pub const SUBJECT_CHECK_NICKNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckNicknameForDuplication");
|
||||
/// subject = bet.beteran.c2se.backend.identity.CheckNicknameForDuplication;
|
||||
|
||||
pub const SUBJECT_CAPTCHA: &str = const_format::concatcp!(SUBJECT, ".Captcha");
|
||||
/// subject = bet.beteran.c2se.backend.identity.Captcha
|
||||
|
||||
pub const SUBJECT_SIGNIN: &str = const_format::concatcp!(SUBJECT, ".Signin");
|
||||
/// subject = bet.beteran.c2se.backend.identity.Signin
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SigninRequest {
|
||||
#[prost(string, tag = "1")]
|
||||
pub security_code_hash: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub security_code: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "3")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "4")]
|
||||
pub password: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SigninResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<signin_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `SigninResponse`.
|
||||
pub mod signin_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(string, tag = "1")]
|
||||
pub access_token: ::prost::alloc::string::String,
|
||||
}
|
||||
}
|
199
src/c2se/backend/member.rs
Normal file
199
src/c2se/backend/member.rs
Normal file
@ -0,0 +1,199 @@
|
||||
use crate::protobuf::pagination;
|
||||
use crate::protobuf::rpc;
|
||||
use crate::models::member;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.c2se.backend.member";
|
||||
|
||||
|
||||
pub const SUBJECT_CREATE_MEMBER: &str = const_format::concatcp!(SUBJECT, ".CreateMember");
|
||||
/// subject = bet.beteran.c2se.backend.member.CreateMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateMemberRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub site_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub member_class_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="3")]
|
||||
pub member_level_id: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub referrer_member_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, tag="5")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="6")]
|
||||
pub nickname: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub mobile_phone_number: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="member::MemberState", tag="8")]
|
||||
pub state: i32,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateMemberResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<create_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CreateMemberResponse`.
|
||||
pub mod create_member_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_LIST_MEMBERS: &str = const_format::concatcp!(SUBJECT, ".ListMembers");
|
||||
/// subject = bet.beteran.c2se.backend.member.ListMembers
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListMembersRequest {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub pagination: ::core::option::Option<pagination::Pagination>,
|
||||
#[prost(message, repeated, tag = "2")]
|
||||
pub searches: ::prost::alloc::vec::Vec<pagination::Search>,
|
||||
#[prost(message, repeated, tag = "3")]
|
||||
pub sorts: ::prost::alloc::vec::Vec<pagination::Sort>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub site_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub member_class_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="6")]
|
||||
pub member_level_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub referrer_member_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="8")]
|
||||
pub username_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="9")]
|
||||
pub nickname_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="10")]
|
||||
pub mobile_phone_number_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="11")]
|
||||
pub last_signined_ip: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="member::MemberState", optional, tag="12")]
|
||||
pub state: ::core::option::Option<i32>,
|
||||
#[prost(uint64, optional, tag="13")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListMembersResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<list_members_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `ListMembersResponse`.
|
||||
pub mod list_members_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, repeated, tag = "1")]
|
||||
pub members: ::prost::alloc::vec::Vec<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_GET_MEMBER: &str = const_format::concatcp!(SUBJECT, ".GetMember");
|
||||
/// subject = bet.beteran.c2se.backend.member.GetMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberRequest {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<get_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `GetMemberResponse`.
|
||||
pub mod get_member_response {
|
||||
use crate::models::member;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
pub const SUBJECT_GET_MEMBER_BY_USERNAME: &str =
|
||||
const_format::concatcp!(SUBJECT, ".GetMemberByUsername");
|
||||
/// subject = bet.beteran.c2se.backend.member.GetMemberByUsername
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberByUsernameRequest {
|
||||
#[prost(string, tag = "1")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberByUsernameResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<get_member_by_username_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `GetMemberByUsernameResponse`.
|
||||
pub mod get_member_by_username_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_UPDATE_MEMBER: &str = const_format::concatcp!(SUBJECT, ".UpdateMember");
|
||||
/// subject = bet.beteran.c2se.backend.member.UpdateMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateMemberRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="2")]
|
||||
pub site_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub member_level_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub password: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub mobile_phone_number: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="member::MemberState", optional, tag="6")]
|
||||
pub state: ::core::option::Option<i32>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateMemberResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<update_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `UpdateMemberResponse`.
|
||||
pub mod update_member_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_DELETE_MEMBER: &str = const_format::concatcp!(SUBJECT, ".DeleteMember");
|
||||
/// subject = bet.beteran.c2se.backend.member.DeleteMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteMemberRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteMemberResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<delete_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `DeleteMemberResponse`.
|
||||
pub mod delete_member_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
}
|
||||
}
|
4
src/c2se/backend/mod.rs
Normal file
4
src/c2se/backend/mod.rs
Normal file
@ -0,0 +1,4 @@
|
||||
pub mod identity;
|
||||
pub mod member;
|
||||
pub mod site;
|
||||
pub mod account;
|
142
src/c2se/backend/site.rs
Normal file
142
src/c2se/backend/site.rs
Normal file
@ -0,0 +1,142 @@
|
||||
use crate::protobuf::pagination;
|
||||
use crate::protobuf::rpc;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.c2se.backend.site";
|
||||
|
||||
pub const SUBJECT_LIST_SITES: &str = const_format::concatcp!(SUBJECT, ".ListSites");
|
||||
/// subject = bet.beteran.c2se.backend.site.ListSites
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListSitesRequest {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub pagination: ::core::option::Option<pagination::Pagination>,
|
||||
#[prost(message, repeated, tag = "2")]
|
||||
pub searches: ::prost::alloc::vec::Vec<pagination::Search>,
|
||||
#[prost(message, repeated, tag = "3")]
|
||||
pub sorts: ::prost::alloc::vec::Vec<pagination::Sort>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub url_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub name_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="6")]
|
||||
pub path_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, optional, tag="7")]
|
||||
pub show: ::core::option::Option<bool>,
|
||||
#[prost(bool, optional, tag="8")]
|
||||
pub can_use: ::core::option::Option<bool>,
|
||||
#[prost(string, optional, tag="9")]
|
||||
pub memo_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListSitesResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<list_sites_response::Result>,
|
||||
}
|
||||
|
||||
/// Nested message and enum types in `ListSitesResponse`.
|
||||
pub mod list_sites_response {
|
||||
use crate::models::domain;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, repeated, tag = "1")]
|
||||
pub sites: ::prost::alloc::vec::Vec<domain::Site>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_CREATE_SITE: &str = const_format::concatcp!(SUBJECT, ".CreateSite");
|
||||
/// subject = bet.beteran.c2se.backend.site.CreateSite
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateSiteRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub url: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="2")]
|
||||
pub name: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub path: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, tag="4")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="5")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="6")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="7")]
|
||||
pub expires_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateSiteResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<create_site_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CreateSiteResponse`.
|
||||
pub mod create_site_response {
|
||||
use crate::models::domain;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub site: ::core::option::Option<domain::Site>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_UPDATE_SITE: &str = const_format::concatcp!(SUBJECT, ".UpdateSite");
|
||||
/// subject = bet.beteran.c2se.backend.site.UpdateSite
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateSiteRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub url: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub name: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub path: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, tag="5")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="6")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="8")]
|
||||
pub expires_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateSiteResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<update_site_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `UpdateSiteResponse`.
|
||||
pub mod update_site_response {
|
||||
use crate::models::domain;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub site: ::core::option::Option<domain::Site>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_DELETE_SITE: &str = const_format::concatcp!(SUBJECT, ".DeleteSite");
|
||||
/// subject = bet.beteran.c2se.backend.site.DeleteSite
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteSiteRequest {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteSiteResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<delete_site_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `DeleteSiteResponse`.
|
||||
pub mod delete_site_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {}
|
||||
}
|
130
src/c2se/common/bank.rs
Normal file
130
src/c2se/common/bank.rs
Normal file
@ -0,0 +1,130 @@
|
||||
use crate::protobuf::rpc;
|
||||
use crate::protobuf::pagination;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.c2se.common.bank";
|
||||
|
||||
pub const SUBJECT_CREATE_BANK: &str = const_format::concatcp!(SUBJECT, ".CreateBank");
|
||||
/// subject = bet.beteran.c2se.common.bank.CreateBank
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateBankRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag="2")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="3")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="5")]
|
||||
pub expires_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateBankResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<create_bank_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CreateBankResponse`.
|
||||
pub mod create_bank_response {
|
||||
use crate::models::account;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub bank: ::core::option::Option<account::Bank>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_LIST_BANKS: &str = const_format::concatcp!(SUBJECT, ".ListBanks");
|
||||
/// subject = bet.beteran.c2se.common.bank.ListBanks
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListBanksRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub pagination: ::core::option::Option<pagination::Pagination>,
|
||||
#[prost(message, repeated, tag="2")]
|
||||
pub searches: ::prost::alloc::vec::Vec<pagination::Search>,
|
||||
#[prost(message, repeated, tag="3")]
|
||||
pub sorts: ::prost::alloc::vec::Vec<pagination::Sort>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub name_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, optional, tag="5")]
|
||||
pub show: ::core::option::Option<bool>,
|
||||
#[prost(bool, optional, tag="6")]
|
||||
pub can_use: ::core::option::Option<bool>,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub memo_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListBanksResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<list_banks_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `ListBanksResponse`.
|
||||
pub mod list_banks_response {
|
||||
use crate::models::account;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, repeated, tag="1")]
|
||||
pub banks: ::prost::alloc::vec::Vec<account::Bank>,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
pub const SUBJECT_UPDATE_BANK: &str = const_format::concatcp!(SUBJECT, ".UpdateBank");
|
||||
/// subject = bet.beteran.c2se.common.bank.UpdateBank
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateBankRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag="3")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="4")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateBankResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<update_bank_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `UpdateBankResponse`.
|
||||
pub mod update_bank_response {
|
||||
use crate::models::account;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub bank: ::core::option::Option<account::Bank>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_DELETE_BANK: &str = const_format::concatcp!(SUBJECT, ".DeleteBank");
|
||||
/// subject = bet.beteran.c2se.common.bank.DeleteBank
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteBankRequest {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteBankResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<delete_bank_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `DeleteBankResponse`.
|
||||
pub mod delete_bank_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
}
|
||||
}
|
71
src/c2se/common/identity.rs
Normal file
71
src/c2se/common/identity.rs
Normal file
@ -0,0 +1,71 @@
|
||||
use crate::protobuf::rpc;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.c2se.common.identity";
|
||||
|
||||
pub const SUBJECT_CHECK_USERNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckUsernameForDuplication");
|
||||
/// subject = bet.beteran.c2se.common.identity.CheckUsernameForDuplication;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckUsernameForDuplicationRequest {
|
||||
#[prost(string, tag = "1")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckUsernameForDuplicationResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<check_username_for_duplication_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CheckUsernameForDuplicationResponse`.
|
||||
pub mod check_username_for_duplication_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(bool, tag = "1")]
|
||||
pub duplicated: bool,
|
||||
}
|
||||
}
|
||||
pub const SUBJECT_CHECK_NICKNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckNicknameForDuplication");
|
||||
/// subject = bet.beteran.c2se.common.identity.CheckNicknameForDuplication;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckNicknameForDuplicationRequest {
|
||||
#[prost(string, tag = "1")]
|
||||
pub nickname: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckNicknameForDuplicationResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<check_nickname_for_duplication_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CheckNicknameForDuplicationResponse`.
|
||||
pub mod check_nickname_for_duplication_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(bool, tag = "1")]
|
||||
pub duplicated: bool,
|
||||
}
|
||||
}
|
||||
pub const SUBJECT_CAPTCHA: &str = const_format::concatcp!(SUBJECT, ".Captcha");
|
||||
/// subject = bet.beteran.c2se.common.identity.Captcha
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CaptchaRequest {}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CaptchaResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<captcha_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CaptchaResponse`.
|
||||
pub mod captcha_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(string, tag = "1")]
|
||||
pub security_code_hash: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub image: ::prost::alloc::string::String,
|
||||
}
|
||||
}
|
2
src/c2se/common/mod.rs
Normal file
2
src/c2se/common/mod.rs
Normal file
@ -0,0 +1,2 @@
|
||||
pub mod identity;
|
||||
pub mod bank;
|
1
src/c2se/core/mod.rs
Normal file
1
src/c2se/core/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
pub mod network;
|
3
src/c2se/core/network.rs
Normal file
3
src/c2se/core/network.rs
Normal file
@ -0,0 +1,3 @@
|
||||
const HEADER: &str = "bet.beteran.c2se.core.network";
|
||||
|
||||
pub const HEADER_CLIENT: &str = const_format::concatcp!(HEADER, ".Client");
|
7
src/c2se/frontend/account.rs
Normal file
7
src/c2se/frontend/account.rs
Normal file
@ -0,0 +1,7 @@
|
||||
use crate::protobuf::pagination;
|
||||
use crate::protobuf::rpc;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.c2se.frontend.account";
|
||||
|
||||
pub const SUBJECT_LIST_BANKS: &str = const_format::concatcp!(SUBJECT, ".ListBanks");
|
||||
// subject = bet.beteran.c2se.frontend.bank.ListBanks
|
43
src/c2se/frontend/identity.rs
Normal file
43
src/c2se/frontend/identity.rs
Normal file
@ -0,0 +1,43 @@
|
||||
use crate::protobuf::rpc;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.c2se.frontend.identity";
|
||||
|
||||
pub const SUBJECT_CHECK_USERNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckUsernameForDuplication");
|
||||
/// subject = bet.beteran.c2se.frontend.identity.CheckUsernameForDuplication;
|
||||
|
||||
pub const SUBJECT_CHECK_NICKNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckNicknameForDuplication");
|
||||
/// subject = bet.beteran.c2se.frontend.identity.CheckNicknameForDuplication;
|
||||
|
||||
pub const SUBJECT_CAPTCHA: &str = const_format::concatcp!(SUBJECT, ".Captcha");
|
||||
/// subject = bet.beteran.c2se.frontend.identity.Captcha
|
||||
|
||||
pub const SUBJECT_SIGNIN: &str = const_format::concatcp!(SUBJECT, ".Signin");
|
||||
/// subject = bet.beteran.c2se.frontend.identity.Signin
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SigninRequest {
|
||||
#[prost(string, tag = "1")]
|
||||
pub security_code_hash: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub security_code: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "3")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "4")]
|
||||
pub password: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SigninResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<signin_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `SigninResponse`.
|
||||
pub mod signin_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(string, tag = "1")]
|
||||
pub access_token: ::prost::alloc::string::String,
|
||||
}
|
||||
}
|
1
src/c2se/frontend/mod.rs
Normal file
1
src/c2se/frontend/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
pub mod identity;
|
11
src/c2se/mod.rs
Normal file
11
src/c2se/mod.rs
Normal file
@ -0,0 +1,11 @@
|
||||
//!
|
||||
//!
|
||||
|
||||
///
|
||||
pub mod backend;
|
||||
///
|
||||
pub mod common;
|
||||
///
|
||||
pub mod core;
|
||||
///
|
||||
pub mod frontend;
|
12
src/lib.rs
Normal file
12
src/lib.rs
Normal file
@ -0,0 +1,12 @@
|
||||
//!
|
||||
//!
|
||||
|
||||
#![deny(missing_docs)]
|
||||
#![deny(missing_debug_implementations)]
|
||||
#![allow(unused_variables, dead_code, missing_docs, clippy::let_unit_value)]
|
||||
|
||||
pub mod c2se;
|
||||
pub mod models;
|
||||
pub mod protobuf;
|
||||
pub mod se2c;
|
||||
pub mod ss;
|
17
src/models/account.rs
Normal file
17
src/models/account.rs
Normal file
@ -0,0 +1,17 @@
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Bank {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag="3")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="4")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, tag="6")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag="7")]
|
||||
pub updated_at: u64,
|
||||
}
|
1
src/models/core/mod.rs
Normal file
1
src/models/core/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
pub mod network;
|
11
src/models/core/network.rs
Normal file
11
src/models/core/network.rs
Normal file
@ -0,0 +1,11 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message, Serialize, Deserialize)]
|
||||
pub struct Client {
|
||||
#[prost(string, tag = "1")]
|
||||
pub client_ip: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag = "2")]
|
||||
pub site_url: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag = "3")]
|
||||
pub access_token: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
23
src/models/domain.rs
Normal file
23
src/models/domain.rs
Normal file
@ -0,0 +1,23 @@
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Site {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub url: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub name: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub path: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, tag="5")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="6")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="8")]
|
||||
pub expires_at: ::core::option::Option<u64>,
|
||||
#[prost(uint64, tag="9")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag="10")]
|
||||
pub updated_at: u64,
|
||||
}
|
126
src/models/member.rs
Normal file
126
src/models/member.rs
Normal file
@ -0,0 +1,126 @@
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct MemberClass {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="2")]
|
||||
pub parent_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, tag = "3")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(uint64, tag = "4")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag = "5")]
|
||||
pub updated_at: u64,
|
||||
#[prost(uint64, optional, tag = "6")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct MemberLevel {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(uint32, tag="3")]
|
||||
pub sort_order: u32,
|
||||
#[prost(uint64, tag = "4")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag = "5")]
|
||||
pub updated_at: u64,
|
||||
#[prost(uint64, optional, tag = "6")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Member {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub site_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="3")]
|
||||
pub member_class_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="4")]
|
||||
pub member_level_id: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub referrer_member_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, tag="6")]
|
||||
pub referred_count: u64,
|
||||
#[prost(string, tag="7")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="8")]
|
||||
pub nickname: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="9")]
|
||||
pub mobile_phone_number: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="MemberState", tag="10")]
|
||||
pub state: i32,
|
||||
#[prost(uint64, optional, tag="11")]
|
||||
pub state_changed_at: ::core::option::Option<u64>,
|
||||
#[prost(string, optional, tag="12")]
|
||||
pub last_signined_ip: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="13")]
|
||||
pub last_signined_at: ::core::option::Option<u64>,
|
||||
#[prost(uint64, tag="14")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag="15")]
|
||||
pub updated_at: u64,
|
||||
#[prost(uint64, optional, tag="16")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct MemberModel {
|
||||
#[prost(string, tag="1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub site: ::core::option::Option<super::domain::Site>,
|
||||
#[prost(message, optional, tag="3")]
|
||||
pub member_class: ::core::option::Option<MemberClass>,
|
||||
#[prost(message, optional, tag="4")]
|
||||
pub member_level: ::core::option::Option<MemberLevel>,
|
||||
#[prost(message, optional, tag="5")]
|
||||
pub referrer_member: ::core::option::Option<Member>,
|
||||
#[prost(uint64, tag="6")]
|
||||
pub referred_count: u64,
|
||||
#[prost(string, tag="7")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="8")]
|
||||
pub nickname: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="9")]
|
||||
pub mobile_phone_number: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="MemberState", tag="10")]
|
||||
pub state: i32,
|
||||
#[prost(uint64, optional, tag="11")]
|
||||
pub state_changed_at: ::core::option::Option<u64>,
|
||||
#[prost(string, optional, tag="12")]
|
||||
pub last_signined_ip: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="13")]
|
||||
pub last_signined_at: ::core::option::Option<u64>,
|
||||
#[prost(uint64, tag="14")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag="15")]
|
||||
pub updated_at: u64,
|
||||
#[prost(uint64, optional, tag="16")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
||||
#[repr(i32)]
|
||||
pub enum MemberState {
|
||||
None = 0,
|
||||
Normal = 1,
|
||||
Pending = 2,
|
||||
Withdrawal = 3,
|
||||
Dormancy = 4,
|
||||
Blacklist = 5,
|
||||
Suspended = 6,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct MemberSession {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub member: ::core::option::Option<Member>,
|
||||
#[prost(string, tag = "3")]
|
||||
pub data: ::prost::alloc::string::String,
|
||||
#[prost(uint64, tag = "4")]
|
||||
pub last_accessed_at: u64,
|
||||
#[prost(uint64, tag = "5")]
|
||||
pub expires_at: u64,
|
||||
#[prost(uint64, tag = "6")]
|
||||
pub created_at: u64,
|
||||
}
|
5
src/models/mod.rs
Normal file
5
src/models/mod.rs
Normal file
@ -0,0 +1,5 @@
|
||||
pub mod core;
|
||||
pub mod account;
|
||||
pub mod domain;
|
||||
pub mod member;
|
||||
pub mod rbac;
|
57
src/models/rbac.rs
Normal file
57
src/models/rbac.rs
Normal file
@ -0,0 +1,57 @@
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Resource {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(message, optional, boxed, tag = "2")]
|
||||
pub parent: ::core::option::Option<::prost::alloc::boxed::Box<Resource>>,
|
||||
#[prost(string, tag = "3")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "4")]
|
||||
pub key: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "5")]
|
||||
pub description: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag = "6")]
|
||||
pub can_use: bool,
|
||||
#[prost(uint64, tag = "7")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag = "8")]
|
||||
pub updated_at: u64,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ResourceAction {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub resource: ::core::option::Option<Resource>,
|
||||
#[prost(string, tag = "3")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "4")]
|
||||
pub key: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "5")]
|
||||
pub description: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag = "6")]
|
||||
pub can_use: bool,
|
||||
#[prost(uint64, tag = "7")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag = "8")]
|
||||
pub updated_at: u64,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Role {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(message, optional, boxed, tag = "2")]
|
||||
pub parent: ::core::option::Option<::prost::alloc::boxed::Box<Role>>,
|
||||
#[prost(string, tag = "3")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "4")]
|
||||
pub key: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "5")]
|
||||
pub description: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag = "6")]
|
||||
pub can_use: bool,
|
||||
#[prost(uint64, tag = "7")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag = "8")]
|
||||
pub updated_at: u64,
|
||||
}
|
2
src/protobuf/mod.rs
Normal file
2
src/protobuf/mod.rs
Normal file
@ -0,0 +1,2 @@
|
||||
pub mod pagination;
|
||||
pub mod rpc;
|
27
src/protobuf/pagination.rs
Normal file
27
src/protobuf/pagination.rs
Normal file
@ -0,0 +1,27 @@
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Pagination {
|
||||
#[prost(uint32, optional, tag="1")]
|
||||
pub page: ::core::option::Option<u32>,
|
||||
#[prost(uint32, optional, tag="2")]
|
||||
pub page_size: ::core::option::Option<u32>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Search {
|
||||
#[prost(string, tag="1")]
|
||||
pub key: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="2")]
|
||||
pub value: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Sort {
|
||||
#[prost(string, tag="1")]
|
||||
pub by: ::prost::alloc::string::String,
|
||||
#[prost(enumeration="SortOrder", tag="2")]
|
||||
pub order: i32,
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
||||
#[repr(i32)]
|
||||
pub enum SortOrder {
|
||||
Asc = 0,
|
||||
Desc = 1,
|
||||
}
|
175
src/protobuf/rpc.rs
Normal file
175
src/protobuf/rpc.rs
Normal file
@ -0,0 +1,175 @@
|
||||
use std::fmt;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Error {
|
||||
#[prost(int32, tag = "1")]
|
||||
pub code: i32,
|
||||
#[prost(string, tag = "2")]
|
||||
pub message: ::prost::alloc::string::String,
|
||||
#[prost(bytes = "vec", optional, tag = "3")]
|
||||
pub data: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
|
||||
}
|
||||
|
||||
impl fmt::Display for Error {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
write!(
|
||||
f,
|
||||
"Error code: {}, message: {:?}, data: {:?}",
|
||||
self.code, self.message, self.data
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
impl Error {
|
||||
pub const PARSE: i32 = -32700;
|
||||
pub const INVALID_REQUEST: i32 = -32600;
|
||||
pub const INVALID_PARAMS: i32 = -32602;
|
||||
pub const INTERNAL: i32 = -32603;
|
||||
pub const SERVER_00: i32 = -32000;
|
||||
pub const SERVER_01: i32 = -32001;
|
||||
pub const SERVER_02: i32 = -32002;
|
||||
pub const SERVER_03: i32 = -32003;
|
||||
pub const SERVER_04: i32 = -32004;
|
||||
pub const SERVER_05: i32 = -32005;
|
||||
pub const SERVER_06: i32 = -32006;
|
||||
pub const SERVER_07: i32 = -32007;
|
||||
pub const SERVER_08: i32 = -32008;
|
||||
pub const SERVER_09: i32 = -32009;
|
||||
pub const SERVER_10: i32 = -32010;
|
||||
pub const SERVER_11: i32 = -32011;
|
||||
pub const SERVER_12: i32 = -32012;
|
||||
pub const SERVER_13: i32 = -32013;
|
||||
pub const SERVER_14: i32 = -32014;
|
||||
pub const SERVER_15: i32 = -32015;
|
||||
pub const SERVER_16: i32 = -32016;
|
||||
pub const SERVER_17: i32 = -32017;
|
||||
pub const SERVER_18: i32 = -32018;
|
||||
pub const SERVER_19: i32 = -32019;
|
||||
pub const SERVER_20: i32 = -32020;
|
||||
pub const SERVER_21: i32 = -32021;
|
||||
pub const SERVER_22: i32 = -32022;
|
||||
pub const SERVER_23: i32 = -32023;
|
||||
pub const SERVER_24: i32 = -32024;
|
||||
pub const SERVER_25: i32 = -32025;
|
||||
pub const SERVER_26: i32 = -32026;
|
||||
pub const SERVER_27: i32 = -32027;
|
||||
pub const SERVER_28: i32 = -32028;
|
||||
pub const SERVER_29: i32 = -32029;
|
||||
pub const SERVER_30: i32 = -32030;
|
||||
pub const SERVER_31: i32 = -32031;
|
||||
pub const SERVER_32: i32 = -32032;
|
||||
pub const SERVER_33: i32 = -32033;
|
||||
pub const SERVER_34: i32 = -32034;
|
||||
pub const SERVER_35: i32 = -32035;
|
||||
pub const SERVER_36: i32 = -32036;
|
||||
pub const SERVER_37: i32 = -32037;
|
||||
pub const SERVER_38: i32 = -32038;
|
||||
pub const SERVER_39: i32 = -32039;
|
||||
pub const SERVER_40: i32 = -32040;
|
||||
pub const SERVER_41: i32 = -32041;
|
||||
pub const SERVER_42: i32 = -32042;
|
||||
pub const SERVER_43: i32 = -32043;
|
||||
pub const SERVER_44: i32 = -32044;
|
||||
pub const SERVER_45: i32 = -32045;
|
||||
pub const SERVER_46: i32 = -32046;
|
||||
pub const SERVER_47: i32 = -32047;
|
||||
pub const SERVER_48: i32 = -32048;
|
||||
pub const SERVER_49: i32 = -32049;
|
||||
pub const SERVER_50: i32 = -32050;
|
||||
pub const SERVER_51: i32 = -32051;
|
||||
pub const SERVER_52: i32 = -32052;
|
||||
pub const SERVER_53: i32 = -32053;
|
||||
pub const SERVER_54: i32 = -32054;
|
||||
pub const SERVER_55: i32 = -32055;
|
||||
pub const SERVER_56: i32 = -32056;
|
||||
pub const SERVER_57: i32 = -32057;
|
||||
pub const SERVER_58: i32 = -32058;
|
||||
pub const SERVER_59: i32 = -32059;
|
||||
pub const SERVER_60: i32 = -32060;
|
||||
pub const SERVER_61: i32 = -32061;
|
||||
pub const SERVER_62: i32 = -32062;
|
||||
pub const SERVER_63: i32 = -32063;
|
||||
pub const SERVER_64: i32 = -32064;
|
||||
pub const SERVER_65: i32 = -32065;
|
||||
pub const SERVER_66: i32 = -32066;
|
||||
pub const SERVER_67: i32 = -32067;
|
||||
pub const SERVER_68: i32 = -32068;
|
||||
pub const SERVER_69: i32 = -32069;
|
||||
pub const SERVER_70: i32 = -32070;
|
||||
pub const SERVER_71: i32 = -32071;
|
||||
pub const SERVER_72: i32 = -32072;
|
||||
pub const SERVER_73: i32 = -32073;
|
||||
pub const SERVER_74: i32 = -32074;
|
||||
pub const SERVER_75: i32 = -32075;
|
||||
pub const SERVER_76: i32 = -32076;
|
||||
pub const SERVER_77: i32 = -32077;
|
||||
pub const SERVER_78: i32 = -32078;
|
||||
pub const SERVER_79: i32 = -32079;
|
||||
pub const SERVER_80: i32 = -32080;
|
||||
pub const SERVER_81: i32 = -32081;
|
||||
pub const SERVER_82: i32 = -32082;
|
||||
pub const SERVER_83: i32 = -32083;
|
||||
pub const SERVER_84: i32 = -32084;
|
||||
pub const SERVER_85: i32 = -32085;
|
||||
pub const SERVER_86: i32 = -32086;
|
||||
pub const SERVER_87: i32 = -32087;
|
||||
pub const SERVER_88: i32 = -32088;
|
||||
pub const SERVER_89: i32 = -32089;
|
||||
pub const SERVER_90: i32 = -32090;
|
||||
pub const SERVER_91: i32 = -32091;
|
||||
pub const SERVER_92: i32 = -32092;
|
||||
pub const SERVER_93: i32 = -32093;
|
||||
pub const SERVER_94: i32 = -32094;
|
||||
pub const SERVER_95: i32 = -32095;
|
||||
pub const SERVER_96: i32 = -32096;
|
||||
pub const SERVER_97: i32 = -32097;
|
||||
pub const SERVER_98: i32 = -32098;
|
||||
pub const SERVER_99: i32 = -32099;
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct InvalidParamsDetail {
|
||||
#[prost(string, tag = "1")]
|
||||
pub location: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub param: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "3")]
|
||||
pub value: ::prost::alloc::string::String,
|
||||
#[prost(enumeration = "InvalidParamsType", tag = "4")]
|
||||
pub error_type: i32,
|
||||
#[prost(string, tag = "5")]
|
||||
pub message: ::prost::alloc::string::String,
|
||||
}
|
||||
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
||||
#[repr(i32)]
|
||||
pub enum InvalidParamsType {
|
||||
None = 0,
|
||||
DateTime = 1,
|
||||
Decimal = 2,
|
||||
EqualsTo = 3,
|
||||
Float = 4,
|
||||
Integer = 5,
|
||||
Range = 6,
|
||||
RegEx = 7,
|
||||
Required = 8,
|
||||
StringLength = 9,
|
||||
Url = 10,
|
||||
}
|
||||
|
||||
impl From<i32> for InvalidParamsType {
|
||||
fn from(s: i32) -> Self {
|
||||
match s {
|
||||
s if s == InvalidParamsType::DateTime as i32 => InvalidParamsType::DateTime,
|
||||
s if s == InvalidParamsType::Decimal as i32 => InvalidParamsType::Decimal,
|
||||
s if s == InvalidParamsType::EqualsTo as i32 => InvalidParamsType::EqualsTo,
|
||||
s if s == InvalidParamsType::Float as i32 => InvalidParamsType::Float,
|
||||
s if s == InvalidParamsType::Integer as i32 => InvalidParamsType::Integer,
|
||||
s if s == InvalidParamsType::Range as i32 => InvalidParamsType::Range,
|
||||
s if s == InvalidParamsType::RegEx as i32 => InvalidParamsType::RegEx,
|
||||
s if s == InvalidParamsType::Required as i32 => InvalidParamsType::Required,
|
||||
s if s == InvalidParamsType::StringLength as i32 => InvalidParamsType::StringLength,
|
||||
s if s == InvalidParamsType::Url as i32 => InvalidParamsType::Url,
|
||||
_ => InvalidParamsType::None,
|
||||
}
|
||||
}
|
||||
}
|
48
src/se2c/event_message_attach_files.rs
Normal file
48
src/se2c/event_message_attach_files.rs
Normal file
@ -0,0 +1,48 @@
|
||||
use bemily_commons_protobuf_rust::protobuf::bemily::protobuf as bcprpbp;
|
||||
|
||||
pub const SUBJECT: &str = "bemily.messenger.chat.messages.se2c.event.message_attach_files";
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct MessageAttachFile {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub room_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "3")]
|
||||
pub message_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "4")]
|
||||
pub file_id: ::prost::alloc::string::String,
|
||||
#[prost(enumeration = "MessageAttachFileType", tag = "5")]
|
||||
pub attach_file_type: i32,
|
||||
#[prost(uint64, tag = "6")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag = "7")]
|
||||
pub updated_at: u64,
|
||||
#[prost(uint64, optional, tag = "8")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
#[prost(enumeration = "bcprpbp::event::change::ChangeEventType", tag = "9")]
|
||||
pub change_type: i32,
|
||||
}
|
||||
|
||||
pub const SUBJECT_CHANGE: &str = const_format::concatcp!(SUBJECT, ".Change");
|
||||
/// subject = bemily.messenger.chat.messages.se2c.event.message_attach_files.Change;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ChangeEvent {
|
||||
#[prost(string, tag = "1")]
|
||||
pub identity_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub room_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "3")]
|
||||
pub message_id: ::prost::alloc::string::String,
|
||||
#[prost(message, repeated, tag = "4")]
|
||||
pub message_attach_files: ::prost::alloc::vec::Vec<MessageAttachFile>,
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
||||
#[repr(i32)]
|
||||
pub enum MessageAttachFileType {
|
||||
None = 0,
|
||||
Image = 1,
|
||||
Video = 2,
|
||||
Sound = 3,
|
||||
File = 4,
|
||||
}
|
53
src/se2c/event_messages.rs
Normal file
53
src/se2c/event_messages.rs
Normal file
@ -0,0 +1,53 @@
|
||||
use bemily_commons_protobuf_rust::protobuf::bemily::protobuf as bcprpbp;
|
||||
|
||||
pub const SUBJECT: &str = "bemily.messenger.chat.messages.se2c.event.messages";
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Message {
|
||||
#[prost(string, tag = "1")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub room_id: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag = "3")]
|
||||
pub sender_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration = "MessageType", tag = "4")]
|
||||
pub message_type: i32,
|
||||
#[prost(string, tag = "5")]
|
||||
pub message: ::prost::alloc::string::String,
|
||||
#[prost(uint64, tag = "6")]
|
||||
pub seq: u64,
|
||||
#[prost(uint64, tag = "7")]
|
||||
pub created_at: u64,
|
||||
#[prost(uint64, tag = "8")]
|
||||
pub updated_at: u64,
|
||||
#[prost(uint64, optional, tag = "9")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
#[prost(enumeration = "bcprpbp::event::change::ChangeEventType", tag = "10")]
|
||||
pub change_type: i32,
|
||||
}
|
||||
|
||||
pub const SUBJECT_CHANGE: &str = const_format::concatcp!(SUBJECT, ".Change");
|
||||
/// subject = bemily.messenger.chat.messages.se2c.event.messages.Change;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ChangeEvent {
|
||||
#[prost(string, tag = "1")]
|
||||
pub identity_id: ::prost::alloc::string::String,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub message: ::core::option::Option<Message>,
|
||||
}
|
||||
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
|
||||
#[repr(i32)]
|
||||
pub enum MessageType {
|
||||
None = 0,
|
||||
Normal = 1,
|
||||
Mass = 2,
|
||||
Image = 3,
|
||||
Video = 4,
|
||||
Sound = 5,
|
||||
File = 6,
|
||||
Emoticon = 7,
|
||||
Smileme = 8,
|
||||
Plan = 9,
|
||||
Combination = 10,
|
||||
Information = 11,
|
||||
}
|
12
src/se2c/mod.rs
Normal file
12
src/se2c/mod.rs
Normal file
@ -0,0 +1,12 @@
|
||||
//!
|
||||
//!
|
||||
|
||||
///
|
||||
///
|
||||
#[cfg(feature = "se2c_event_messages")]
|
||||
pub mod event_messages;
|
||||
|
||||
///
|
||||
///
|
||||
#[cfg(feature = "se2c_event_message_attach_files")]
|
||||
pub mod event_message_attach_files;
|
135
src/ss/account/bank.rs
Normal file
135
src/ss/account/bank.rs
Normal file
@ -0,0 +1,135 @@
|
||||
use crate::protobuf::rpc;
|
||||
use crate::protobuf::pagination;
|
||||
use crate::models::core;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.ss.account.bank";
|
||||
|
||||
pub const SUBJECT_CREATE_BANK: &str = const_format::concatcp!(SUBJECT, ".CreateBank");
|
||||
/// subject = bet.beteran.ss.account.bank.CreateBank;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateBankRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag="3")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="4")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateBankResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<create_bank_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CreateBankResponse`.
|
||||
pub mod create_bank_response {
|
||||
use crate::models::account;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub bank: ::core::option::Option<account::Bank>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_LIST_BANKS: &str = const_format::concatcp!(SUBJECT, ".ListBanks");
|
||||
/// subject = bet.beteran.ss.account.bank.ListBanks;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListBanksRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub pagination: ::core::option::Option<pagination::Pagination>,
|
||||
#[prost(message, repeated, tag="3")]
|
||||
pub searches: ::prost::alloc::vec::Vec<pagination::Search>,
|
||||
#[prost(message, repeated, tag="4")]
|
||||
pub sorts: ::prost::alloc::vec::Vec<pagination::Sort>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub name_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, optional, tag="6")]
|
||||
pub show: ::core::option::Option<bool>,
|
||||
#[prost(bool, optional, tag="7")]
|
||||
pub can_use: ::core::option::Option<bool>,
|
||||
#[prost(string, optional, tag="8")]
|
||||
pub memo_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListBanksResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<list_banks_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `ListBanksResponse`.
|
||||
pub mod list_banks_response {
|
||||
use crate::models::account;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, repeated, tag="1")]
|
||||
pub banks: ::prost::alloc::vec::Vec<account::Bank>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_UPDATE_BANK: &str = const_format::concatcp!(SUBJECT, ".UpdateBank");
|
||||
/// subject = bet.beteran.ss.account.bank.UpdateBank
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateBankRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="3")]
|
||||
pub name: ::prost::alloc::string::String,
|
||||
#[prost(bool, tag="4")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="5")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="6")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateBankResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<update_bank_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `UpdateBankResponse`.
|
||||
pub mod update_bank_response {
|
||||
use crate::models::account;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub bank: ::core::option::Option<account::Bank>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_DELETE_BANK: &str = const_format::concatcp!(SUBJECT, ".DeleteBank");
|
||||
/// subject = bet.beteran.ss.account.bank.DeleteBank
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteBankRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteBankResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<delete_bank_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `DeleteBankResponse`.
|
||||
pub mod delete_bank_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
}
|
||||
}
|
1
src/ss/account/mod.rs
Normal file
1
src/ss/account/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
pub mod bank;
|
1
src/ss/domain/mod.rs
Normal file
1
src/ss/domain/mod.rs
Normal file
@ -0,0 +1 @@
|
||||
pub mod site;
|
152
src/ss/domain/site.rs
Normal file
152
src/ss/domain/site.rs
Normal file
@ -0,0 +1,152 @@
|
||||
use crate::protobuf::pagination;
|
||||
use crate::protobuf::rpc;
|
||||
use crate::models::core;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.ss.domain.site";
|
||||
|
||||
pub const SUBJECT_LIST_SITES: &str = const_format::concatcp!(SUBJECT, ".ListSites");
|
||||
/// subject = bet.beteran.ss.domain.site.ListSites;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListSitesRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub pagination: ::core::option::Option<pagination::Pagination>,
|
||||
#[prost(message, repeated, tag="3")]
|
||||
pub searches: ::prost::alloc::vec::Vec<pagination::Search>,
|
||||
#[prost(message, repeated, tag="4")]
|
||||
pub sorts: ::prost::alloc::vec::Vec<pagination::Sort>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub url_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="6")]
|
||||
pub name_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub path_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, optional, tag="8")]
|
||||
pub show: ::core::option::Option<bool>,
|
||||
#[prost(bool, optional, tag="9")]
|
||||
pub can_use: ::core::option::Option<bool>,
|
||||
#[prost(string, optional, tag="10")]
|
||||
pub memo_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListSitesResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<list_sites_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `ListSitesResponse`.
|
||||
pub mod list_sites_response {
|
||||
use crate::models::domain;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, repeated, tag="1")]
|
||||
pub sites: ::prost::alloc::vec::Vec<domain::Site>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_CREATE_SITE: &str = const_format::concatcp!(SUBJECT, ".CreateSite");
|
||||
/// subject = bet.beteran.ss.domain.site.CreateSite;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateSiteRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub url: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub name: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub path: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, tag="5")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="6")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="8")]
|
||||
pub expires_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateSiteResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<create_site_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CreateSiteResponse`.
|
||||
pub mod create_site_response {
|
||||
use crate::models::domain;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub site: ::core::option::Option<domain::Site>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_UPDATE_SITE: &str = const_format::concatcp!(SUBJECT, ".UpdateSite");
|
||||
/// subject = bet.beteran.ss.domain.site.UpdateSite
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateSiteRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="3")]
|
||||
pub url: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub name: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub path: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(bool, tag="6")]
|
||||
pub show: bool,
|
||||
#[prost(bool, tag="7")]
|
||||
pub can_use: bool,
|
||||
#[prost(string, optional, tag="8")]
|
||||
pub memo: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(uint64, optional, tag="9")]
|
||||
pub expires_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateSiteResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<update_site_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `UpdateSiteResponse`.
|
||||
pub mod update_site_response {
|
||||
use crate::models::domain;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub site: ::core::option::Option<domain::Site>,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pub const SUBJECT_DELETE_SITE: &str = const_format::concatcp!(SUBJECT, ".DeleteSite");
|
||||
/// subject = bet.beteran.ss.domain.site.DeleteSite
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteSiteRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteSiteResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<delete_site_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `DeleteSiteResponse`.
|
||||
pub mod delete_site_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
}
|
||||
}
|
122
src/ss/member/identity.rs
Normal file
122
src/ss/member/identity.rs
Normal file
@ -0,0 +1,122 @@
|
||||
use crate::models::core;
|
||||
use crate::protobuf::rpc;
|
||||
use crate::models::member;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.ss.member.identity";
|
||||
const EVENT_SUBJECT: &str = "bet.beteran.ss.event.member.identity";
|
||||
|
||||
|
||||
pub const SUBJECT_CHECK_USERNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckUsernameForDuplication");
|
||||
/// subject = bet.beteran.ss.member.identity.CheckUsernameForDuplication;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckUsernameForDuplicationRequest {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag = "2")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckUsernameForDuplicationResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<check_username_for_duplication_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CheckUsernameForDuplicationResponse`.
|
||||
pub mod check_username_for_duplication_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(bool, tag = "1")]
|
||||
pub duplicated: bool,
|
||||
}
|
||||
}
|
||||
pub const SUBJECT_CHECK_NICKNAME_FOR_DUPLICATION: &str =
|
||||
const_format::concatcp!(SUBJECT, ".CheckNicknameForDuplication");
|
||||
/// subject = bet.beteran.ss.member.identity.CheckNicknameForDuplication;
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckNicknameForDuplicationRequest {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag = "2")]
|
||||
pub nickname: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CheckNicknameForDuplicationResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<check_nickname_for_duplication_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CheckNicknameForDuplicationResponse`.
|
||||
pub mod check_nickname_for_duplication_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(bool, tag = "1")]
|
||||
pub duplicated: bool,
|
||||
}
|
||||
}
|
||||
pub const SUBJECT_CAPTCHA: &str = const_format::concatcp!(SUBJECT, ".Captcha");
|
||||
/// subject = bet.beteran.ss.member.identity.Captcha
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CaptchaRequest {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CaptchaResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<captcha_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CaptchaResponse`.
|
||||
pub mod captcha_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(string, tag = "1")]
|
||||
pub security_code_hash: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "2")]
|
||||
pub image: ::prost::alloc::string::String,
|
||||
}
|
||||
}
|
||||
pub const SUBJECT_SIGNIN: &str = const_format::concatcp!(SUBJECT, ".Signin");
|
||||
/// subject = bet.beteran.ss.member.identity.Signin
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SigninRequest {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag = "2")]
|
||||
pub security_code_hash: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "3")]
|
||||
pub security_code: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "4")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
#[prost(string, tag = "5")]
|
||||
pub password: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct SigninResponse {
|
||||
#[prost(message, optional, tag = "1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag = "2")]
|
||||
pub result: ::core::option::Option<signin_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `SigninResponse`.
|
||||
pub mod signin_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(string, tag = "1")]
|
||||
pub access_token: ::prost::alloc::string::String,
|
||||
}
|
||||
}
|
||||
|
||||
pub const EVENT_SUBJECT_AFTER_SIGNIN: &str = const_format::concatcp!(EVENT_SUBJECT, ".AfterSignin");
|
||||
/// subject = bet.beteran.ss.event.member.identity.AfterSignin
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct AfterSigninEvent {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub member: ::core::option::Option<member::Member>,
|
||||
}
|
214
src/ss/member/member.rs
Normal file
214
src/ss/member/member.rs
Normal file
@ -0,0 +1,214 @@
|
||||
use crate::models::core;
|
||||
use crate::protobuf::rpc;
|
||||
use crate::protobuf::pagination;
|
||||
use crate::models::member;
|
||||
|
||||
const SUBJECT: &str = "bet.beteran.ss.member";
|
||||
|
||||
|
||||
pub const SUBJECT_CREATE_MEMBER: &str = const_format::concatcp!(SUBJECT, ".CreateMember");
|
||||
/// subject = bet.beteran.ss.member.CreateMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateMemberRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub site_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="3")]
|
||||
pub member_class_id: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="4")]
|
||||
pub member_level_id: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub referrer_member_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, tag="6")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
#[prost(string, tag="7")]
|
||||
pub nickname: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="8")]
|
||||
pub mobile_phone_number: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="member::MemberState", tag="9")]
|
||||
pub state: i32,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct CreateMemberResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<create_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `CreateMemberResponse`.
|
||||
pub mod create_member_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_LIST_MEMBERS: &str = const_format::concatcp!(SUBJECT, ".ListMembers");
|
||||
/// subject = bet.beteran.ss.member.ListMembers
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListMembersRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub pagination: ::core::option::Option<pagination::Pagination>,
|
||||
#[prost(message, repeated, tag="3")]
|
||||
pub searches: ::prost::alloc::vec::Vec<pagination::Search>,
|
||||
#[prost(message, repeated, tag="4")]
|
||||
pub sorts: ::prost::alloc::vec::Vec<pagination::Sort>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub site_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="6")]
|
||||
pub member_class_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="7")]
|
||||
pub member_level_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="8")]
|
||||
pub referrer_member_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="9")]
|
||||
pub username_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="10")]
|
||||
pub nickname_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="11")]
|
||||
pub mobile_phone_number_like: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="12")]
|
||||
pub last_signined_ip: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="member::MemberState", optional, tag="13")]
|
||||
pub state: ::core::option::Option<i32>,
|
||||
#[prost(uint64, optional, tag="14")]
|
||||
pub deleted_at: ::core::option::Option<u64>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct ListMembersResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<list_members_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `ListMembersResponse`.
|
||||
pub mod list_members_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, repeated, tag="1")]
|
||||
pub members: ::prost::alloc::vec::Vec<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_GET_MEMBER: &str = const_format::concatcp!(SUBJECT, ".GetMember");
|
||||
/// subject = bet.beteran.ss.member.GetMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<get_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `GetMemberResponse`.
|
||||
pub mod get_member_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_GET_MEMBER_BY_USERNAME: &str =
|
||||
const_format::concatcp!(SUBJECT, ".GetMemberByUsername");
|
||||
/// subject = bet.beteran.ss.member.GetMemberByUsername
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberByUsernameRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub username: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct GetMemberByUsernameResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<get_member_by_username_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `GetMemberByUsernameResponse`.
|
||||
pub mod get_member_by_username_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_UPDATE_MEMBER: &str = const_format::concatcp!(SUBJECT, ".UpdateMember");
|
||||
/// subject = bet.beteran.ss.member.UpdateMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateMemberRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
#[prost(string, optional, tag="3")]
|
||||
pub site_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="4")]
|
||||
pub member_level_id: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="5")]
|
||||
pub password: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(string, optional, tag="6")]
|
||||
pub mobile_phone_number: ::core::option::Option<::prost::alloc::string::String>,
|
||||
#[prost(enumeration="member::MemberState", optional, tag="7")]
|
||||
pub state: ::core::option::Option<i32>,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct UpdateMemberResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<update_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `UpdateMemberResponse`.
|
||||
pub mod update_member_response {
|
||||
use crate::models::member;
|
||||
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub member: ::core::option::Option<member::MemberModel>,
|
||||
}
|
||||
}
|
||||
|
||||
pub const SUBJECT_DELETE_MEMBER: &str = const_format::concatcp!(SUBJECT, ".DeleteMember");
|
||||
/// subject = bet.beteran.ss.member.DeleteMember
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteMemberRequest {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub client: ::core::option::Option<core::network::Client>,
|
||||
#[prost(string, tag="2")]
|
||||
pub id: ::prost::alloc::string::String,
|
||||
}
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct DeleteMemberResponse {
|
||||
#[prost(message, optional, tag="1")]
|
||||
pub error: ::core::option::Option<rpc::Error>,
|
||||
#[prost(message, optional, tag="2")]
|
||||
pub result: ::core::option::Option<delete_member_response::Result>,
|
||||
}
|
||||
/// Nested message and enum types in `DeleteMemberResponse`.
|
||||
pub mod delete_member_response {
|
||||
#[derive(Clone, PartialEq, ::prost::Message)]
|
||||
pub struct Result {
|
||||
}
|
||||
}
|
2
src/ss/member/mod.rs
Normal file
2
src/ss/member/mod.rs
Normal file
@ -0,0 +1,2 @@
|
||||
pub mod identity;
|
||||
pub mod member;
|
8
src/ss/mod.rs
Normal file
8
src/ss/mod.rs
Normal file
@ -0,0 +1,8 @@
|
||||
//!
|
||||
//!
|
||||
|
||||
///
|
||||
///
|
||||
pub mod member;
|
||||
pub mod domain;
|
||||
pub mod account;
|
Loading…
x
Reference in New Issue
Block a user