|
|
@@ -7,40 +7,23 @@ import "google/protobuf/empty.proto";
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
import "google/protobuf/duration.proto";
|
|
|
|
|
|
-// ----------------------------------------------------------------------------
|
|
|
-
|
|
|
-message IdRequest { int32 id = 1; }
|
|
|
-
|
|
|
-message Resource {
|
|
|
- string type = 1;
|
|
|
- optional int32 id = 2;
|
|
|
-}
|
|
|
-
|
|
|
-message Permission {
|
|
|
- oneof subject {
|
|
|
- string user = 1;
|
|
|
- string role = 2;
|
|
|
- }
|
|
|
- string operation = 11;
|
|
|
- Resource resource = 12;
|
|
|
+message IdRequest {
|
|
|
+ int32 id = 1;
|
|
|
}
|
|
|
|
|
|
-// ----------------------------------------------------------------------------
|
|
|
message Pager {
|
|
|
- int32 page = 1;
|
|
|
- int32 size = 2;
|
|
|
+ int64 page = 1;
|
|
|
+ int64 size = 2;
|
|
|
}
|
|
|
|
|
|
message Pagination {
|
|
|
- int32 page = 1;
|
|
|
- int32 size = 2;
|
|
|
- int32 total = 3;
|
|
|
+ int64 page = 1;
|
|
|
+ int64 size = 2;
|
|
|
+ int64 total = 3;
|
|
|
bool has_next = 11;
|
|
|
bool has_previous = 12;
|
|
|
}
|
|
|
|
|
|
-// ----------------------------------------------------------------------------
|
|
|
-
|
|
|
message MediaContent {
|
|
|
enum Editor {
|
|
|
TEXTAREA = 0;
|
|
|
@@ -48,7 +31,7 @@ message MediaContent {
|
|
|
}
|
|
|
|
|
|
enum Status {
|
|
|
- Publish = 0;
|
|
|
+ Published = 0;
|
|
|
Draft = 1;
|
|
|
Pending = 2;
|
|
|
Private = 3;
|
|
|
@@ -58,105 +41,93 @@ message MediaContent {
|
|
|
Editor editor = 1;
|
|
|
string body = 2;
|
|
|
Status status = 3;
|
|
|
+
|
|
|
+ optional google.protobuf.Timestamp published_at = 11;
|
|
|
}
|
|
|
|
|
|
-// ----------------------------------------------------------------------------
|
|
|
+message UserDetail {
|
|
|
+ int32 id = 1;
|
|
|
+ string uid = 2;
|
|
|
+ string nickname = 3;
|
|
|
+ string real_name = 4;
|
|
|
+ string email = 5;
|
|
|
+}
|
|
|
|
|
|
-message SmsTask {
|
|
|
- string from = 1;
|
|
|
- repeated string to = 2;
|
|
|
- string body = 3;
|
|
|
+message Resource {
|
|
|
+ string type = 1;
|
|
|
+ optional int32 id = 2;
|
|
|
}
|
|
|
|
|
|
-message EmailTask {
|
|
|
- enum ContentType {
|
|
|
- TEXT_PLAIN = 0;
|
|
|
- TEXT_HTML = 1;
|
|
|
- }
|
|
|
- message Attachment {
|
|
|
- string name = 1;
|
|
|
- ContentType content_type = 2;
|
|
|
- bytes payload = 11;
|
|
|
+message Permission {
|
|
|
+ oneof subject {
|
|
|
+ int32 user = 1;
|
|
|
+ int32 role = 2;
|
|
|
}
|
|
|
- string subject = 1;
|
|
|
- string body = 2;
|
|
|
- ContentType content_type = 3;
|
|
|
-
|
|
|
- string to = 11;
|
|
|
- repeated string cc = 12;
|
|
|
- repeated string bcc = 13;
|
|
|
- repeated Attachment attachments = 21;
|
|
|
+ string operation = 11;
|
|
|
+ Resource resource = 12;
|
|
|
}
|
|
|
-// ----------------------------------------------------------------------------
|
|
|
-
|
|
|
-message UserDetail {
|
|
|
- string nick_name = 1;
|
|
|
- string real_name = 2;
|
|
|
|
|
|
- string home = 11;
|
|
|
-}
|
|
|
+// ----------------------------------------------------------------------------
|
|
|
|
|
|
service User {
|
|
|
rpc SignIn(UserSignInRequest) returns (UserSignInResponse) {}
|
|
|
rpc SignUp(UserSignUpRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc ConfirmByEmail(UserEmailRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc ConfirmByEmail(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc ConfirmByToken(UserTokenRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc UnlockByEmail(UserEmailRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc UnlockByEmail(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc UnlockByToken(UserTokenRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc ForgotPassword(UserEmailRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc ForgotPassword(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc ResetPassword(UserResetPasswordRequest) returns (google.protobuf.Empty) {}
|
|
|
|
|
|
rpc Refresh(google.protobuf.Duration) returns (UserSignInResponse) {}
|
|
|
- rpc Logs(UserLogsRequest) returns (UserLogsResponse) {}
|
|
|
+ rpc Logs(Pager) returns (UserLogsResponse) {}
|
|
|
rpc SetProfile(UserSetProfileRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc ChangePassword(UserChangePasswordRequest)
|
|
|
returns (google.protobuf.Empty) {}
|
|
|
rpc SignOut(google.protobuf.Empty) returns (google.protobuf.Empty) {}
|
|
|
|
|
|
rpc Index(Pager) returns (UserIndexResponse) {}
|
|
|
- rpc Show(UserQueryRequest) returns (UserIndexResponse.Item) {}
|
|
|
- rpc Disable(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc Enable(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc Lock(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc Unlock(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc Confirm(UserQueryRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc Show(IdRequest) returns (UserIndexResponse.Item) {}
|
|
|
+ rpc Disable(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc Enable(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc Lock(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc Unlock(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc Confirm(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc SetPassword(UserSetPasswordRequest) returns (google.protobuf.Empty) {}
|
|
|
}
|
|
|
|
|
|
-message UserQueryRequest {
|
|
|
- message Provider {
|
|
|
- enum Type {
|
|
|
- EMAIL = 0;
|
|
|
- GMAIL = 1;
|
|
|
- WECHAT = 2;
|
|
|
- FACEBOOK = 3;
|
|
|
- GITHUB = 4;
|
|
|
- }
|
|
|
- Type type = 1;
|
|
|
- string id = 2;
|
|
|
- }
|
|
|
- oneof who {
|
|
|
- string uid = 1;
|
|
|
- string nick_name = 2;
|
|
|
- Provider provider = 3;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
message UserSignInRequest {
|
|
|
UserQueryRequest query = 1;
|
|
|
string password = 2;
|
|
|
google.protobuf.Duration ttl = 11;
|
|
|
}
|
|
|
+
|
|
|
+message UserQueryRequest {
|
|
|
+ oneof user {
|
|
|
+ string nickname = 1;
|
|
|
+ string email = 2;
|
|
|
+ }
|
|
|
+ string home = 9;
|
|
|
+}
|
|
|
+
|
|
|
message UserSignInResponse {
|
|
|
+ message Payload {
|
|
|
+ string nickname = 1;
|
|
|
+ string email = 2;
|
|
|
+ string real_name = 11;
|
|
|
+ string lang = 12;
|
|
|
+ string time_zone = 13;
|
|
|
+ string avatar = 99;
|
|
|
+ }
|
|
|
string token = 1;
|
|
|
- string real_name = 2;
|
|
|
+ Payload payload = 2;
|
|
|
repeated string roles = 11;
|
|
|
- Permission permissions = 12;
|
|
|
+ repeated Permission permissions = 12;
|
|
|
}
|
|
|
|
|
|
message UserSignUpRequest {
|
|
|
string real_name = 1;
|
|
|
- string nick_name = 2;
|
|
|
+ string nickname = 2;
|
|
|
string email = 3;
|
|
|
string password = 4;
|
|
|
string lang = 11;
|
|
|
@@ -164,20 +135,17 @@ message UserSignUpRequest {
|
|
|
string home = 21;
|
|
|
}
|
|
|
|
|
|
-message UserEmailRequest {
|
|
|
- UserQueryRequest query = 1;
|
|
|
- string home = 9;
|
|
|
+message UserTokenRequest {
|
|
|
+ string payload = 1;
|
|
|
}
|
|
|
|
|
|
-message UserTokenRequest { string token = 1; }
|
|
|
-
|
|
|
message UserResetPasswordRequest {
|
|
|
string token = 1;
|
|
|
string password = 2;
|
|
|
}
|
|
|
|
|
|
message UserSetPasswordRequest {
|
|
|
- int32 user = 1;
|
|
|
+ int32 id = 1;
|
|
|
string password = 2;
|
|
|
}
|
|
|
|
|
|
@@ -193,7 +161,7 @@ message UserSetProfileRequest {
|
|
|
message UserGetProfileResponse {
|
|
|
string real_name = 1;
|
|
|
string avatar = 2;
|
|
|
- string nick_name = 3;
|
|
|
+ string nickname = 3;
|
|
|
string email = 4;
|
|
|
string time_zone = 8;
|
|
|
string lang = 9;
|
|
|
@@ -201,13 +169,6 @@ message UserGetProfileResponse {
|
|
|
string phone = 12;
|
|
|
}
|
|
|
|
|
|
-message UserLogsRequest {
|
|
|
- Pager pager = 1;
|
|
|
-
|
|
|
- optional UserLogsResponse.Item.Level level = 11;
|
|
|
- optional string ip = 12;
|
|
|
-}
|
|
|
-
|
|
|
message UserLogsResponse {
|
|
|
message Item {
|
|
|
enum Level {
|
|
|
@@ -234,14 +195,26 @@ message UserChangePasswordRequest {
|
|
|
string new_password = 2;
|
|
|
}
|
|
|
|
|
|
+message UserProvider {
|
|
|
+ enum Type {
|
|
|
+ EMAIL = 0;
|
|
|
+ GMAIL = 1;
|
|
|
+ WECHAT = 2;
|
|
|
+ FACEBOOK = 3;
|
|
|
+ GITHUB = 4;
|
|
|
+ }
|
|
|
+ Type type = 1;
|
|
|
+ string id = 2;
|
|
|
+}
|
|
|
+
|
|
|
message UserIndexResponse {
|
|
|
message Item {
|
|
|
int32 id = 1;
|
|
|
string uid = 2;
|
|
|
string email = 3;
|
|
|
- string nick_name = 4;
|
|
|
+ string nickname = 4;
|
|
|
string real_name = 5;
|
|
|
- string provider_type = 6;
|
|
|
+ UserProvider.Type provider_type = 6;
|
|
|
google.protobuf.Timestamp updated_at = 9;
|
|
|
optional google.protobuf.Timestamp last_sign_in_at = 11;
|
|
|
optional string last_sign_in_ip = 12;
|
|
|
@@ -263,30 +236,28 @@ message UserIndexResponse {
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
service Attachment {
|
|
|
- rpc Index(Pager) returns (AttachmetIndexResponse) {}
|
|
|
+ rpc Index(Pager) returns (AttachmentIndexResponse) {}
|
|
|
rpc Destroy(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc Show(AttachemtShowRequest) returns (AttachemtShowResponse) {}
|
|
|
+ rpc Show(AttachmentShowRequest) returns (AttachmentShowResponse) {}
|
|
|
}
|
|
|
-message AttachemtShowRequest {
|
|
|
+message AttachmentShowRequest {
|
|
|
int32 id = 1;
|
|
|
google.protobuf.Duration ttl = 2;
|
|
|
}
|
|
|
-message AttachemtShowResponse {
|
|
|
- AttachmetIndexResponse.Item item = 1;
|
|
|
+message AttachmentShowResponse {
|
|
|
+ AttachmentIndexResponse.Item item = 1;
|
|
|
string url = 2;
|
|
|
}
|
|
|
|
|
|
-message AttachmetIndexResponse {
|
|
|
+message AttachmentIndexResponse {
|
|
|
message Item {
|
|
|
-
|
|
|
int32 id = 1;
|
|
|
string bucket = 2;
|
|
|
string name = 3;
|
|
|
string title = 4;
|
|
|
int64 size = 5;
|
|
|
string content_type = 6;
|
|
|
- string region = 7;
|
|
|
- MediaContent.Status status = 8;
|
|
|
+ MediaContent.Status status = 7;
|
|
|
|
|
|
google.protobuf.Timestamp updated_at = 11;
|
|
|
}
|
|
|
@@ -297,77 +268,108 @@ message AttachmetIndexResponse {
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
service Policy {
|
|
|
+ rpc AddRole(PolicyAddRoleRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc GetAllRoles(google.protobuf.Empty) returns (PolicyRoleListResponse) {}
|
|
|
- rpc GetAllUsers(google.protobuf.Empty) returns (PolicyUserListResponse) {}
|
|
|
- rpc DeleteUser(PolicyUserRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc DeleteRole(PolicyRoleRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc GetRolesForUser(PolicyUserRequest) returns (PolicyRoleListResponse) {}
|
|
|
- rpc GetUsersForRole(PolicyRoleRequest) returns (PolicyUserListResponse) {}
|
|
|
+ rpc DeleteRole(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
+ rpc GetRolesForUser(IdRequest) returns (PolicyRolesForUserResponse) {}
|
|
|
+ rpc GetUsersForRole(IdRequest) returns (PolicyUsersForRoleResponse) {}
|
|
|
rpc AddRolesForUser(PolicyAddRolesForUserRequest)
|
|
|
returns (google.protobuf.Empty) {}
|
|
|
rpc DeleteRolesForUser(PolicyDeleteRolesForUserRequest)
|
|
|
returns (google.protobuf.Empty) {}
|
|
|
- rpc GetImplicitRolesForUser(PolicyUserRequest)
|
|
|
- returns (PolicyRoleListResponse) {}
|
|
|
- rpc GetImplicitUsersForRole(PolicyRoleRequest)
|
|
|
- returns (PolicyRoleListResponse) {}
|
|
|
-
|
|
|
- rpc GetPermissionsForUser(PolicyUserRequest)
|
|
|
- returns (PolicyPermissionsResponse) {}
|
|
|
- rpc GetPermissionsForRole(PolicyRoleRequest)
|
|
|
- returns (PolicyPermissionsResponse) {}
|
|
|
- rpc GetImplicitPermissionsForUser(PolicyUserRequest)
|
|
|
- returns (PolicyPermissionsResponse) {}
|
|
|
- rpc GetImplicitPermissionsForRole(PolicyRoleRequest)
|
|
|
- returns (PolicyPermissionsResponse) {}
|
|
|
-
|
|
|
- rpc GetImplicitResourcesForUser(PolicyUserRequest)
|
|
|
- returns (PolicyResourceResponse) {}
|
|
|
- rpc GetImplicitResourcesForRole(PolicyRoleRequest)
|
|
|
- returns (PolicyResourceResponse) {}
|
|
|
-
|
|
|
- rpc AddPermissions(PolicyPermissionsRequest) returns (google.protobuf.Empty) {
|
|
|
- }
|
|
|
- rpc DeletePermissions(PolicyPermissionsRequest)
|
|
|
- returns (google.protobuf.Empty) {}
|
|
|
+ rpc GetImplicitRolesForUser(IdRequest)
|
|
|
+ returns (PolicyImplicitRolesForUserResponse) {}
|
|
|
+ rpc GetImplicitUsersForRole(IdRequest)
|
|
|
+ returns (PolicyImplicitUsersForRoleResponse) {}
|
|
|
+
|
|
|
+ rpc GetPermissionsForUser(IdRequest) returns (PolicyPermissionList) {}
|
|
|
+ rpc GetPermissionsForRole(IdRequest) returns (PolicyPermissionList) {}
|
|
|
+ rpc GetImplicitPermissionsForUser(IdRequest) returns (PolicyPermissionList) {}
|
|
|
+ rpc GetImplicitPermissionsForRole(IdRequest) returns (PolicyPermissionList) {}
|
|
|
+
|
|
|
+ rpc AddPermissions(PolicyPermissionList) returns (google.protobuf.Empty) {}
|
|
|
+ rpc DeletePermissions(PolicyPermissionList) returns (google.protobuf.Empty) {}
|
|
|
}
|
|
|
|
|
|
-message PolicyUserRequest { string code = 1; }
|
|
|
+message PolicyAddRoleRequest {
|
|
|
+ string code = 1;
|
|
|
+ oneof nested {
|
|
|
+ int32 left = 2;
|
|
|
+ int32 parent = 3;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+message PolicyUsersForRoleResponse {
|
|
|
+ message Item {
|
|
|
+ UserDetail user = 1;
|
|
|
+ google.protobuf.Timestamp not_before = 11;
|
|
|
+ google.protobuf.Timestamp expired_at = 12;
|
|
|
+ }
|
|
|
+ repeated Item items = 1;
|
|
|
+}
|
|
|
+message PolicyImplicitUsersForRoleResponse {
|
|
|
+ repeated UserDetail items = 1;
|
|
|
+}
|
|
|
|
|
|
-message PolicyUserListResponse { repeated string items = 1; }
|
|
|
+message PolicyRolesForUserResponse {
|
|
|
+ message Item {
|
|
|
+ int32 id = 1;
|
|
|
+ string code = 2;
|
|
|
+ google.protobuf.Timestamp not_before = 11;
|
|
|
+ google.protobuf.Timestamp expired_at = 12;
|
|
|
+ }
|
|
|
+ repeated Item items = 1;
|
|
|
+}
|
|
|
|
|
|
-message PolicyRoleRequest { string code = 1; }
|
|
|
+message PolicyImplicitRolesForUserResponse {
|
|
|
+ repeated string items = 1;
|
|
|
+}
|
|
|
|
|
|
-message PolicyRoleListResponse { repeated string items = 1; }
|
|
|
+message PolicyRoleListResponse {
|
|
|
+ message Item {
|
|
|
+ int32 id = 1;
|
|
|
+ string code = 2;
|
|
|
+ int32 left = 3;
|
|
|
+ int32 right = 4;
|
|
|
+ google.protobuf.Timestamp updated_at = 9;
|
|
|
+ }
|
|
|
+ repeated Item items = 1;
|
|
|
+}
|
|
|
|
|
|
message PolicyAddRolesForUserRequest {
|
|
|
- string user = 1;
|
|
|
- repeated string roles = 2;
|
|
|
+ int32 user = 1;
|
|
|
+ repeated int32 roles = 2;
|
|
|
google.protobuf.Timestamp not_before = 11;
|
|
|
google.protobuf.Timestamp expired_at = 12;
|
|
|
}
|
|
|
|
|
|
message PolicyDeleteRolesForUserRequest {
|
|
|
- string user = 1;
|
|
|
- repeated string roles = 2;
|
|
|
+ int32 user = 1;
|
|
|
+ repeated int32 roles = 2;
|
|
|
}
|
|
|
|
|
|
-message PolicyPermissionsRequest { repeated Permission items = 1; }
|
|
|
-
|
|
|
-message PolicyPermissionsResponse { repeated Permission items = 1; }
|
|
|
-
|
|
|
-message PolicyResourceResponse { repeated Resource items = 1; }
|
|
|
+message PolicyPermissionList {
|
|
|
+ repeated Permission items = 1;
|
|
|
+}
|
|
|
|
|
|
-// ----------------------------------------------------------------------------
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
service Locale {
|
|
|
rpc Set(LocaleSetRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc Get(LocaleGetRequest) returns (LocaleIndexResponse.Item) {}
|
|
|
+ rpc ByLang(LocaleByLangRequest) returns (LocaleByLangResponse) {}
|
|
|
rpc Index(Pager) returns (LocaleIndexResponse) {}
|
|
|
rpc Destroy(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
}
|
|
|
|
|
|
+message LocaleByLangRequest {
|
|
|
+ string lang = 1;
|
|
|
+}
|
|
|
+
|
|
|
+message LocaleByLangResponse {
|
|
|
+ repeated LocaleIndexResponse.Item items = 1;
|
|
|
+}
|
|
|
+
|
|
|
message LocaleIndexResponse {
|
|
|
message Item {
|
|
|
int32 id = 1;
|
|
|
@@ -389,32 +391,46 @@ message LocaleSetRequest {
|
|
|
string code = 2;
|
|
|
string message = 3;
|
|
|
}
|
|
|
-
|
|
|
// ----------------------------------------------------------------------------
|
|
|
+service Notification {
|
|
|
+ rpc Index(Pager) returns (IndexNotificationResponse) {}
|
|
|
+}
|
|
|
|
|
|
-service Setting {
|
|
|
- rpc Set(SettingSetRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc Get(SettingGetRequest) returns (SettingGetResponse) {}
|
|
|
+message IndexNotificationResponse {
|
|
|
+ message Item {
|
|
|
+ oneof message {
|
|
|
+ EmailTask email = 1;
|
|
|
+ SmsTask sms = 2;
|
|
|
+ }
|
|
|
+ google.protobuf.Timestamp created_at = 19;
|
|
|
+ }
|
|
|
+ repeated Item items = 1;
|
|
|
+ Pagination pagination = 9;
|
|
|
}
|
|
|
|
|
|
-message SettingGetResponse { bytes value = 1; }
|
|
|
+// ----------------------------------------------------------------------------
|
|
|
|
|
|
-message SettingGetRequest {
|
|
|
- optional int32 user = 1;
|
|
|
- string key = 2;
|
|
|
+service LeaveWord {
|
|
|
+ rpc Create(MediaContent) returns (google.protobuf.Empty) {}
|
|
|
+ rpc Index(Pager) returns (LeaveWordIndexResponse) {}
|
|
|
+ rpc Destroy(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
}
|
|
|
|
|
|
-message SettingSetRequest {
|
|
|
- optional int32 user = 1;
|
|
|
- string key = 2;
|
|
|
- bytes value = 3;
|
|
|
- bool encrypt = 9;
|
|
|
+message LeaveWordIndexResponse {
|
|
|
+ message Item {
|
|
|
+ int32 id = 1;
|
|
|
+ string lang = 2;
|
|
|
+ string ip = 3;
|
|
|
+ MediaContent content = 8;
|
|
|
+ google.protobuf.Timestamp updated_at = 11;
|
|
|
+ google.protobuf.Timestamp created_at = 12;
|
|
|
+ }
|
|
|
+ repeated Item items = 1;
|
|
|
+ Pagination pagination = 9;
|
|
|
}
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
|
|
-// ----------------------------------------------------------------------------
|
|
|
-
|
|
|
service Site {
|
|
|
rpc SetMaintenanceMode(SiteMaintenanceModeRequest)
|
|
|
returns (google.protobuf.Empty) {}
|
|
|
@@ -430,26 +446,47 @@ service Site {
|
|
|
rpc SetInfo(SiteSetInfoRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc SetLogo(SiteSetLogoRequest) returns (google.protobuf.Empty) {}
|
|
|
|
|
|
- rpc SetAws(AwsProfile) returns (google.protobuf.Empty) {}
|
|
|
- rpc GetAws(google.protobuf.Empty) returns (AwsProfile) {}
|
|
|
- rpc TestAwsS3(google.protobuf.Empty) returns (SiteAwsS3TestResponse) {}
|
|
|
+ rpc SetMinio(MinioProfile) returns (google.protobuf.Empty) {}
|
|
|
+ rpc GetMinio(google.protobuf.Empty) returns (MinioProfile) {}
|
|
|
+ rpc TestMinio(MinioProfile) returns (SiteMinioTestResponse) {}
|
|
|
+
|
|
|
+ rpc SetTwilio(TwilioProfile) returns (google.protobuf.Empty) {}
|
|
|
+ rpc GetTwilio(google.protobuf.Empty) returns (TwilioProfile) {}
|
|
|
+ rpc TestTwilio(SiteTwilioTestRequest) returns (google.protobuf.Empty) {}
|
|
|
+
|
|
|
rpc SetSmtp(SmtpProfile) returns (google.protobuf.Empty) {}
|
|
|
rpc GetSmtp(google.protobuf.Empty) returns (SmtpProfile) {}
|
|
|
- rpc TestSmtp(SiteSmtpTestRequst) returns (google.protobuf.Empty) {}
|
|
|
+ rpc TestSmtp(SiteSmtpTestRequest) returns (google.protobuf.Empty) {}
|
|
|
+
|
|
|
rpc SetBing(BingProfile) returns (google.protobuf.Empty) {}
|
|
|
rpc GetBing(google.protobuf.Empty) returns (BingProfile) {}
|
|
|
+
|
|
|
+ rpc SetIndexNow(IndexNowProfile) returns (google.protobuf.Empty) {}
|
|
|
+ rpc GetIndexNow(google.protobuf.Empty) returns (IndexNowProfile) {}
|
|
|
+ rpc PingIndexNow(IndexNowPingRequest) returns (google.protobuf.Empty) {}
|
|
|
+
|
|
|
rpc SetGoogle(GoogleProfile) returns (google.protobuf.Empty) {}
|
|
|
rpc GetGoogle(google.protobuf.Empty) returns (GoogleProfile) {}
|
|
|
+ rpc PingGoogle(SitemapPingRequest) returns (google.protobuf.Empty) {}
|
|
|
+
|
|
|
rpc SetBaidu(BaiduProfile) returns (google.protobuf.Empty) {}
|
|
|
rpc GetBaidu(google.protobuf.Empty) returns (BaiduProfile) {}
|
|
|
+ rpc PingBaidu(SitemapPingRequest) returns (google.protobuf.Empty) {}
|
|
|
|
|
|
rpc Status(google.protobuf.Empty) returns (SiteStatusResponse) {}
|
|
|
+}
|
|
|
|
|
|
- rpc NewLeaveWord(SiteNewLeaveWordRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc IndexLeaveWord(Pager) returns (SiteIndexLeaveWordResponse) {}
|
|
|
- rpc DestroyLeaveWord(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
+message IndexNowProfile {
|
|
|
+ string key = 1;
|
|
|
+}
|
|
|
|
|
|
- rpc IndexNotification(Pager) returns (SiteIndexNotificationResponse) {}
|
|
|
+message IndexNowPingRequest {
|
|
|
+ string key = 1;
|
|
|
+ string home = 9;
|
|
|
+}
|
|
|
+
|
|
|
+message SitemapPingRequest {
|
|
|
+ string home = 1;
|
|
|
}
|
|
|
|
|
|
message SiteMaintenanceModeRequest {
|
|
|
@@ -460,29 +497,98 @@ message SiteMaintenanceModeRequest {
|
|
|
optional Item item = 1;
|
|
|
}
|
|
|
|
|
|
-message SiteInstallRequest { UserSignUpRequest user = 1; }
|
|
|
+message SiteInstallRequest {
|
|
|
+ UserSignUpRequest user = 1;
|
|
|
+}
|
|
|
+
|
|
|
+message MinioProfile {
|
|
|
+ optional string region = 1;
|
|
|
+ string host = 2;
|
|
|
+ int32 port = 3;
|
|
|
+ bool https = 4;
|
|
|
+ string access_key = 8;
|
|
|
+ string secret_key = 9;
|
|
|
+}
|
|
|
+
|
|
|
+message SiteMinioTestResponse {
|
|
|
+ repeated string buckets = 1;
|
|
|
+}
|
|
|
+
|
|
|
+message TwilioProfile {
|
|
|
+ string from = 1;
|
|
|
+ string account_sid = 2;
|
|
|
+ string auth_token = 3;
|
|
|
+ optional string sms_status_callback = 9;
|
|
|
+}
|
|
|
+
|
|
|
+message SmtpProfile {
|
|
|
+ // https://github.com/karastojko/mailio/blob/master/include/mailio/smtp.hpp#L229
|
|
|
+ enum AuthMethod {
|
|
|
+ None = 0;
|
|
|
+ Login = 1;
|
|
|
+ StartTls = 2;
|
|
|
+ }
|
|
|
+ string host = 1;
|
|
|
+ uint32 port = 2;
|
|
|
+ AuthMethod auth_method = 3;
|
|
|
+ repeated EmailTask.Address cc = 8;
|
|
|
+ repeated EmailTask.Address bcc = 9;
|
|
|
|
|
|
-message AwsProfile {
|
|
|
- string region = 1;
|
|
|
- optional string endpoint = 2;
|
|
|
- string access_key_id = 3;
|
|
|
- string secret_access_key = 4;
|
|
|
+ EmailTask.Address user = 11;
|
|
|
+ string password = 12;
|
|
|
}
|
|
|
-message SiteAwsS3TestResponse { repeated string buckets = 1; }
|
|
|
|
|
|
-message SiteSmtpTestRequst {
|
|
|
+message EmailTask {
|
|
|
+ message Address {
|
|
|
+ string name = 1;
|
|
|
+ string email = 2;
|
|
|
+ }
|
|
|
+ enum ContentType {
|
|
|
+ Plain = 0;
|
|
|
+ Html = 1;
|
|
|
+ }
|
|
|
+ message Attachment {
|
|
|
+ string name = 1;
|
|
|
+ string content_type = 2;
|
|
|
+ bytes payload = 3;
|
|
|
+ }
|
|
|
+ string subject = 1;
|
|
|
+ string content = 2;
|
|
|
+ ContentType content_type = 3;
|
|
|
+
|
|
|
+ Address to = 11;
|
|
|
+ repeated Address cc = 12;
|
|
|
+ repeated Address bcc = 13;
|
|
|
+ repeated Attachment attachments = 21;
|
|
|
+}
|
|
|
+
|
|
|
+message SiteTwilioTestRequest {
|
|
|
string to = 1;
|
|
|
+ string message = 2;
|
|
|
+ TwilioProfile profile = 9;
|
|
|
+}
|
|
|
+
|
|
|
+message SiteSmtpTestRequest {
|
|
|
+ EmailTask.Address to = 1;
|
|
|
string subject = 2;
|
|
|
- string body = 3;
|
|
|
+ string content = 3;
|
|
|
+ SmtpProfile profile = 9;
|
|
|
}
|
|
|
|
|
|
-message SiteSetLogoRequest { string url = 1; }
|
|
|
-message SiteSetCopyrightRequest { string payload = 1; }
|
|
|
-message SiteSetKeywordsRequest { repeated string items = 1; }
|
|
|
+message SiteSetLogoRequest {
|
|
|
+ string url = 1;
|
|
|
+}
|
|
|
+message SiteSetCopyrightRequest {
|
|
|
+ string payload = 1;
|
|
|
+}
|
|
|
+message SiteSetKeywordsRequest {
|
|
|
+ repeated string items = 1;
|
|
|
+}
|
|
|
message SiteSetInfoRequest {
|
|
|
- string title = 1;
|
|
|
- string subhead = 2;
|
|
|
- string description = 3;
|
|
|
+ string lang = 1;
|
|
|
+ string title = 11;
|
|
|
+ string subhead = 12;
|
|
|
+ string description = 13;
|
|
|
}
|
|
|
|
|
|
message SiteLayoutResponse {
|
|
|
@@ -500,19 +606,6 @@ message SiteLayoutResponse {
|
|
|
repeated string languages = 9;
|
|
|
}
|
|
|
|
|
|
-message SiteNewLeaveWordRequest { string body = 1; }
|
|
|
-message SiteIndexLeaveWordResponse {
|
|
|
- message Item {
|
|
|
- int32 id = 1;
|
|
|
- string lang = 2;
|
|
|
- string ip = 3;
|
|
|
- string body = 4;
|
|
|
- google.protobuf.Timestamp created_at = 9;
|
|
|
- }
|
|
|
- repeated Item items = 1;
|
|
|
- Pagination pagination = 9;
|
|
|
-}
|
|
|
-
|
|
|
message GoogleProfile {
|
|
|
// https://developers.google.com/recaptcha/intro
|
|
|
message ReCaptcha {
|
|
|
@@ -529,27 +622,14 @@ message BaiduProfile {
|
|
|
}
|
|
|
optional SiteVerify site_verify = 1;
|
|
|
}
|
|
|
-message BingProfile { optional string site_verify_id = 1; }
|
|
|
-
|
|
|
-message SmtpProfile {
|
|
|
- string host = 1;
|
|
|
- uint32 port = 2;
|
|
|
- string user = 3;
|
|
|
- string password = 4;
|
|
|
- string cc = 5;
|
|
|
- string bcc = 6;
|
|
|
+message BingProfile {
|
|
|
+ optional string site_verify_id = 1;
|
|
|
}
|
|
|
|
|
|
-message SiteIndexNotificationResponse {
|
|
|
- message Item {
|
|
|
- oneof message {
|
|
|
- EmailTask email = 1;
|
|
|
- SmsTask sms = 2;
|
|
|
- }
|
|
|
- google.protobuf.Timestamp created_at = 19;
|
|
|
- }
|
|
|
- repeated Item items = 1;
|
|
|
- Pagination pagination = 9;
|
|
|
+message SmsTask {
|
|
|
+ string from = 1;
|
|
|
+ repeated string to = 2;
|
|
|
+ string body = 3;
|
|
|
}
|
|
|
|
|
|
message SiteStatusResponse {
|
|
|
@@ -574,7 +654,9 @@ message SiteStatusResponse {
|
|
|
string info = 1;
|
|
|
repeated Item items = 2;
|
|
|
}
|
|
|
- message RabbitMq { string protocol = 1; }
|
|
|
+ message RabbitMq {
|
|
|
+ string protocol = 1;
|
|
|
+ }
|
|
|
message OpenSearch {
|
|
|
string url = 1;
|
|
|
string info = 2;
|
|
|
@@ -619,6 +701,7 @@ message ShorterLinkIndexResponse {
|
|
|
int32 id = 1;
|
|
|
string url = 2;
|
|
|
string details = 3;
|
|
|
+ string code = 9;
|
|
|
|
|
|
google.protobuf.Timestamp updated_at = 11;
|
|
|
}
|
|
|
@@ -650,7 +733,6 @@ message TagIndexResponse {
|
|
|
int32 id = 1;
|
|
|
string code = 2;
|
|
|
int32 priority = 3;
|
|
|
-
|
|
|
google.protobuf.Timestamp updated_at = 11;
|
|
|
}
|
|
|
repeated Item items = 1;
|
|
|
@@ -672,32 +754,30 @@ service Category {
|
|
|
rpc Create(CategoryCreateRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc Update(CategoryUpdateRequest) returns (google.protobuf.Empty) {}
|
|
|
rpc Destroy(IdRequest) returns (google.protobuf.Empty) {}
|
|
|
- rpc Index(Pager) returns (CategoryIndexResponse) {}
|
|
|
+ rpc Index(google.protobuf.Empty) returns (CategoryIndexResponse) {}
|
|
|
}
|
|
|
message CategoryIndexResponse {
|
|
|
message Item {
|
|
|
int32 id = 1;
|
|
|
string code = 2;
|
|
|
- optional int32 parent_id = 3;
|
|
|
- int32 priority = 4;
|
|
|
+ int32 left = 3;
|
|
|
+ int32 right = 4;
|
|
|
|
|
|
google.protobuf.Timestamp updated_at = 11;
|
|
|
}
|
|
|
- Pagination pagination = 1;
|
|
|
- repeated Item items = 11;
|
|
|
+ repeated Item items = 1;
|
|
|
}
|
|
|
message CategoryCreateRequest {
|
|
|
- string lang = 1;
|
|
|
- string code = 2;
|
|
|
- optional int32 parent_id = 3;
|
|
|
- int32 priority = 11;
|
|
|
+ string code = 1;
|
|
|
+ oneof by {
|
|
|
+ int32 left = 2;
|
|
|
+ int32 parent = 3;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
message CategoryUpdateRequest {
|
|
|
int32 id = 1;
|
|
|
string code = 2;
|
|
|
- optional int32 parent_id = 3;
|
|
|
- int32 priority = 11;
|
|
|
}
|
|
|
|
|
|
// ----------------------------------------------------------------------------
|