Add race mode, serilog
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
namespace ALttPRandomizer.Service {
|
||||
using ALttPRandomizer.Azure;
|
||||
using ALttPRandomizer.Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.Json;
|
||||
@@ -17,24 +18,41 @@
|
||||
|
||||
var result = new Dictionary<string, object>();
|
||||
|
||||
if (files.TryGetValue("settings.json", out var settingsData)) {
|
||||
var json = JsonDocument.Parse(settingsData.ToString());
|
||||
result["settings"] = json;
|
||||
if (!files.TryGetValue("settings.json", out var settingsData)) {
|
||||
result["status"] = 404;
|
||||
result["error"] = "seed not found";
|
||||
return result;
|
||||
}
|
||||
|
||||
var settingsJson = JsonDocument.Parse(settingsData.ToString());
|
||||
result["settings"] = settingsJson;
|
||||
|
||||
var settings = settingsJson.Deserialize<SeedSettings>(JsonOptions.Default) ?? new SeedSettings();
|
||||
|
||||
if (!files.TryGetValue("patch.bps", out var patchData)) {
|
||||
if (files.ContainsKey("generating")) {
|
||||
result["status"] = 409;
|
||||
result["error"] = "generation still in progress";
|
||||
return result;
|
||||
} else {
|
||||
result["status"] = 404;
|
||||
result["error"] = "generation failed";
|
||||
return result;
|
||||
}
|
||||
}
|
||||
result["patch"] = Convert.ToBase64String(patchData.ToArray());
|
||||
|
||||
if (files.TryGetValue("meta.json", out var metaData)) {
|
||||
var json = JsonDocument.Parse(metaData.ToString());
|
||||
result["meta"] = json;
|
||||
}
|
||||
|
||||
if (files.TryGetValue("spoiler.json", out var spoilerData)) {
|
||||
if (settings.Race != RaceMode.Race && files.TryGetValue("spoiler.json", out var spoilerData)) {
|
||||
var json = JsonDocument.Parse(spoilerData.ToString());
|
||||
result["spoiler"] = json;
|
||||
}
|
||||
|
||||
if (files.TryGetValue("patch.bps", out var patchData)) {
|
||||
result["patch.bps"] = Convert.ToBase64String(patchData.ToArray());
|
||||
}
|
||||
result["status"] = 200;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user