Example #1
0
        public async Task VisibleDisplayByIdDataTest()
        {
            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();
            var query = new VisibleDisplayById {
                Session = session, Id = VisibleData.FirstId
            };
            await query.Execute();

            query.Result.Should().NotBeNull();
            query.Result.Id.Should().Be(VisibleData.FirstId);
            Assert.That(query.Result, Is.DeepEqualTo(VisibleData.GetFirstDisplay()));
        }
Example #2
0
        public async Task <IActionResult> Display(string id)
        {
            var query = new VisibleDisplayById {
                Id = id
            };
            await DataHandler.Execute(query);

            if (query.Result != null)
            {
                if (CurrentUser.Id == query.Result.AuthorId ||
                    (CurrentUser.TenantId == query.Result.TenantId && CurrentUser.Right.CanAdmin) ||
                    CurrentUser.Right.CanSuperuser)
                {
                    return(Ok(Strip(query.Result)));
                }

                return(Unauthorized());
            }

            return(NotFound());
        }