Just json to c#

This commit is contained in:
2025-08-22 13:00:01 -07:00
parent 895dab9413
commit 47fc079e0a
66 changed files with 2246 additions and 17 deletions

View File

@ -0,0 +1,16 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Albums;
public record Item(
[property: JsonPropertyName("created_at")] object CreatedAt,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("owner")] Owner Owner,
[property: JsonPropertyName("photo_album_key")] string PhotoAlbumKey,
[property: JsonPropertyName("photo_count")] int PhotoCount
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Item))]
public partial class AlbumsItemSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Albums;
public record NextParams(
[property: JsonPropertyName("after")] string After,
[property: JsonPropertyName("band_key")] string BandKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(NextParams))]
public partial class AlbumsNextParamsSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Albums;
public record Paging(
[property: JsonPropertyName("next_params")] NextParams NextParams,
[property: JsonPropertyName("previous_params")] object PreviousParams
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Paging))]
public partial class AlbumsPagingSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Albums;
public record Owner(
[property: JsonPropertyName("description")] string Description,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("profile_image_url")] string ProfileImageUrl
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Owner))]
public partial class AlbumsOwnerSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Albums;
public record ResultData(
[property: JsonPropertyName("items")] IReadOnlyList<Item> Items,
[property: JsonPropertyName("paging")] Paging Paging,
[property: JsonPropertyName("total_photo_count")] int TotalPhotoCount
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class AlbumsResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Albums;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class AlbumsRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,15 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Bands;
public record Band(
[property: JsonPropertyName("band_key")] string BandKey,
[property: JsonPropertyName("cover")] string Cover,
[property: JsonPropertyName("member_count")] int MemberCount,
[property: JsonPropertyName("name")] string Name
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Band))]
public partial class BandsBandSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Bands;
public record ResultData(
[property: JsonPropertyName("bands")] IReadOnlyList<Band> Bands
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class BandsResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Bands;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class BandsRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record Author(
[property: JsonPropertyName("description")] string Description,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("profile_image_url")] string ProfileImageUrl
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Author))]
public partial class CommentsAuthorSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,19 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record Item(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("comments_key")] string CommentsKey,
[property: JsonPropertyName("content")] string Content,
[property: JsonPropertyName("created_at")] object CreatedAt,
[property: JsonPropertyName("emotion_count")] int EmotionCount,
[property: JsonPropertyName("is_audio_comments")] bool IsAudioComments,
[property: JsonPropertyName("photo")] Photo Photo,
[property: JsonPropertyName("sticker")] object Sticker
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Item))]
public partial class CommentsItemSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,15 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record NextParams(
[property: JsonPropertyName("access_token")] string AccessToken,
[property: JsonPropertyName("after")] string After,
[property: JsonPropertyName("band_key")] string BandKey,
[property: JsonPropertyName("post_key")] string PostKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(NextParams))]
public partial class CommentsNextParamsSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record Paging(
[property: JsonPropertyName("next_params")] NextParams NextParams,
[property: JsonPropertyName("previous_params")] object PreviousParams
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Paging))]
public partial class CommentsPagingSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record Photo(
[property: JsonPropertyName("height")] int Height,
[property: JsonPropertyName("url")] string Url,
[property: JsonPropertyName("width")] int Width
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Photo))]
public partial class CommentsPhotoSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record ResultData(
[property: JsonPropertyName("items")] IReadOnlyList<Item> Items,
[property: JsonPropertyName("paging")] Paging Paging,
[property: JsonPropertyName("update_param")] UpdateParam UpdateParam
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class CommentsResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class CommentsRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,11 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Comments;
public record UpdateParam(
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(UpdateParam))]
public partial class CommentsUpdateParamSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Permissions;
public record ResultData(
[property: JsonPropertyName("permission")] IReadOnlyList<string> Permissions
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class PermissionsResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Permissions;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class PermissionsRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Photos;
public record Author(
[property: JsonPropertyName("description")] string Description,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("profile_image_url")] string ProfileImageUrl
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Author))]
public partial class PhotosAuthorSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,21 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Photos;
public record Item(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("comment_count")] int CommentCount,
[property: JsonPropertyName("created_at")] object CreatedAt,
[property: JsonPropertyName("emotion_count")] int EmotionCount,
[property: JsonPropertyName("height")] int Height,
[property: JsonPropertyName("is_video_thumbnail")] bool IsVideoThumbnail,
[property: JsonPropertyName("photo_album_key")] string PhotoAlbumKey,
[property: JsonPropertyName("photo_key")] string PhotoKey,
[property: JsonPropertyName("url")] string Url,
[property: JsonPropertyName("width")] int Width
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Item))]
public partial class PhotosItemSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Photos;
public record NextParams(
[property: JsonPropertyName("after")] string After,
[property: JsonPropertyName("band_key")] string BandKey,
[property: JsonPropertyName("photo_album_key")] string PhotoAlbumKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(NextParams))]
public partial class PhotosNextParamsSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Photos;
public record Paging(
[property: JsonPropertyName("next_params")] NextParams NextParams,
[property: JsonPropertyName("previous_params")] object PreviousParams
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Paging))]
public partial class PhotosPagingSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,21 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Photos;
public record Photo(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("comment_count")] int CommentCount,
[property: JsonPropertyName("created_at")] object CreatedAt,
[property: JsonPropertyName("emotion_count")] int EmotionCount,
[property: JsonPropertyName("height")] int Height,
[property: JsonPropertyName("is_video_thumbnail")] bool IsVideoThumbnail,
[property: JsonPropertyName("photo_album_key")] object PhotoAlbumKey,
[property: JsonPropertyName("photo_key")] string PhotoKey,
[property: JsonPropertyName("url")] string Url,
[property: JsonPropertyName("width")] int Width
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Photo))]
public partial class PhotosPhotoSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Photos;
public record ResultData(
[property: JsonPropertyName("items")] IReadOnlyList<Item> Items,
[property: JsonPropertyName("paging")] Paging Paging
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class PhotosResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Photos;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class PhotosRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,16 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record Author(
[property: JsonPropertyName("description")] string Description,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("profile_image_url")] string ProfileImageUrl,
[property: JsonPropertyName("role")] string Role,
[property: JsonPropertyName("user_key")] string UserKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Author))]
public partial class PostAuthorSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,21 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record P175284037(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("comment_count")] int CommentCount,
[property: JsonPropertyName("created_at")] long CreatedAt,
[property: JsonPropertyName("emotion_count")] int EmotionCount,
[property: JsonPropertyName("height")] int Height,
[property: JsonPropertyName("is_video_thumbnail")] bool IsVideoThumbnail,
[property: JsonPropertyName("photo_album_key")] object PhotoAlbumKey,
[property: JsonPropertyName("photo_key")] string PhotoKey,
[property: JsonPropertyName("url")] string Url,
[property: JsonPropertyName("width")] int Width
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(P175284037))]
public partial class PostP175284037SourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,21 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record P5110026620(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("comment_count")] int CommentCount,
[property: JsonPropertyName("created_at")] long CreatedAt,
[property: JsonPropertyName("emotion_count")] int EmotionCount,
[property: JsonPropertyName("height")] int Height,
[property: JsonPropertyName("is_video_thumbnail")] bool IsVideoThumbnail,
[property: JsonPropertyName("photo_album_key")] object PhotoAlbumKey,
[property: JsonPropertyName("photo_key")] string PhotoKey,
[property: JsonPropertyName("url")] string Url,
[property: JsonPropertyName("width")] int Width
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(P5110026620))]
public partial class PostP5110026620SourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record Photo(
[property: JsonPropertyName("5110026620")] P5110026620 P5110026620
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Photo))]
public partial class PostPhotoSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,23 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record Post(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("band_key")] string BandKey,
[property: JsonPropertyName("comment_count")] int CommentCount,
[property: JsonPropertyName("content")] string Content,
[property: JsonPropertyName("created_at")] long CreatedAt,
[property: JsonPropertyName("emotion_count")] int EmotionCount,
[property: JsonPropertyName("is_multilingual")] bool IsMultilingual,
[property: JsonPropertyName("photo")] Photo Photo,
[property: JsonPropertyName("post_key")] string PostKey,
[property: JsonPropertyName("post_read_count")] int PostReadCount,
[property: JsonPropertyName("shared_count")] int SharedCount,
[property: JsonPropertyName("video")] Video Video
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Post))]
public partial class PostPostSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record ResultData(
[property: JsonPropertyName("post")] Post Post
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class PostResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class PostRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Post;
public record Video(
[property: JsonPropertyName("175284037")] P175284037 P175284037
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Video))]
public partial class PostVideoSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,14 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Posts;
public record Author(
[property: JsonPropertyName("description")] string Description,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("profile_image_url")] string ProfileImageUrl
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Author))]
public partial class PostsAuthorSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,17 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Posts;
public record Item(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("comment_count")] int CommentCount,
[property: JsonPropertyName("content")] string Content,
[property: JsonPropertyName("created_at")] long CreatedAt,
[property: JsonPropertyName("photos")] IReadOnlyList<Photo> Photos,
[property: JsonPropertyName("post_key")] string PostKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Item))]
public partial class PostsItemSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,15 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Posts;
public record NextParams(
[property: JsonPropertyName("access_token")] string AccessToken,
[property: JsonPropertyName("after")] string After,
[property: JsonPropertyName("band_key")] string BandKey,
[property: JsonPropertyName("limit")] string Limit
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(NextParams))]
public partial class PostsNextParamsSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Posts;
public record Paging(
[property: JsonPropertyName("next_params")] NextParams NextParams,
[property: JsonPropertyName("previous_params")] object PreviousParams
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Paging))]
public partial class PostsPagingSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,21 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Posts;
public record Photo(
[property: JsonPropertyName("author")] Author Author,
[property: JsonPropertyName("comment_count")] int CommentCount,
[property: JsonPropertyName("created_at")] object CreatedAt,
[property: JsonPropertyName("emotion_count")] int EmotionCount,
[property: JsonPropertyName("height")] int Height,
[property: JsonPropertyName("is_video_thumbnail")] bool IsVideoThumbnail,
[property: JsonPropertyName("photo_album_key")] object PhotoAlbumKey,
[property: JsonPropertyName("photo_key")] string PhotoKey,
[property: JsonPropertyName("url")] string Url,
[property: JsonPropertyName("width")] int Width
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Photo))]
public partial class PostsPhotoSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Posts;
public record ResultData(
[property: JsonPropertyName("items")] IReadOnlyList<Item> Items,
[property: JsonPropertyName("paging")] Paging Paging
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class PostsResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Posts;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class PostsRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,16 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Profile;
public record ResultData(
[property: JsonPropertyName("is_app_member")] bool IsAppMember,
[property: JsonPropertyName("message_allowed")] bool MessageAllowed,
[property: JsonPropertyName("name")] string Name,
[property: JsonPropertyName("profile_image_url")] string ProfileImageUrl,
[property: JsonPropertyName("user_key")] string UserKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class ProfileResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band.Profile;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class ProfileRootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band;
public record ResultData(
[property: JsonPropertyName("band_key")] string BandKey,
[property: JsonPropertyName("post_key")] string PostKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(ResultData))]
public partial class ResultDataSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,13 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.Api.Band;
public record Root(
[property: JsonPropertyName("result_code")] int ResultCode,
[property: JsonPropertyName("result_data")] ResultData ResultData
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Root))]
public partial class RootSourceGenerationContext : JsonSerializerContext {
}

View File

@ -0,0 +1,17 @@
using System.Text.Json.Serialization;
namespace ImmichToSlideshow.Models.Open.API.Band;
public record Token(
[property: JsonPropertyName("access_token")] string AccessToken,
[property: JsonPropertyName("expires_in")] int ExpiresIn,
[property: JsonPropertyName("refresh_token")] string RefreshToken,
[property: JsonPropertyName("scope")] string Scope,
[property: JsonPropertyName("token_type")] string TokenType,
[property: JsonPropertyName("user_key")] string UserKey
);
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Token))]
public partial class TokenSourceGenerationContext : JsonSerializerContext {
}