authentication refresh fixed, movie creation page added

This commit is contained in:
2024-07-30 16:19:51 +02:00
Unverified
parent f9323b3d8c
commit 5b871714fa
63 changed files with 1568 additions and 200 deletions

View File

@@ -0,0 +1,25 @@
using System.Text.Json.Serialization;
namespace WatchIt.Common.Model.Accounts;
public abstract class AccountProfilePicture
{
#region PROPERTIES
[JsonPropertyName("image")]
public required byte[] Image { get; set; }
[JsonPropertyName("mime_type")]
public required string MimeType { get; set; }
#endregion
#region CONSTRUCTORS
[JsonConstructor]
public AccountProfilePicture() {}
#endregion
}

View File

@@ -0,0 +1,35 @@
using System.Diagnostics.CodeAnalysis;
using System.Text.Json.Serialization;
namespace WatchIt.Common.Model.Accounts;
public class AccountProfilePictureResponse : AccountProfilePicture
{
#region PROPERTIES
[JsonPropertyName("id")]
public required Guid Id { get; set; }
[JsonPropertyName("upload_date")]
public required DateTime UploadDate { get; set; }
#endregion
#region CONSTRUCTORS
[JsonConstructor]
public AccountProfilePictureResponse() {}
[SetsRequiredMembers]
public AccountProfilePictureResponse(Database.Model.Account.AccountProfilePicture accountProfilePicture)
{
Id = accountProfilePicture.Id;
Image = accountProfilePicture.Image;
MimeType = accountProfilePicture.MimeType;
UploadDate = accountProfilePicture.UploadDate;
}
#endregion
}

View File

@@ -25,7 +25,10 @@ public class RegisterResponse
#region CONSTRUCTORS
[JsonConstructor]
public RegisterResponse() {}
[SetsRequiredMembers]
public RegisterResponse(Account account)
{

View File

@@ -0,0 +1,21 @@
using System.Text.Json.Serialization;
namespace WatchIt.Common.Model.Media;
public abstract class Media
{
[JsonPropertyName("title")]
public required string Title { get; set; }
[JsonPropertyName("original_title")]
public string? OriginalTitle { get; set; }
[JsonPropertyName("description")]
public string? Description { get; set; }
[JsonPropertyName("release_date")]
public DateOnly? ReleaseDate { get; set; }
[JsonPropertyName("length")]
public short? Length { get; set; }
}

View File

@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace WatchIt.Common.Model.Media;
public class MediaPosterImage
{
[JsonPropertyName("image")]
public required byte[] Image { get; set; }
[JsonPropertyName("mime_type")]
public required string MimeType { get; set; }
}

View File

@@ -2,23 +2,8 @@
namespace WatchIt.Common.Model.Movies;
public class Movie
public class Movie : Media.Media
{
[JsonPropertyName("title")]
public required string Title { get; set; }
[JsonPropertyName("original_title")]
public string? OriginalTitle { get; set; }
[JsonPropertyName("description")]
public string? Description { get; set; }
[JsonPropertyName("release_date")]
public DateOnly? ReleaseDate { get; set; }
[JsonPropertyName("length")]
public short? Length { get; set; }
[JsonPropertyName("budget")]
public decimal? Budget { get; set; }
}

View File

@@ -1,9 +1,29 @@
using WatchIt.Database.Model.Media;
using System.Diagnostics.CodeAnalysis;
using WatchIt.Database.Model.Media;
namespace WatchIt.Common.Model.Movies;
public class MovieRequest : Movie
{
#region CONSTRUCTORS
[SetsRequiredMembers]
public MovieRequest(MovieResponse initData)
{
Title = initData.Title;
OriginalTitle = initData.OriginalTitle;
Description = initData.Description;
ReleaseDate = initData.ReleaseDate;
Length = initData.Length;
Budget = initData.Budget;
}
public MovieRequest() {}
#endregion
#region PUBLIC METHODS
public Database.Model.Media.Media CreateMedia() => new Database.Model.Media.Media

View File

@@ -1,4 +1,5 @@
using System.Diagnostics.CodeAnalysis;
using System.Text.Json.Serialization;
using WatchIt.Database.Model.Media;
namespace WatchIt.Common.Model.Movies;
@@ -7,6 +8,7 @@ public class MovieResponse : Movie
{
#region PROPERTIES
[JsonPropertyName("id")]
public long Id { get; set; }
#endregion
@@ -15,6 +17,9 @@ public class MovieResponse : Movie
#region CONSTRUCTORS
[JsonConstructor]
public MovieResponse() {}
[SetsRequiredMembers]
public MovieResponse(MediaMovie mediaMovie)
{