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; }
public joinPath(int pathID) { path = Core.Path.SingleOrDefault(x => x.ID == pathID); }