diff --git a/extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs b/extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs
index 08f45c62b..c8dc60cac 100644
--- a/extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs
+++ b/extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs
@@ -13,6 +13,7 @@ public class ApplicationRpcController : ControllerBase {
//
// }
+ // TODO: implement disclosures
[HttpGet("disclosures")]
public ApplicationDisclosures GetApplicationDisclosures(string applicationId) {
return new ApplicationDisclosures {
@@ -22,27 +23,22 @@ public class ApplicationRpcController : ControllerBase {
};
}
+ ///
+ /// Marks a list of flags as acknowledged
+ ///
+ /// ID of the application
+ /// The list of flags to mark as acknowledged
+ /// The new list of acknowledged flags
[HttpPost("disclosures")]
- public ApplicationDisclosures AckApplicationDisclosures(string applicationId) {
- // TODO: type is wrong, normally only `disclosures` is returned
- return new ApplicationDisclosures {
- Disclosures = [],
- AckedDisclosures = [],
- AllAcked = true
- };
+ public ApplicationDisclosureAck AckApplicationDisclosures(string applicationId, ApplicationDisclosureAck ack) {
+ return ack;
}
}
-public class ApplicationDisclosures {
+public class ApplicationDisclosureAck {
[JsonPropertyName("disclosures")]
public List Disclosures { get; set; }
- [JsonPropertyName("acked_disclosures")]
- public List AckedDisclosures { get; set; }
-
- [JsonPropertyName("all_acked")]
- public bool AllAcked { get; set; }
-
public enum ApplicationDisclosureType {
UnspecifiedDisclosure = 0,
IpLocation = 1,
@@ -51,6 +47,14 @@ public class ApplicationDisclosures {
}
}
+public class ApplicationDisclosures : ApplicationDisclosureAck {
+ [JsonPropertyName("acked_disclosures")]
+ public List AckedDisclosures { get; set; }
+
+ [JsonPropertyName("all_acked")]
+ public bool AllAcked { get; set; }
+}
+
public class RpcApplicationInfo {
[JsonPropertyName("id")]
public string Id { get; set; }
@@ -66,7 +70,7 @@ public class RpcApplicationInfo {
[JsonPropertyName("summary")]
public string Summary { get; set; }
-
+
[JsonPropertyName("type")]
public ApplicationType? Type { get; set; } // what is this?
diff --git a/extra/admin-api/Spacebar.UApi/Program.cs b/extra/admin-api/Spacebar.UApi/Program.cs
index 3ebc2db5d..dd17d291b 100644
--- a/extra/admin-api/Spacebar.UApi/Program.cs
+++ b/extra/admin-api/Spacebar.UApi/Program.cs
@@ -101,7 +101,7 @@ app.Use((context, next) => {
// add some special sauce
app.Map("/", async context => {
var client = new StreamingHttpClient();
- var cfg = context.RequestServices.GetService();
+ var cfg = context.RequestServices.GetRequiredService();
var requestMessage = new HttpRequestMessage(new HttpMethod(context.Request.Method), cfg.FallbackApiEndpoint);
foreach (var header in context.Request.Headers)
@@ -122,11 +122,9 @@ app.Map("/", async context => {
await context.Response.Body.WriteAsync(data);
});
-// fallback to proxy in case we dont have a specific endpoint...
-// TODO config
app.MapFallback("{*_}", async context => {
var client = new StreamingHttpClient();
- var cfg = context.RequestServices.GetService();
+ var cfg = context.RequestServices.GetRequiredService();
var requestMessage = new HttpRequestMessage(
new HttpMethod(context.Request.Method),
cfg.FallbackApiEndpoint + context.Request.Path + context.Request.QueryString