mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-12 03:57:32 +00:00
feat: custom message text (#1801)
* feat: default custom message text * feat: org custom message text * feat: org custom message text * feat: custom messages query side * feat: default messages * feat: message text user fields * feat: check for inactive user * feat: fix send password reset * feat: fix custom org text * feat: add variables to docs * feat: custom text tests * feat: fix notifications * feat: add custom text feature * feat: add custom text feature * feat: feature in custom message texts * feat: add custom text feature in frontend * feat: merge main * feat: feature tests * feat: change phone message in setup * fix: remove unused code, add event translation * fix: merge main and fix problems * fix: english translation file * fix: migration versions * fix: setup * feat: fix pr requests * feat: fix phone code message * feat: migration * feat: setup * fix: remove unused tests Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
@@ -6,6 +6,7 @@ import "zitadel/object.proto";
|
||||
import "zitadel/options.proto";
|
||||
import "zitadel/org.proto";
|
||||
import "zitadel/policy.proto";
|
||||
import "zitadel/text.proto";
|
||||
import "zitadel/member.proto";
|
||||
import "zitadel/features.proto";
|
||||
|
||||
@@ -1447,28 +1448,137 @@ service AdminService {
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
}
|
||||
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
||||
tags: "policy";
|
||||
tags: "password policy";
|
||||
tags: "password lockout policy";
|
||||
responses: {
|
||||
key: "200";
|
||||
value: {
|
||||
description: "default password lockout policy updated";
|
||||
};
|
||||
};
|
||||
responses: {
|
||||
key: "400";
|
||||
value: {
|
||||
description: "invalid argument";
|
||||
schema: {
|
||||
json_schema: {
|
||||
ref: "#/definitions/rpcStatus";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
//Returns the custom text for initial message
|
||||
rpc GetDefaultInitMessageText(GetDefaultInitMessageTextRequest) returns (GetDefaultInitMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/init/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for initial message
|
||||
// it impacts all organisations without customized initial message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetDefaultInitMessageText(SetDefaultInitMessageTextRequest) returns (SetDefaultInitMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/init/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for password reset message
|
||||
rpc GetDefaultPasswordResetMessageText(GetDefaultPasswordResetMessageTextRequest) returns (GetDefaultPasswordResetMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/passwordreset/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for password reset message
|
||||
// it impacts all organisations without customized password reset message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetDefaultPasswordResetMessageText(SetDefaultPasswordResetMessageTextRequest) returns (SetDefaultPasswordResetMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/passwordreset/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//Returns the custom text for verify email message
|
||||
rpc GetDefaultVerifyEmailMessageText(GetDefaultVerifyEmailMessageTextRequest) returns (GetDefaultVerifyEmailMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/verifyemail/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for verify email message
|
||||
// it impacts all organisations without customized verify email message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetDefaultVerifyEmailMessageText(SetDefaultVerifyEmailMessageTextRequest) returns (SetDefaultVerifyEmailMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyemail/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for verify phone message
|
||||
rpc GetDefaultVerifyPhoneMessageText(GetDefaultVerifyPhoneMessageTextRequest) returns (GetDefaultVerifyPhoneMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/verifyphone/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
//Sets the default custom text for verify phone message
|
||||
// it impacts all organisations without customized verify phone message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetDefaultVerifyPhoneMessageText(SetDefaultVerifyPhoneMessageTextRequest) returns (SetDefaultVerifyPhoneMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyphone/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for domain claimed message
|
||||
rpc GetDefaultDomainClaimedMessageText(GetDefaultDomainClaimedMessageTextRequest) returns (GetDefaultDomainClaimedMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/domainclaimed/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for domain claimed phone message
|
||||
// it impacts all organisations without customized verify phone message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Domain}} {{.TempUsername}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetDefaultDomainClaimedMessageText(SetDefaultDomainClaimedMessageTextRequest) returns (SetDefaultDomainClaimedMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyphone/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -2286,6 +2396,7 @@ message SetDefaultFeaturesRequest {
|
||||
bool login_policy_password_reset = 14;
|
||||
bool label_policy_private_label = 15;
|
||||
bool label_policy_watermark = 16;
|
||||
bool custom_text = 17;
|
||||
}
|
||||
|
||||
message SetDefaultFeaturesResponse {
|
||||
@@ -2319,6 +2430,7 @@ message SetOrgFeaturesRequest {
|
||||
bool login_policy_password_reset = 15;
|
||||
bool label_policy_private_label = 16;
|
||||
bool label_policy_watermark = 17;
|
||||
bool custom_text = 18;
|
||||
}
|
||||
|
||||
message SetOrgFeaturesResponse {
|
||||
@@ -2779,6 +2891,151 @@ message UpdatePasswordLockoutPolicyResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetDefaultInitMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetDefaultInitMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetDefaultInitMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 1000}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetDefaultInitMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetDefaultPasswordResetMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetDefaultPasswordResetMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetDefaultPasswordResetMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetDefaultPasswordResetMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetDefaultVerifyEmailMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetDefaultVerifyEmailMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetDefaultVerifyEmailMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetDefaultVerifyEmailMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetDefaultVerifyPhoneMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetDefaultVerifyPhoneMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetDefaultVerifyPhoneMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetDefaultVerifyPhoneMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetDefaultDomainClaimedMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetDefaultDomainClaimedMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetDefaultDomainClaimedMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetDefaultDomainClaimedMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message AddIAMMemberRequest {
|
||||
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = {
|
||||
json_schema: {
|
||||
|
@@ -24,6 +24,7 @@ message Features {
|
||||
bool login_policy_password_reset = 13;
|
||||
bool label_policy_private_label = 14;
|
||||
bool label_policy_watermark = 15;
|
||||
bool custom_text = 16;
|
||||
}
|
||||
|
||||
message FeatureTier {
|
||||
|
@@ -9,6 +9,7 @@ import "zitadel/org.proto";
|
||||
import "zitadel/member.proto";
|
||||
import "zitadel/project.proto";
|
||||
import "zitadel/policy.proto";
|
||||
import "zitadel/text.proto";
|
||||
import "zitadel/message.proto";
|
||||
import "zitadel/change.proto";
|
||||
import "zitadel/auth_n_key.proto";
|
||||
@@ -2077,6 +2078,200 @@ service ManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for initial message
|
||||
rpc GetCustomInitMessageText(GetCustomInitMessageTextRequest) returns (GetCustomInitMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/init/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for initial message
|
||||
// it impacts all organisations without customized initial message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetCustomInitMessageText(SetCustomInitMessageTextRequest) returns (SetCustomInitMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/init/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
feature: "custom_text"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom init message text of the organisation
|
||||
// The default text of the IAM will trigger after
|
||||
rpc ResetCustomInitMessageTextToDefault(ResetCustomInitMessageTextToDefaultRequest) returns (ResetCustomInitMessageTextToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/text/message/init/{language}"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.delete"
|
||||
};
|
||||
}
|
||||
//Returns the custom text for password reset message
|
||||
rpc GetCustomPasswordResetMessageText(GetCustomPasswordResetMessageTextRequest) returns (GetCustomPasswordResetMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/passwordreset/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for password reset message
|
||||
// it impacts all organisations without customized password reset message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetCustomPasswordResetMessageText(SetCustomPasswordResetMessageTextRequest) returns (SetCustomPasswordResetMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/passwordreset/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
feature: "custom_text"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom init message text of the organisation
|
||||
// The default text of the IAM will trigger after
|
||||
rpc ResetCustomPasswordResetMessageTextToDefault(ResetCustomPasswordResetMessageTextToDefaultRequest) returns (ResetCustomPasswordResetMessageTextToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/text/message/verifyemail/{language}"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.delete"
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for verify email message
|
||||
rpc GetCustomVerifyEmailMessageText(GetCustomVerifyEmailMessageTextRequest) returns (GetCustomVerifyEmailMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/verifyemail/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for verify email message
|
||||
// it impacts all organisations without customized verify email message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetCustomVerifyEmailMessageText(SetCustomVerifyEmailMessageTextRequest) returns (SetCustomVerifyEmailMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyemail/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
feature: "custom_text"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom init message text of the organisation
|
||||
// The default text of the IAM will trigger after
|
||||
rpc ResetCustomVerifyEmailMessageTextToDefault(ResetCustomVerifyEmailMessageTextToDefaultRequest) returns (ResetCustomVerifyEmailMessageTextToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/text/message/verifyemail/{language}"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.delete"
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for verify email message
|
||||
rpc GetCustomVerifyPhoneMessageText(GetCustomVerifyPhoneMessageTextRequest) returns (GetCustomVerifyPhoneMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/verifyphone/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
//Sets the default custom text for verify email message
|
||||
// it impacts all organisations without customized verify email message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Code}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetCustomVerifyPhoneMessageText(SetCustomVerifyPhoneMessageTextRequest) returns (SetCustomVerifyPhoneMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/verifyphone/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
feature: "custom_text"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom init message text of the organisation
|
||||
// The default text of the IAM will trigger after
|
||||
rpc ResetCustomVerifyPhoneMessageTextToDefault(ResetCustomVerifyPhoneMessageTextToDefaultRequest) returns (ResetCustomVerifyPhoneMessageTextToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/text/message/verifyphone/{language}"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.delete"
|
||||
};
|
||||
}
|
||||
|
||||
//Returns the custom text for domain claimed message
|
||||
rpc GetCustomDomainClaimedMessageText(GetCustomDomainClaimedMessageTextRequest) returns (GetCustomDomainClaimedMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/text/message/domainclaimed/{language}";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.read";
|
||||
};
|
||||
}
|
||||
|
||||
// Sets the default custom text for domain claimed message
|
||||
// it impacts all organisations without customized domain claimed message text
|
||||
// The Following Variables can be used:
|
||||
// {{.Domain}} {{.TempUsername}} {{.UserName}} {{.FirstName}} {{.LastName}} {{.NickName}} {{.DisplayName}} {{.LastEmail}} {{.VerifiedEmail}} {{.LastPhone}} {{.VerifiedPhone}} {{.PreferredLoginName}} {{.LoginNames}} {{.ChangeDate}}
|
||||
rpc SetCustomDomainClaimedMessageCustomText(SetCustomDomainClaimedMessageTextRequest) returns (SetCustomDomainClaimedMessageTextResponse) {
|
||||
option (google.api.http) = {
|
||||
put: "/text/message/domainclaimed/{language}";
|
||||
body: "*";
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "iam.policy.write";
|
||||
feature: "custom_text"
|
||||
};
|
||||
}
|
||||
|
||||
// Removes the custom init message text of the organisation
|
||||
// The default text of the IAM will trigger after
|
||||
rpc ResetCustomDomainClaimedMessageTextToDefault(ResetCustomDomainClaimedMessageTextToDefaultRequest) returns (ResetCustomDomainClaimedMessageTextToDefaultResponse) {
|
||||
option (google.api.http) = {
|
||||
delete: "/text/message/domainclaimed/{language}"
|
||||
};
|
||||
|
||||
option (zitadel.v1.auth_option) = {
|
||||
permission: "policy.delete"
|
||||
};
|
||||
}
|
||||
|
||||
// Returns a identity provider configuration of the organisation
|
||||
rpc GetOrgIDPByID(GetOrgIDPByIDRequest) returns (GetOrgIDPByIDResponse) {
|
||||
option (google.api.http) = {
|
||||
@@ -3838,6 +4033,196 @@ message ResetLabelPolicyToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetCustomInitMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetCustomInitMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetCustomInitMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetCustomInitMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ResetCustomInitMessageTextToDefaultRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message ResetCustomInitMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetCustomPasswordResetMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetCustomPasswordResetMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetCustomPasswordResetMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetCustomPasswordResetMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ResetCustomPasswordResetMessageTextToDefaultRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message ResetCustomPasswordResetMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetCustomVerifyEmailMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetCustomVerifyEmailMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetCustomVerifyEmailMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetCustomVerifyEmailMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ResetCustomVerifyEmailMessageTextToDefaultRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message ResetCustomVerifyEmailMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetCustomVerifyPhoneMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetCustomVerifyPhoneMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetCustomVerifyPhoneMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetCustomVerifyPhoneMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ResetCustomVerifyPhoneMessageTextToDefaultRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message ResetCustomVerifyPhoneMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message GetCustomDomainClaimedMessageTextRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message GetCustomDomainClaimedMessageTextResponse {
|
||||
zitadel.text.v1.MessageCustomText custom_text = 1;
|
||||
}
|
||||
|
||||
message SetCustomDomainClaimedMessageTextRequest {
|
||||
string language = 1 [
|
||||
(validate.rules).string = {min_len: 1, max_len: 200},
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
example: "\"de\""
|
||||
}
|
||||
];
|
||||
string title = 2 [(validate.rules).string = {max_len: 200}];
|
||||
string pre_header = 3 [(validate.rules).string = {max_len: 200}];
|
||||
string subject = 4 [(validate.rules).string = {max_len: 200}];
|
||||
string greeting = 5 [(validate.rules).string = {max_len: 200}];
|
||||
string text = 6 [(validate.rules).string = {max_len: 800}];
|
||||
string button_text = 7 [(validate.rules).string = {max_len: 200}];
|
||||
string footer_text = 8 [(validate.rules).string = {max_len: 200}];
|
||||
}
|
||||
|
||||
message SetCustomDomainClaimedMessageTextResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
//This is an empty request
|
||||
message ResetCustomDomainClaimedMessageTextToDefaultRequest {
|
||||
string language = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
||||
message ResetCustomDomainClaimedMessageTextToDefaultResponse {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
}
|
||||
|
||||
message GetOrgIDPByIDRequest {
|
||||
string id = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
|
||||
}
|
||||
|
47
proto/zitadel/text.proto
Normal file
47
proto/zitadel/text.proto
Normal file
@@ -0,0 +1,47 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import "zitadel/object.proto";
|
||||
import "protoc-gen-openapiv2/options/annotations.proto";
|
||||
|
||||
package zitadel.text.v1;
|
||||
|
||||
option go_package ="github.com/caos/zitadel/pkg/grpc/text";
|
||||
|
||||
message MessageCustomText {
|
||||
zitadel.v1.ObjectDetails details = 1;
|
||||
string title = 2 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "custom text for email title"
|
||||
}
|
||||
];
|
||||
string pre_header = 3 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "custom text for email pre header"
|
||||
}
|
||||
];
|
||||
string subject = 4 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "custom text for email subject"
|
||||
}
|
||||
];
|
||||
string greeting = 5 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "custom text for email greeting"
|
||||
}
|
||||
];
|
||||
string text = 6 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "custom text for email text"
|
||||
}
|
||||
];
|
||||
string button_text = 7 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "custom text for email button_text"
|
||||
}
|
||||
];
|
||||
string footer_text = 8 [
|
||||
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
|
||||
description: "custom text for email footer_text"
|
||||
}
|
||||
];
|
||||
}
|
Reference in New Issue
Block a user