Esempio n. 1
0
        public async Task <IList <MetaField> > GetByIdAsync(IList <string> ids)
        {
            return(await _grpcCallerService.CallService(_metaFieldServiceProvider.GrpcEndpoint, async (grpcChannel) =>
            {
                var client = new MetaFieldService.MetaFieldServiceClient(grpcChannel);
                var response = await client.GetByIdsAsync(new GetByIdsRequest
                {
                    Ids = { ids }
                });

                // Filter out non-public meta-fields
                return response.MetaFields
                .Where(x => x.IsPublic)
                .ToList();
            }));
        }
Esempio n. 2
0
        public async Task <IList <MetaField> > GetBySearchAsync(string parentId, string @namespace, string name)
        {
            return(await _grpcCallerService.CallService(_metaFieldServiceProvider.GrpcEndpoint, async (grpcChannel) =>
            {
                var client = new MetaFieldService.MetaFieldServiceClient(grpcChannel);
                var response = await client.GetBySearchAsync(new GetBySearchRequest
                {
                    ParentId = parentId,
                    Namespace = @namespace,
                    Name = name,
                });

                // Filter out non-public meta-fields
                return response.Results
                .Where(x => x.IsPublic)
                .ToList();
            }));
        }
Esempio n. 3
0
        public async Task <IDictionary <string, IList <MetaField> > > GetByParentIdsAsync(IList <string> parentIds)
        {
            return(await _grpcCallerService.CallService(_metaFieldServiceProvider.GrpcEndpoint, async (grpcChannel) =>
            {
                var client = new MetaFieldService.MetaFieldServiceClient(grpcChannel);
                var response = await client.GetByParentIdsAsync(new GetByParentIdsRequest
                {
                    ParentIds = { parentIds }
                });

                return response.MetaFields
                .ToDictionary(
                    k => k.Key,
                    // Filter out non-public meta-fields
                    v => (IList <MetaField>)v.Value.MetaFields
                    .Where(x => x.IsPublic)
                    .ToList());
            }));
        }