Initial commit

This commit is contained in:
shiyu
2025-05-18 20:48:20 +08:00
commit cde2c7b997
79 changed files with 5713 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
namespace Foxel.Models.Request.Album;
public class AlbumPictureRequest
{
public int AlbumId { get; set; }
public int PictureId { get; set; }
}

View File

@@ -0,0 +1,7 @@
namespace Foxel.Models.Request.Album;
public class AlbumPicturesRequest
{
public int AlbumId { get; set; }
public List<int> PictureIds { get; set; } = new();
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace Foxel.Models.Request.Album;
public class CreateAlbumRequest
{
[Required]
[StringLength(100)]
public string Name { get; set; } = string.Empty;
[StringLength(500)]
public string? Description { get; set; }
}

View File

@@ -0,0 +1,6 @@
namespace Foxel.Models.Request.Album;
public class UpdateAlbumRequest : CreateAlbumRequest
{
public int Id { get; set; }
}

View File

@@ -0,0 +1,7 @@
namespace Foxel.Models.Request.Auth;
public class LoginRequest
{
public string Email { get; set; } = string.Empty;
public string Password { get; set; } = string.Empty;
}

View File

@@ -0,0 +1,8 @@
namespace Foxel.Models.Request.Auth;
public class RegisterRequest
{
public string UserName { get; set; } = string.Empty;
public string Email { get; set; } = string.Empty;
public string Password { get; set; } = string.Empty;
}

View File

@@ -0,0 +1,15 @@
using System.ComponentModel.DataAnnotations;
namespace Foxel.Models.Request.Config;
public class SetConfigRequest
{
[Required(ErrorMessage = "配置键不能为空")]
[StringLength(50, ErrorMessage = "配置键长度不能超过50个字符")]
public string Key { get; set; } = string.Empty;
public string? Value { get; set; }
[StringLength(255, ErrorMessage = "描述长度不能超过255个字符")]
public string? Description { get; set; }
}

View File

@@ -0,0 +1,6 @@
namespace Foxel.Models.Request.Picture;
public class DeleteMultiplePicturesRequest
{
public List<int> PictureIds { get; set; } = new();
}

View File

@@ -0,0 +1,6 @@
namespace Foxel.Models.Request.Picture;
public class DeletePictureRequest
{
public int Id { get; set; }
}

View File

@@ -0,0 +1,6 @@
namespace Foxel.Models.Request.Picture;
public class FavoriteRequest
{
public int PictureId { get; set; }
}

View File

@@ -0,0 +1,39 @@
using System.ComponentModel.DataAnnotations;
namespace Foxel.Models.Request.Picture
{
public class FilteredPicturesRequest
{
[Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")]
public int Page { get; set; } = 1;
[Range(1, 100, ErrorMessage = "每页数量必须在1-100之间")]
public int PageSize { get; set; } = 8;
public string? SearchQuery { get; set; }
public string? Tags { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public string? SortBy { get; set; } = "newest";
public bool OnlyWithGps { get; set; } = false;
public bool UseVectorSearch { get; set; } = false;
public double SimilarityThreshold { get; set; } = 0.36;
public int? ExcludeAlbumId { get; set; }
public int? AlbumId { get; set; }
public bool OnlyFavorites { get; set; } = false;
public int? OwnerId { get; set; }
public bool IncludeAllPublic { get; set; } = false;
}
}

View File

@@ -0,0 +1,9 @@
namespace Foxel.Models.Request.Picture;
public class SearchPicturesByTextRequest
{
public string Query { get; set; } = string.Empty;
public int Page { get; set; } = 1;
public int PageSize { get; set; } = 8;
public double SimilarityThreshold { get; set; } = 0.36;
}

View File

@@ -0,0 +1,8 @@
namespace Foxel.Models.Request.Picture;
public class UpdatePictureRequest
{
public string? Name { get; set; }
public string? Description { get; set; }
public List<string>? Tags { get; set; }
}

View File

@@ -0,0 +1,6 @@
namespace Foxel.Models.Request.Picture;
public class UpdatePictureRequestWithId : UpdatePictureRequest
{
public int Id { get; set; }
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
using Foxel.Models.DataBase;
namespace Foxel.Models.Request.Picture;
public class UploadPictureRequest
{
[Required] public IFormFile File { get; set; } = null!;
public int? Permission { get; set; } = 1;
public int? AlbumId { get; set; } = null;
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace Foxel.Models.Request.Tag;
public class CreateTagRequest
{
[Required]
[StringLength(50)]
public string Name { get; set; } = string.Empty;
[StringLength(200)]
public string? Description { get; set; }
}

View File

@@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
namespace Foxel.Models.Request.Tag
{
public class FilteredTagsRequest
{
[Range(1, int.MaxValue, ErrorMessage = "页码必须大于0")]
public int Page { get; set; } = 1;
[Range(1, 100, ErrorMessage = "每页数量必须在1-100之间")]
public int PageSize { get; set; } = 20;
public string? SearchQuery { get; set; }
// 排序方式name, pictureCount, createdAt
public string? SortBy { get; set; } = "pictureCount";
// 排序方向asc, desc
public string? SortDirection { get; set; } = "desc";
}
}

View File

@@ -0,0 +1,6 @@
namespace Foxel.Models.Request.Tag;
public class UpdateTagRequest : CreateTagRequest
{
public int Id { get; set; }
}