public static IActionResult PostRandomSession(
     [HttpTrigger(AuthorizationLevel.Anonymous, "put", Route = "sessions/{sessionId}")] Core.Path path, string sessionId,
     [CosmosDB(
          databaseName: "slidezy-db",
          collectionName: "sessions",
          ConnectionStringSetting = "CosmosDBConnection",
          Id = "{sessionId}",
          PartitionKey = "{sessionId}")] Session existingSession,
     [CosmosDB(
          databaseName: "slidezy-db",
          collectionName: "sessions",
          ConnectionStringSetting = "CosmosDBConnection",
          PartitionKey = "{sessionId}")] out Session result,
     ILogger log)
 {
     if (existingSession != null)
     {
         result = null;
         return(new ConflictResult());
     }
     else
     {
         result = new Session
         {
             Id     = sessionId,
             Pencil = new Pencil
             {
                 Color = "hsla(180, 80%, 33.33333333333333%, 0.7)",
                 Width = 12
             },
             Slides = new Slide[] { new Slide {
                                        Id    = Guid.NewGuid(),
                                        Index = 0,
                                        Paths = new Core.Path[] { }
                                    } },
             SelectedSlideIndex = 0,
             Ttl = -1
         };
         return(new CreatedResult($"/api/sessions/{sessionId}", result));
     }
 }
        public static void AddPath(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "sessions/{sessionId}/slides/{slideId}")] Core.Path path, string sessionId, Guid slideId,
            [CosmosDB(
                 databaseName: "slidezy-db",
                 collectionName: "sessions",
                 ConnectionStringSetting = "CosmosDBConnection",
                 Id = "{sessionId}",
                 PartitionKey = "{sessionId}")] Session session,
            [CosmosDB(
                 databaseName: "slidezy-db",
                 collectionName: "sessions",
                 ConnectionStringSetting = "CosmosDBConnection",
                 PartitionKey = "{sessionId}")] out Session result,
            ILogger log)
        {
            var slide = session.Slides.First(slide => slide.Id == slideId);

            slide.Paths = slide.Paths.Append(path);

            result = session;
        }
Example #3
0
 public joinPath(int pathID)
 {
     path = Core.Path.SingleOrDefault(x => x.ID == pathID);
 }