feat: limit amount of active actions (#3143)

* max actions

* fix: max allowed actions

* fix: max allowed actions

* fix tests
This commit is contained in:
Livio Amstutz
2022-02-02 09:04:05 +01:00
committed by GitHub
parent 585ebf9a81
commit 1367a2e139
32 changed files with 583 additions and 123 deletions

View File

@@ -2822,6 +2822,8 @@ message SetDefaultFeaturesRequest {
bool custom_text_login = 21;
bool lockout_policy = 22;
bool actions = 23;
zitadel.features.v1.ActionsAllowed actions_allowed = 24;
int32 max_actions = 25;
}
message SetDefaultFeaturesResponse {
@@ -2862,6 +2864,8 @@ message SetOrgFeaturesRequest {
bool custom_text_login = 22;
bool lockout_policy = 23;
bool actions = 24;
zitadel.features.v1.ActionsAllowed actions_allowed = 25;
int32 max_actions = 26;
}
message SetOrgFeaturesResponse {

View File

@@ -31,6 +31,8 @@ message Features {
bool custom_text_login = 20;
bool lockout_policy = 21;
bool actions = 22;
ActionsAllowed actions_allowed = 23;
int32 max_actions = 24;
}
message FeatureTier {
@@ -47,3 +49,9 @@ enum FeaturesState {
FEATURES_STATE_CANCELED = 2;
FEATURES_STATE_GRANDFATHERED = 3;
}
enum ActionsAllowed {
ACTIONS_ALLOWED_NOT_ALLOWED = 0;
ACTIONS_ALLOWED_MAX = 1;
ACTIONS_ALLOWED_UNLIMITED = 2;
}

View File

@@ -2794,30 +2794,29 @@ service ManagementService {
};
}
//TODO: enable in next release
// rpc DeactivateAction(DeactivateActionRequest) returns (DeactivateActionResponse) {
// option (google.api.http) = {
// post: "/actions/{id}/_deactivate"
// body: "*"
// };
//
// option (zitadel.v1.auth_option) = {
// permission: "org.action.write"
// feature: "actions"
// };
// }
//
// rpc ReactivateAction(ReactivateActionRequest) returns (ReactivateActionResponse) {
// option (google.api.http) = {
// post: "/actions/{id}/_reactivate"
// body: "*"
// };
//
// option (zitadel.v1.auth_option) = {
// permission: "org.action.write"
// feature: "actions"
// };
// }
rpc DeactivateAction(DeactivateActionRequest) returns (DeactivateActionResponse) {
option (google.api.http) = {
post: "/actions/{id}/_deactivate"
body: "*"
};
option (zitadel.v1.auth_option) = {
permission: "org.action.write"
feature: "actions"
};
}
rpc ReactivateAction(ReactivateActionRequest) returns (ReactivateActionResponse) {
option (google.api.http) = {
post: "/actions/{id}/_reactivate"
body: "*"
};
option (zitadel.v1.auth_option) = {
permission: "org.action.write"
feature: "actions"
};
}
rpc DeleteAction(DeleteActionRequest) returns (DeleteActionResponse) {
option (google.api.http) = {