summaryrefslogtreecommitdiffstats
path: root/src/DB.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/DB.cs')
-rw-r--r--src/DB.cs42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/DB.cs b/src/DB.cs
new file mode 100644
index 0000000..a736dc2
--- /dev/null
+++ b/src/DB.cs
@@ -0,0 +1,42 @@
+using Microsoft.EntityFrameworkCore;
+
+namespace BlobBin;
+
+public class DB : DbContext
+{
+ public DB(DbContextOptions<DB> options) : base(options) { }
+
+ public DbSet<File> Files { get; set; }
+ public DbSet<Paste> Pastes { get; set; }
+}
+
+public class UploadEntityBase
+{
+ public UploadEntityBase() {
+ Id = Guid.NewGuid();
+ CreatedAt = DateTime.UtcNow;
+ }
+
+ public Guid Id { get; set; }
+ public string PublicId { get; set; }
+ public DateTime CreatedAt { get; set; }
+ public string CreatedBy { get; set; }
+ public DateTime? DeletedAt { get; set; }
+ public string? PasswordHash { get; set; }
+ public bool Singleton { get; set; }
+ public string? AutoDeleteAfter { get; set; }
+ public string? MimeType { get; set; }
+}
+
+public class File : UploadEntityBase
+{
+ public string? Name { get; set; }
+ public long Length { get; set; }
+}
+
+public class Paste : UploadEntityBase
+{
+ public string? Name { get; set; }
+ public string? Content { get; set; }
+ public long Length { get; set; }
+} \ No newline at end of file