package instance import ( "context" "connectrpc.com/connect" instancev2 "github.com/zitadel/zitadel/backend/v3/api/instance/v2" "github.com/zitadel/zitadel/internal/api/authz" filter "github.com/zitadel/zitadel/internal/api/grpc/filter/v2beta" instance "github.com/zitadel/zitadel/pkg/grpc/instance/v2beta" ) func (s *Server) GetInstance(ctx context.Context, request *connect.Request[instance.GetInstanceRequest]) (*connect.Response[instance.GetInstanceResponse], error) { if authz.GetFeatures(ctx).EnableRelationalTables { return instancev2.GetInstanceBeta(ctx, request) } inst, err := s.query.Instance(ctx, true) if err != nil { return nil, err } return connect.NewResponse(&instance.GetInstanceResponse{ Instance: ToProtoObject(inst), }), nil } func (s *Server) ListInstances(ctx context.Context, req *connect.Request[instance.ListInstancesRequest]) (*connect.Response[instance.ListInstancesResponse], error) { if authz.GetFeatures(ctx).EnableRelationalTables { return instancev2.ListInstancesBeta(ctx, req) } queries, err := ListInstancesRequestToModel(req.Msg, s.systemDefaults) if err != nil { return nil, err } instances, err := s.query.SearchInstances(ctx, queries) if err != nil { return nil, err } return connect.NewResponse(&instance.ListInstancesResponse{ Instances: InstancesToPb(instances.Instances), Pagination: filter.QueryToPaginationPb(queries.SearchRequest, instances.SearchResponse), }), nil } func (s *Server) ListCustomDomains(ctx context.Context, req *connect.Request[instance.ListCustomDomainsRequest]) (*connect.Response[instance.ListCustomDomainsResponse], error) { if authz.GetFeatures(ctx).EnableRelationalTables { return instancev2.ListCustomDomainsBeta(ctx, req) } queries, err := ListCustomDomainsRequestToModel(req.Msg, s.systemDefaults) if err != nil { return nil, err } domains, err := s.query.SearchInstanceDomains(ctx, queries) if err != nil { return nil, err } return connect.NewResponse(&instance.ListCustomDomainsResponse{ Domains: DomainsToPb(domains.Domains), Pagination: filter.QueryToPaginationPb(queries.SearchRequest, domains.SearchResponse), }), nil } func (s *Server) ListTrustedDomains(ctx context.Context, req *connect.Request[instance.ListTrustedDomainsRequest]) (*connect.Response[instance.ListTrustedDomainsResponse], error) { if authz.GetFeatures(ctx).EnableRelationalTables { return instancev2.ListTrustedDomainsBeta(ctx, req) } queries, err := ListTrustedDomainsRequestToModel(req.Msg, s.systemDefaults) if err != nil { return nil, err } domains, err := s.query.SearchInstanceTrustedDomains(ctx, queries) if err != nil { return nil, err } return connect.NewResponse(&instance.ListTrustedDomainsResponse{ TrustedDomain: trustedDomainsToPb(domains.Domains), Pagination: filter.QueryToPaginationPb(queries.SearchRequest, domains.SearchResponse), }), nil }