Переделал на MVC и добавил swagger doc
Build UniVerse plugin / Build library (push) Failing after 11m57s
Build UniVerse plugin / Build library (push) Failing after 11m57s
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace SfeduSchedule.Plugin.UniVerse;
|
||||
|
||||
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);
|
||||
@@ -0,0 +1,43 @@
|
||||
namespace SfeduSchedule.Plugin.UniVerse;
|
||||
|
||||
/// <summary>
|
||||
/// Результат поиска пользователя.
|
||||
/// </summary>
|
||||
/// <param name="Status">Статус выполнения поиска.</param>
|
||||
/// <param name="SubId">Найденный Sub ID пользователя.</param>
|
||||
/// <param name="ErrorMessage">Описание ошибки вышестоящего сервиса.</param>
|
||||
public sealed record UniverseUserLookupResult(
|
||||
UniverseUserLookupStatus Status,
|
||||
string? SubId = null,
|
||||
string? ErrorMessage = null)
|
||||
{
|
||||
/// <summary>
|
||||
/// Успешный результат поиска.
|
||||
/// </summary>
|
||||
/// <param name="subId">Найденный Sub ID пользователя.</param>
|
||||
/// <returns>Результат со статусом Found.</returns>
|
||||
public static UniverseUserLookupResult Found(string subId) =>
|
||||
new(UniverseUserLookupStatus.Found, subId);
|
||||
|
||||
/// <summary>
|
||||
/// Результат для случая, когда пользователь не найден.
|
||||
/// </summary>
|
||||
/// <returns>Результат со статусом NotFound.</returns>
|
||||
public static UniverseUserLookupResult NotFound() =>
|
||||
new(UniverseUserLookupStatus.NotFound);
|
||||
|
||||
/// <summary>
|
||||
/// Результат ошибки вышестоящего сервиса.
|
||||
/// </summary>
|
||||
/// <param name="message">Описание ошибки.</param>
|
||||
/// <returns>Результат со статусом UpstreamError.</returns>
|
||||
public static UniverseUserLookupResult UpstreamError(string message) =>
|
||||
new(UniverseUserLookupStatus.UpstreamError, ErrorMessage: message);
|
||||
}
|
||||
|
||||
public enum UniverseUserLookupStatus
|
||||
{
|
||||
Found,
|
||||
NotFound,
|
||||
UpstreamError
|
||||
}
|
||||
Reference in New Issue
Block a user