diff options
Diffstat (limited to 'BlobBin/Program.cs')
| -rw-r--r-- | BlobBin/Program.cs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/BlobBin/Program.cs b/BlobBin/Program.cs index 085bd6e..acf3e5f 100644 --- a/BlobBin/Program.cs +++ b/BlobBin/Program.cs @@ -1,25 +1,33 @@ -var builder = WebApplication.CreateBuilder(args); +global using BlobBin; +using Microsoft.EntityFrameworkCore; +using File = BlobBin.File; +var builder = WebApplication.CreateBuilder(args); +builder.Services.AddDbContext<DB>(opt => opt.UseSqlite("data source=main.db")); var app = builder.Build(); app.UseFileServer(); app.UseStatusCodePages(); -app.MapPost("/upload", Upload); +app.MapGet("/upload-link", GetUploadLink); +app.MapPost("/upload/{id}", GetUploadLink); app.MapPost("/text", UploadText); app.MapGet("/b/{id}", GetBlob); app.Run(); -IResult Upload(HttpContext context) { - var request = new UploadRequest() { - Singleton = context.Request.Form["singleton"] == "on", - File = context.Request.Form.Files.FirstOrDefault(), - Password = context.Request.Form["password"], - AutoDeleteAfter = context.Request.Form["autoDeleteAfter"] +IResult GetUploadLink(HttpContext context, DB db) { + var file = new File { + CreatedBy = context.Request.Headers["X-Forwarded-For"].ToString() }; + db.Files.Add(file); + db.SaveChanges(); + return Results.Ok(context.Request.Host.Value + "/upload/" + file.Id); +} + +IResult Upload(HttpContext context, DB db) { return Results.Ok(); } -IResult UploadText(PasteRequest request) { +IResult UploadText(HttpContext context, DB db) { return Results.Ok(); } |
