Browse Source

Constants added

pull/4161/head
Ahmet 6 years ago
parent
commit
41259e39a0
  1. 9
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/BlobConsts.cs
  2. 2
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/ContainerConsts.cs
  3. 28
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/Blob.cs
  4. 3
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/Container.cs
  5. 2
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlobProvider.cs
  6. 3
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDatabaseDbContextModelCreatingExtensions.cs

9
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/BlobConsts.cs

@ -0,0 +1,9 @@
namespace Volo.Abp.BlobStoring.Database
{
public static class BlobConsts
{
public const int MaxNameLength = 256;
public const int MaxContentLength = 2_000_000_000; // 2 GB
}
}

2
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain.Shared/Volo/Abp/BlobStoring/Database/ContainerConsts.cs

@ -2,6 +2,6 @@
{
public static class ContainerConsts
{
public const int MaxNameLength = 64; // TODO: find best length
public const int MaxNameLength = 128;
}
}

28
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/Blob.cs

@ -1,5 +1,5 @@
using System;
using Volo.Abp.Data;
using JetBrains.Annotations;
using System;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;
@ -13,14 +13,32 @@ namespace Volo.Abp.BlobStoring.Database
public string Name { get; set; }
public byte[] Content { get; set; }
public byte[] Content { get; private set; }
public Blob(Guid id, Guid containerId, string name, byte[] content, Guid? tenantId) : base(id)
public Blob(Guid id, Guid containerId, [NotNull]string name, byte[] content, Guid? tenantId) : base(id)
{
Check.NotNullOrWhiteSpace(name, nameof(name), BlobConsts.MaxNameLength);
CheckContent(content);
Content = content;
ContainerId = containerId;
Name = name;
Content = content;
TenantId = tenantId;
}
public virtual void SetContent(byte[] content)
{
CheckContent(content);
Content = content;
}
protected void CheckContent(byte[] content)
{
if (content.Length >= BlobConsts.MaxContentLength)
{
throw new AbpException("Blob content size cannot be more than 2GB.");
}
}
}
}

3
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/Container.cs

@ -13,7 +13,8 @@ namespace Volo.Abp.BlobStoring.Database
public Container(Guid id, [NotNull]string name, Guid? tenantId = null) : base(id)
{
// Todo: check null and length etc
Check.NotNullOrWhiteSpace(name, nameof(name), ContainerConsts.MaxNameLength);
TenantId = tenantId;
Name = name;
}

2
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlobProvider.cs

@ -31,7 +31,7 @@ namespace Volo.Abp.BlobStoring.Database
throw new BlobAlreadyExistsException($"Saving BLOB '{args.BlobName}' does already exists in the container '{args.ContainerName}'! Set {nameof(args.OverrideExisting)} if it should be overwritten.");
}
blob.Content = content;
blob.SetContent(content);
await BlobRepository.UpdateAsync(blob);
}
else

3
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/BlobStoringDatabaseDbContextModelCreatingExtensions.cs

@ -36,8 +36,9 @@ namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore
b.ConfigureByConvention();
b.Property(p => p.Name).IsRequired().HasMaxLength(ContainerConsts.MaxNameLength);
b.Property(p => p.Name).IsRequired().HasMaxLength(BlobConsts.MaxNameLength);
b.Property(p => p.ContainerId).IsRequired();
b.Property(p => p.Content).HasMaxLength(BlobConsts.MaxContentLength);
b.HasIndex(x => x.Name);
});

Loading…
Cancel
Save