public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { //TODO: get this from ClaimsPrincipal var userid = "1"; var repository = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString")); var requestBody = await new StreamReader(req.Body).ReadToEndAsync(); var data = JsonConvert.DeserializeObject <MovieList>(requestBody); if (string.IsNullOrEmpty(data.Name)) { return(new BadRequestObjectResult("Name is required")); } data.UserId = userid; //eventually this would verify a unique name //TODO: add error handling var newMovieListId = await repository.CreateMovieListAsync(data); data.Id = newMovieListId; return(new OkObjectResult(data)); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { //TODO: get this from ClaimsPrincipal var userid = "1"; string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); dynamic data = JsonConvert.DeserializeObject(requestBody); var movieId = data?.movieId; if (movieId == null) { return(new BadRequestObjectResult("Must Provide Id.")); } var lists = data?.lists?.ToObject <List <int> >(); if (lists == null || lists?.Count == 0) { return(new OkObjectResult("Added to 0 lists.")); } var movieListRepository = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString")); await movieListRepository.AddMovieToListsAsync((int)movieId, lists, userid); return(new OkObjectResult(new { Message = $"Added to {lists?.Count} lists." })); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = "GetMovieList/{id}")] HttpRequest req, int?id, ILogger log) { //TODO: get this from ClaimsPrincipal var userid = "1"; if (id == null) { return(new BadRequestObjectResult("Must Provide Id.")); } var listRepository = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString")); var movieRepository = new MovieRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString")); MovieList data = await listRepository.GetAsync(userid, id.Value); if (data == null) { return(new BadRequestObjectResult("Invalid Id Provided.")); } data.Movies = await movieRepository.GetByListIdAsync(data.Id); return(new OkObjectResult(data)); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { //TODO: get this from ClaimsPrincipal var userid = "1"; var repository = new MovieListRepository(ConnectionStringRepository.GetSqlAzureConnectionString("SQLConnectionString")); try { var movieLists = await repository.GetAsync(userid); return(new OkObjectResult(movieLists)); } catch (Exception e) { return(new BadRequestObjectResult(e.Message)); } }