fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! refactor(api): moving organization API resourced based

This commit is contained in:
Iraq Jaber
2025-05-03 12:42:05 +02:00
parent 3e482e501e
commit 80f61aefc9
2 changed files with 137 additions and 0 deletions

View File

@@ -0,0 +1,90 @@
package metadata
import (
v2beta_object "github.com/zitadel/zitadel/internal/api/grpc/object/v2beta"
"github.com/zitadel/zitadel/internal/query"
"github.com/zitadel/zitadel/internal/zerrors"
meta_pb "github.com/zitadel/zitadel/pkg/grpc/metadata/v2beta"
)
// func UserMetadataListToPb(dataList []*query.UserMetadata) []*meta_pb.Metadata {
// mds := make([]*meta_pb.Metadata, len(dataList))
// for i, data := range dataList {
// mds[i] = UserMetadataToPb(data)
// }
// return mds
// }
// func UserMetadataToPb(data *query.UserMetadata) *meta_pb.Metadata {
// return &meta_pb.Metadata{
// Key: data.Key,
// Value: data.Value,
// Details: object.ToViewDetailsPb(
// data.Sequence,
// data.CreationDate,
// data.ChangeDate,
// data.ResourceOwner,
// ),
// }
// }
func OrgMetadataListToPb(dataList []*query.OrgMetadata) []*meta_pb.Metadata {
mds := make([]*meta_pb.Metadata, len(dataList))
for i, data := range dataList {
mds[i] = OrgMetadataToPb(data)
}
return mds
}
func OrgMetadataToPb(data *query.OrgMetadata) *meta_pb.Metadata {
return &meta_pb.Metadata{
Key: data.Key,
Value: data.Value,
Details: v2beta_object.ToViewDetailsPb(
data.Sequence,
data.CreationDate,
data.ChangeDate,
data.ResourceOwner,
),
}
}
func OrgMetadataQueriesToQuery(queries []*meta_pb.MetadataQuery) (_ []query.SearchQuery, err error) {
q := make([]query.SearchQuery, len(queries))
for i, query := range queries {
q[i], err = OrgMetadataQueryToQuery(query)
if err != nil {
return nil, err
}
}
return q, nil
}
func OrgMetadataQueryToQuery(metadataQuery *meta_pb.MetadataQuery) (query.SearchQuery, error) {
switch q := metadataQuery.Query.(type) {
case *meta_pb.MetadataQuery_KeyQuery:
return query.NewOrgMetadataKeySearchQuery(q.KeyQuery.Key, v2beta_object.TextMethodToQuery(q.KeyQuery.Method))
default:
return nil, zerrors.ThrowInvalidArgument(nil, "METAD-fdg23", "List.Query.Invalid")
}
}
// func UserMetadataQueriesToQuery(queries []*meta_pb.MetadataQuery) (_ []query.SearchQuery, err error) {
// q := make([]query.SearchQuery, len(queries))
// for i, query := range queries {
// q[i], err = UserMetadataQueryToQuery(query)
// if err != nil {
// return nil, err
// }
// }
// return q, nil
// }
// func UserMetadataQueryToQuery(metadataQuery *meta_pb.MetadataQuery) (query.SearchQuery, error) {
// switch q := metadataQuery.Query.(type) {
// case *meta_pb.MetadataQuery_KeyQuery:
// return query.NewUserMetadataKeySearchQuery(q.KeyQuery.Key, object.TextMethodToQuery(q.KeyQuery.Method))
// default:
// return nil, zerrors.ThrowInvalidArgument(nil, "METAD-Vn7qy", "List.Query.Invalid")
// }
// }

View File

@@ -0,0 +1,47 @@
syntax = "proto3";
import "zitadel/object/v2beta/object.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";
package zitadel.metadata.v2beta;
option go_package ="github.com/zitadel/zitadel/pkg/grpc/metadata/v2beta";
message Metadata {
zitadel.object.v2beta.Details details = 1;
string key = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "metadata key",
example: "\"key1\"";
}
];
bytes value = 3 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "metadata value is base64 encoded, make sure to decode to get the value",
example: "\"VGhpcyBpcyBteSBmaXJzdCB2YWx1ZQ==\"";
}
];
}
message MetadataQuery {
oneof query {
option (validate.required) = true;
MetadataKeyQuery key_query = 1;
}
}
message MetadataKeyQuery {
string key = 1 [
(validate.rules).string = {max_len: 200},
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
example: "\"key\""
}
];
zitadel.object.v2beta.TextQueryMethod method = 2 [
(validate.rules).enum.defined_only = true,
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
description: "defines which text equality method is used";
}
];
}