feat(org): add org metadata functionality (#4234)

* feat(org): add org metadata functionality

* fix(metadata): add unit tests and review for org metadata

* fix(org-metadata): move endpoints to /

Co-authored-by: Fabi <38692350+hifabienne@users.noreply.github.com>
This commit is contained in:
Stefan Benz
2022-09-20 15:32:09 +01:00
committed by GitHub
parent 05cb672cff
commit 2c1f9ac4a8
25 changed files with 2267 additions and 27 deletions

View File

@@ -841,6 +841,76 @@ service ManagementService {
};
}
// Sets a org metadata by key
rpc SetOrgMetadata(SetOrgMetadataRequest) returns (SetOrgMetadataResponse) {
option (google.api.http) = {
post: "/metadata/{key}"
body: "*"
};
option (zitadel.v1.auth_option) = {
permission: "org.write"
};
}
// Set a list of org metadata
rpc BulkSetOrgMetadata(BulkSetOrgMetadataRequest) returns (BulkSetOrgMetadataResponse) {
option (google.api.http) = {
post: "/metadata/_bulk"
body: "*"
};
option (zitadel.v1.auth_option) = {
permission: "org.write"
};
}
// Returns the org metadata
rpc ListOrgMetadata(ListOrgMetadataRequest) returns (ListOrgMetadataResponse) {
option (google.api.http) = {
post: "/metadata/_search"
body: "*"
};
option (zitadel.v1.auth_option) = {
permission: "org.read"
};
}
// Returns the org metadata by key
rpc GetOrgMetadata(GetOrgMetadataRequest) returns (GetOrgMetadataResponse) {
option (google.api.http) = {
get: "/metadata/{key}"
};
option (zitadel.v1.auth_option) = {
permission: "org.read"
};
}
// Removes a org metadata by key
rpc RemoveOrgMetadata(RemoveOrgMetadataRequest) returns (RemoveOrgMetadataResponse) {
option (google.api.http) = {
delete: "/metadata/{key}"
};
option (zitadel.v1.auth_option) = {
permission: "org.write"
};
}
// Set a list of org metadata
rpc BulkRemoveOrgMetadata(BulkRemoveOrgMetadataRequest) returns (BulkRemoveOrgMetadataResponse) {
option (google.api.http) = {
delete: "/metadata/_bulk"
body: "*"
};
option (zitadel.v1.auth_option) = {
permission: "org.write"
};
}
// Returns all registered domains of my organisation
// Limit should always be set, there is a default limit set by the service
rpc ListOrgDomains(ListOrgDomainsRequest) returns (ListOrgDomainsResponse) {
@@ -3680,6 +3750,61 @@ message RemoveOrgMemberResponse {
zitadel.v1.ObjectDetails details = 1;
}
message ListOrgMetadataRequest {
zitadel.v1.ListQuery query = 1;
repeated zitadel.metadata.v1.MetadataQuery queries = 2;
}
message ListOrgMetadataResponse {
zitadel.v1.ListDetails details = 1;
repeated zitadel.metadata.v1.Metadata result = 2;
}
message GetOrgMetadataRequest {
string key = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
}
message GetOrgMetadataResponse {
zitadel.metadata.v1.Metadata metadata = 1;
}
message SetOrgMetadataRequest {
string key = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
bytes value = 2 [(validate.rules).bytes = {min_len: 1, max_len: 500000}];
}
message SetOrgMetadataResponse {
zitadel.v1.ObjectDetails details = 1;
}
message BulkSetOrgMetadataRequest {
message Metadata {
string key = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
bytes value = 2 [(validate.rules).bytes = {min_len: 1, max_len: 500000}];
}
repeated Metadata metadata = 1;
}
message BulkSetOrgMetadataResponse {
zitadel.v1.ObjectDetails details = 1;
}
message RemoveOrgMetadataRequest {
string key = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
}
message RemoveOrgMetadataResponse {
zitadel.v1.ObjectDetails details = 1;
}
message BulkRemoveOrgMetadataRequest {
repeated string keys = 1 [(validate.rules).repeated.items.string = {min_len: 1, max_len: 200}];
}
message BulkRemoveOrgMetadataResponse {
zitadel.v1.ObjectDetails details = 1;
}
message GetProjectByIDRequest {
string id = 1 [(validate.rules).string = {min_len: 1, max_len: 200}];
}