Залил проект

This commit is contained in:
2026-05-24 18:35:24 +03:00
parent 011de945c6
commit 914da9d992
4 changed files with 707 additions and 0 deletions
@@ -0,0 +1,42 @@
using System.Text.Json;
using System.Text.Json.Serialization;
namespace SfeduSchedule.Plugin.UniVerse;
public sealed record UniverseUserLookupResult(
UniverseUserLookupStatus Status,
string? SubId = null,
string? ErrorMessage = null)
{
public static UniverseUserLookupResult Found(string subId) =>
new(UniverseUserLookupStatus.Found, subId);
public static UniverseUserLookupResult NotFound() =>
new(UniverseUserLookupStatus.NotFound);
public static UniverseUserLookupResult UpstreamError(string message) =>
new(UniverseUserLookupStatus.UpstreamError, ErrorMessage: message);
}
internal sealed record UniverseUsersGraphQlRequest(
[property: JsonPropertyName("query")] string Query,
[property: JsonPropertyName("variables")] UniverseUsersGraphQlVariables Variables);
internal sealed record UniverseUsersGraphQlVariables(
[property: JsonPropertyName("t")] string Text);
internal sealed record UniverseUsersGraphQlResponse(
[property: JsonPropertyName("data")] UniverseUsersGraphQlData? Data,
[property: JsonPropertyName("errors")] IReadOnlyList<JsonElement>? Errors);
internal sealed record UniverseUsersGraphQlData(
[property: JsonPropertyName("users")] UniverseUsersConnection? Users);
internal sealed record UniverseUsersConnection(
[property: JsonPropertyName("items")] IReadOnlyList<UniverseUserItem> Items);
internal sealed record UniverseUserItem(
[property: JsonPropertyName("id")] string? Id,
[property: JsonPropertyName("name")] string? Name,
[property: JsonPropertyName("displayName")] string? DisplayName,
[property: JsonPropertyName("description")] string? Description);