summary refs log tree commit diff
path: root/extra/admin-api
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-02-25 09:00:13 +0100
committerRory& <root@rory.gay>2026-02-25 09:00:13 +0100
commitf90d9e098d68bfa3a4695dde2e75be5daa6b8981 (patch)
treed27798d8c2452deb1a89aeeb8f5cb334426008d7 /extra/admin-api
parentTry to inherit permissions from everyoen role on creation (may be wrong) (diff)
downloadserver-ts-f90d9e098d68bfa3a4695dde2e75be5daa6b8981.tar.xz
UApi work, nix test vm cleanup
Diffstat (limited to 'extra/admin-api')
-rw-r--r--extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs84
-rw-r--r--extra/admin-api/Spacebar.UApi/Controllers/GuildMembersController.cs1
-rw-r--r--extra/admin-api/Spacebar.UApi/Program.cs1
3 files changed, 86 insertions, 0 deletions
diff --git a/extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs b/extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs
new file mode 100644

index 000000000..fdb020f41 --- /dev/null +++ b/extra/admin-api/Spacebar.UApi/Controllers/Applications/ApplicationRpcController.cs
@@ -0,0 +1,84 @@ +using System.Text.Json.Serialization; +using ArcaneLibs.Collections; +using Microsoft.AspNetCore.Mvc; + +namespace Spacebar.UApi.Controllers.Applications; + +[ApiController] +[Route("/api/v{_}/applications/{applicationId}/")] +public class ApplicationRpcController : ControllerBase { + private static LruCache<object> _rpcInfoCache = new(10000); + // [HttpGet] + // public async Task<object> GetApplicationRpcInfo(string applicationId) { + // + // } + + [HttpGet("disclosures")] + public ApplicationDisclosures GetApplicationDisclosures(string applicationId) { + return new ApplicationDisclosures { + Disclosures = [], + AckedDisclosures = [], + AllAcked = true + }; + } + + [HttpPost("disclosures")] + public ApplicationDisclosures AckApplicationDisclosures(string applicationId) { + // TODO: type is wrong, normally only `disclosures` is returned + return new ApplicationDisclosures { + Disclosures = [], + AckedDisclosures = [], + AllAcked = true + }; + } +} + +public class ApplicationDisclosures { + [JsonPropertyName("disclosures")] + public List<ApplicationDisclosures.Type> Disclosures { get; set; } + + [JsonPropertyName("acked_disclosures")] + public List<ApplicationDisclosures.Type> AckedDisclosures { get; set; } + + [JsonPropertyName("all_acked")] + public bool AllAcked { get; set; } + + public enum Type { + UnspecifiedDisclosure = 0, + IpLocation = 1, + DisplaysAdvertisements = 2, + PartnerSdkDataSharingMessage = 3 + } +} + +public class RpcApplicationInfo { + [JsonPropertyName("id")] + public string Id { get; set; } + + [JsonPropertyName("name")] + public string Name { get; set; } + + [JsonPropertyName("icon")] + public string Icon { get; set; } + + [JsonPropertyName("description")] + public string Description { get; set; } + + [JsonPropertyName("summary")] + public string Summary { get; set; } + + [JsonPropertyName("type")] + public ApplicationType? Type { get; set; } // what is this? + + [JsonPropertyName("verify_key")] + public string VerifyKey { get; set; } +} + +[Flags] +public enum ApplicationType { + DeprecatedGame, + Music, + TicketedEvents, + CreatorMonetization, + Game +} \ No newline at end of file diff --git a/extra/admin-api/Spacebar.UApi/Controllers/GuildMembersController.cs b/extra/admin-api/Spacebar.UApi/Controllers/GuildMembersController.cs
index ac8c1d40c..9f18624ee 100644 --- a/extra/admin-api/Spacebar.UApi/Controllers/GuildMembersController.cs +++ b/extra/admin-api/Spacebar.UApi/Controllers/GuildMembersController.cs
@@ -8,6 +8,7 @@ using Spacebar.Models.Generic; namespace Spacebar.UApi.Controllers; [Route("/api/v{_}/guilds/{guildId}/members/")] +[ApiController] public class GuildMembersController(ILogger<GuildMembersController> logger, SpacebarDbContext db, SpacebarAspNetAuthenticationService authService) : ControllerBase { /// <summary> /// Get a guild member by ID diff --git a/extra/admin-api/Spacebar.UApi/Program.cs b/extra/admin-api/Spacebar.UApi/Program.cs
index 326d0a9c8..f6ce98299 100644 --- a/extra/admin-api/Spacebar.UApi/Program.cs +++ b/extra/admin-api/Spacebar.UApi/Program.cs
@@ -112,6 +112,7 @@ app.Map("/", async context => { foreach (var header in responseMessage.Headers) context.Response.Headers[header.Key] = header.Value.ToArray(); foreach (var header in responseMessage.Content.Headers) context.Response.Headers[header.Key] = header.Value.ToArray(); + context.Response.Headers["X-SB-UApi-Status"] = "MISSING"; // await responseMessage.Content.CopyToAsync(context.Response.Body); var txt = await responseMessage.Content.ReadAsStringAsync();