diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2023-01-10 21:46:03 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2023-01-10 21:46:03 +0100 |
| commit | a9860b28f2be123d1f0bfad504165992a4c841ed (patch) | |
| tree | 12c0683e18cb1efd4dd202d0d011f5902df950c2 /BlobBin/Program.cs | |
| parent | 9d7152b5ca085c70e9b0d94adb6f5f9ff8d6f127 (diff) | |
| download | blob-bin-a9860b28f2be123d1f0bfad504165992a4c841ed.tar.xz blob-bin-a9860b28f2be123d1f0bfad504165992a4c841ed.zip | |
feat: feat
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(); } |
