Skip to content

Commit 800f09e

Browse files
committed
Major code cleanup
1 parent d561797 commit 800f09e

14 files changed

+20
-631
lines changed

App/API/Endpoints.cs

+3-37
Original file line numberDiff line numberDiff line change
@@ -14,32 +14,15 @@ namespace Repository.App.API
1414
{
1515
public class Endpoints
1616
{
17-
// TODO: Delete this dict and its uses before hand-in
18-
static Dictionary<string, int> numUpdates = new Dictionary<string, int>();
19-
//static DatabaseManager databaseManager = new DatabaseManager(new MetadataDb());
20-
//static ResourceManager resourceManager = new ResourceManager(new FileDb(), new MetadataDb());
2117
public Endpoints(WebApplication app)
2218
{
23-
//databaseManager.TrackAllDynamicResources();
24-
25-
// TODO: Delete if we don't end up using MultiThreadFileWriter
26-
//var fileWriter = app.Services.GetRequiredService<MultiThreadFileWriter>();
27-
//fileWriter.WriteLine("yo", "c:\\myfile.txt");
28-
29-
// Rate limiting is added to some endpoints only, as it will keep the program stable.
30-
// The endpoints without rate limiting, such as ping, are endpoints we don't expect to break anything from a large amount of requests, and rate limiting would only be to prevent ddos attacks.
31-
// If we add rate limiting to these endpoints, we need to add another policy that allows a higher request rate than the one used for files.
32-
// Metadata already has an internal queue for writing updates, which means rate limiting isn't required.
33-
// TODO: metadata queue only applies when writing to the file, not reading from. This hasn't been an issue so far, but maybe rate limiting on metadata read requests could be useful.
3419
var ratePolicy = "fixed";
3520

3621
var _hostEnvironment = app.Environment;
3722
#region connection
3823
// To maintain connection
3924
app.MapGet("ping", (HttpContext httpContext) =>
4025
{
41-
//var appUrl = app.Urls.FirstOrDefault();
42-
//Console.WriteLine("Repo URL: " + appUrl);
4326
return "pong";
4427
});
4528

@@ -58,15 +41,13 @@ public Endpoints(WebApplication app)
5841
Console.WriteLine("Received GET request for file on resource id: " + resourceId);
5942
return manager.GetFileById(resourceId);
6043
});
61-
//.RequireRateLimiting(ratePolicy); // TODO: Find out if retrieving files without rate limiter can be an issue (especially with streaming)
6244

6345
// To save incomming files (.png, .xes, .bpmn, .pnml etc)
6446
app.MapPost("/resources", (HttpContext context, ResourceManager manager) => {
6547
Console.WriteLine("Received POST request to save file");
6648
var request = context.Request;
6749
//var appUrl = $"{request.Scheme}://{request.Host}{request.PathBase}{request.Path}{request.QueryString}"; // Full URL with path and everything
6850
var appUrl = $"{request.Scheme}://{request.Host}{request.PathBase}";
69-
//var appUrl = app.Urls.FirstOrDefault();
7051
var formObject = context.Request.Form.ToFormObject(appUrl);
7152

7253
if (formObject == null) return Results.BadRequest("Invalid FormData keys");
@@ -79,12 +60,6 @@ public Endpoints(WebApplication app)
7960
app.MapPut("/resources/{resourceId}", (HttpContext context, string resourceId, ResourceManager manager) =>
8061
{
8162
Console.WriteLine("Received PUT request to update file with id: " + resourceId);
82-
83-
// TODO: Delete the following section. Just to track number of updates and to print headers:
84-
if (numUpdates.ContainsKey(resourceId)) numUpdates[resourceId] += 1;
85-
else numUpdates[resourceId] = 1;
86-
Console.WriteLine($"Num updates for {resourceId} = {numUpdates[resourceId]}");
87-
8863
var requestFiles = context.Request.Form.Files;
8964
if (requestFiles?.Count != 1) return Results.BadRequest("Exactly one file is required");
9065
var formFile = requestFiles.Single();
@@ -116,32 +91,22 @@ public Endpoints(WebApplication app)
11691
return manager.GetChildrenMetadataList(resourceId);
11792
});
11893

94+
// To save metadata object without a file
11995
app.MapPost("/resources/metadata", (HttpRequest request, ResourceManager manager) =>
12096
{
12197
Console.WriteLine("Received POST request to create metadata object without a file");
122-
//var appUrl = app.Urls.FirstOrDefault(); // TODO: This isn't the cleanest way to get our own URL. Maybe change at some point.
12398
var appUrl = $"{request.Scheme}://{request.Host}{request.PathBase}";
124-
//request.EnableBuffering();
125-
//request.Body.Seek(0, SeekOrigin.Begin);
126-
//if (request.ContentLength == 0)
127-
// return Results.BadRequest("Invalid request. Body must have form data.");
12899

129100
var formObject = request.Form.ToFormObject();
130101
if (formObject == null) return Results.BadRequest("Invalid FormData keys");
131102
return manager.PostMetadata(formObject, appUrl!);
132-
//return manager.PostMetadata(request.Form, appUrl!);
133103
});
134104

105+
// To update metadata object only
135106
app.MapPut("/resources/metadata/{resourceId}", (HttpRequest request, string resourceId, ResourceManager manager) =>
136107
{
137108
Console.WriteLine("Received PUT request to update metadata object without a file");
138-
//var appUrl = app.Urls.FirstOrDefault(); // TODO: This isn't the cleanest way to get our own URL. Maybe change at some point.
139109
var appUrl = $"{request.Scheme}://{request.Host}{request.PathBase}";
140-
//request.EnableBuffering();
141-
//request.Body.Seek(0, SeekOrigin.Begin);
142-
//if (request.ContentLength == 0)
143-
// return Results.BadRequest("Invalid request. Body must have form data.");
144-
145110
return manager.UpdateMetadataObject(request.Form, appUrl!, resourceId);
146111
});
147112

@@ -154,6 +119,7 @@ public Endpoints(WebApplication app)
154119
return manager.GetFilteredList(bodyString);
155120
});
156121
#endregion
122+
157123
#region visualizers
158124
// To retrieve graph for given resourceId
159125
app.MapGet("/resources/graphs/{resourceId}", (HttpRequest request, string resourceId, ResourceManager manager) =>

App/API/RequestValidatorMiddleware.cs

-33
This file was deleted.

App/Database/DatabaseManager.cs

-218
This file was deleted.

0 commit comments

Comments
 (0)