Blog Files model

This commit is contained in:
Paul Schneider 2026-03-01 02:13:26 +00:00
commit bfb37bc214
12 changed files with 318 additions and 173 deletions

View file

@ -76,7 +76,7 @@ namespace Yavsc.Models
builder.Entity<Notification>().Property(n => n.icon).HasDefaultValue("exclam");
builder.Entity<ChatRoomAccess>().HasKey(p => new { room = p.ChannelName, user = p.UserId });
builder.Entity<InstrumentRating>().HasAlternateKey(i => new { Instrument = i.InstrumentId, owner = i.OwnerId });
builder.Entity<BlogAttachedFile>().HasKey(i => new { i.FileId, i.PostId});
foreach (var et in builder.Model.GetEntityTypes())
{
if (et.ClrType.GetInterface("IBaseTrackedEntity") != null)
@ -283,5 +283,8 @@ namespace Yavsc.Models
public DbSet<ApiResourceProperty> ApiResourceProperties { get; set; }
public DbSet<ApiScopeClaim> ApiScopeClaims { get; set; }
public DbSet<ApiScopeProperty> ApiScopeProperties { get; set; }
public DbSet<BlogAttachedFile> blogAttachedFiles { get; set; }
public DbSet<UploadedFile> UploadedFiles { get; set; }
}
}

View file

@ -0,0 +1,59 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Org.BouncyCastle.Crypto.Modes;
namespace Yavsc.Models.Blog
{
public class UploadedFile
{
/// <summary>
/// File Identifier
/// </summary>
/// <value></value>
[Key(), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Display(Name = "Identifiant du fichier")]
public long Id { get; set; }
/// <summary>
/// relative path to the file, relative to the poster space prefix
/// </summary>
/// <value></value>
public string Path { get; set; }
/// <summary>
/// Length
/// </summary> <summary>
///
/// </summary>
/// <value></value>
public long Length { get; set; }
/// <summary>
/// File Content type
/// </summary>
/// <value></value>
public string ContentType { get; set; }
}
public class BlogAttachedFile
{
/// <summary>
/// Post Id
/// </summary>
/// <value></value>
public long FileId { get; set; }
[ForeignKey("FileId")]
public virtual UploadedFile File { get; set; }
/// <summary>
/// Post Id
/// </summary>
/// <value></value>
public long PostId { get; set; }
[ForeignKey("PostId")]
public virtual BlogPost Post { get; set; }
}
}

View file

@ -9,26 +9,6 @@ using Yavsc.Models.Relationship;
namespace Yavsc.Models.Blog
{
public class BlogPostEditViewModel : BlogPost
{
public bool Publish { get; set; }
public BlogPostEditViewModel()
{
}
public BlogPostEditViewModel(BlogPost post, bool publish)
{
Id = post.Id;
AuthorId = post.AuthorId;
Photo = post.Photo;
Title = post.Title;
Article = post.Article;
Publish = publish;
ACL = post.ACL;
}
}
public class BlogPost :
IBlogPost, ICircleAuthorized, ITaggable<long>

View file

@ -0,0 +1,23 @@
namespace Yavsc.Models.Blog
{
public class BlogPostEditViewModel : BlogPost
{
public bool Publish { get; set; }
public BlogPostEditViewModel()
{
}
public BlogPostEditViewModel(BlogPost post, bool publish)
{
Id = post.Id;
AuthorId = post.AuthorId;
Photo = post.Photo;
Title = post.Title;
Article = post.Article;
Publish = publish;
ACL = post.ACL;
}
}
}

View file

@ -20,8 +20,6 @@ namespace Yavsc.Models.Haircut
public class HairCutQuery : NominativeServiceCommand
{
// Bill description
string _description = null;
public override string Description
{
get; set;
@ -62,7 +60,6 @@ namespace Yavsc.Models.Haircut
public string AdditionalInfo { get; set; }
public override List<IBillItem> GetBillItems()
{
string longhairsuffix = " (cheveux longs)";