Example #1
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = null)] HttpRequest req,
            ILogger log, [RequestBody] RequestBase request)
        {
            var user = await UserRepo.GetUser(request.Auth, true);

            var checklists = await ChecklistsRepo.GetChecklistsAvailableToUser(user);

            return(Ok(checklists));
        }
Example #2
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "delete", Route = null)] HttpRequest req,
            ILogger log, [RequestBody] DeleteChecklistRequest request)
        {
            await ChecklistsRepo.DeleteChecklist(request);

            await UserRepo.DeleteChecklistOwnership(request);

            log.LogInformation("Removed checklist {id} by {user}", request.ChecklistId, request.Auth);
            return(Ok());
        }
Example #3
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] HttpRequest req,
            ILogger log, [RequestBody] AddOrUpdateChecklistRequest request)
        {
            var checklists = await ChecklistsRepo.CreateChecklist(request);

            await UserRepo.AddChecklistToUser(checklists.Id, request.Auth, true);

            log.LogInformation("Created checklist {name}-{id}", checklists.Name, checklists.Id);
            return(Ok(checklists));
        }
Example #4
0
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "put", Route = null)] HttpRequest req,
            ILogger log, [RequestBody] AddChecklistTaskRequest request)
        {
            if (await UserRepo.HasAccessToChecklist(request.ChecklistId, request.Auth))
            {
                var task = await ChecklistsRepo.AddChecklistTask(request);

                log.LogInformation("Checklist {id} task {id2} added", request.ChecklistId, request.Text);
                return(Ok(task));
            }
            return(new ForbidResult());
        }
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "patch", Route = null)] HttpRequest req,
            ILogger log, [RequestBody] ReorderChecklistTaskRequest request)
        {
            if (await UserRepo.HasAccessToChecklist(request.ChecklistId, request.Auth))
            {
                await ChecklistsRepo.ReorderChecklistTasks(request);

                log.LogInformation("Checklists {id} tasks reordered", request.ChecklistId);
                return(Ok());
            }

            return(Unauthorized());
        }
        public async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "patch", Route = null)] HttpRequest req,
            ILogger log, [RequestBody] ChangeChecklistTaskStatusRequest request)
        {
            if (await UserRepo.HasAccessToChecklist(request.ChecklistId, request.Auth))
            {
                await ChecklistsRepo.ChangeChecklistTaskStatus(request);

                log.LogInformation("Checklist {id} task {id2} status changed to {d}",
                                   request.ChecklistId, request.ChecklistTaskId, request.IsChecked);
                return(Ok());
            }

            return(Unauthorized());
        }