Esempio n. 1
0
        public async Task MsgDisplayByIdDataTest()
        {
            using var store   = GetDocumentStore();
            using var session = store.OpenAsyncSession();

            var query = new MsgDisplayById {
                Session = session, Id = MsgData.FirstId
            };
            await query.Execute();

            query.Result.Should().NotBeNull();
            query.Result.Id.Should().Be(MsgData.FirstId);
            Assert.That(query.Result, Is.DeepEqualTo(MsgData.GetFirstDisplay(false)));
            query.Result.Searchable.Should().BeNullOrEmpty();
            query.Result.Searchable = new List <string> {
                "something!"
            };
        }
Esempio n. 2
0
        public async Task <IActionResult> Display(string id)
        {
            var query = new MsgDisplayById {
                Id = id
            };
            await DataHandler.Execute(query);

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

                return(Unauthorized());
            }

            return(NotFound());
        }