aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/api/api/.gitignore3
-rw-r--r--backend/api/api/Controllers/AuthController.cs6
-rw-r--r--backend/api/api/Controllers/FileUploadController.cs47
-rw-r--r--backend/api/api/api.csproj4
4 files changed, 54 insertions, 6 deletions
diff --git a/backend/api/api/.gitignore b/backend/api/api/.gitignore
index 8afdcb63..242abea5 100644
--- a/backend/api/api/.gitignore
+++ b/backend/api/api/.gitignore
@@ -3,6 +3,9 @@
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+##Ignore contents for UploadedFiles Folder
+UploadedFiles/*
+
# User-specific files
*.rsuser
*.suo
diff --git a/backend/api/api/Controllers/AuthController.cs b/backend/api/api/Controllers/AuthController.cs
index c74c579d..01354f87 100644
--- a/backend/api/api/Controllers/AuthController.cs
+++ b/backend/api/api/Controllers/AuthController.cs
@@ -30,12 +30,6 @@ namespace api.Controllers
return Ok(_auth.Login(user));
}
- [HttpGet("Auth")]
- [Authorize(Roles ="User")]
- public async Task<ActionResult<string>> TestAuth()
- {
- return Ok("works");
- }
}
diff --git a/backend/api/api/Controllers/FileUploadController.cs b/backend/api/api/Controllers/FileUploadController.cs
new file mode 100644
index 00000000..46e7f4f9
--- /dev/null
+++ b/backend/api/api/Controllers/FileUploadController.cs
@@ -0,0 +1,47 @@
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+namespace api.Controllers
+{
+ [Route("api/[controller]")]
+ [ApiController]
+ public class FileUploadController : ControllerBase
+ {
+ private string[] permittedExtensions = { ".csv" };
+
+
+ [HttpPost("Csv")]
+ [Authorize(Roles = "User")]
+ public async Task<ActionResult<string>> CsvUpload([FromForm]IFormFile file,[FromForm]string username)//???Umesto username poslati jwt odakle se moze preuzeti username radi sigurnosti
+ {
+ var filename=file.FileName;
+ var ext=Path.GetExtension(filename).ToLowerInvariant();
+ var name = Path.GetFileNameWithoutExtension(filename).ToLowerInvariant();
+ if (string.IsNullOrEmpty(ext) || ! permittedExtensions.Contains(ext)) {
+ return BadRequest("Wrong file type");
+ }
+ var folderPath=Path.Combine(Directory.GetCurrentDirectory(),"UploadedFiles",username);
+ if (!Directory.Exists(folderPath))
+ {
+ Directory.CreateDirectory(folderPath);
+ }
+
+ var fullPath = Path.Combine(folderPath, filename);
+ int i=0;
+
+ while (System.IO.File.Exists(fullPath)) {
+ i++;
+ fullPath = Path.Combine(folderPath,name+i.ToString()+ext);
+ }
+
+
+
+ using (var stream=new FileStream(fullPath, FileMode.Create))
+ {
+ await file.CopyToAsync(stream);
+ }
+
+ return Ok();
+ }
+ }
+}
diff --git a/backend/api/api/api.csproj b/backend/api/api/api.csproj
index 6081cd21..46842c3e 100644
--- a/backend/api/api/api.csproj
+++ b/backend/api/api/api.csproj
@@ -18,4 +18,8 @@
<PackageReference Include="MongoDB.Driver" Version="2.14.1" />
</ItemGroup>
+ <ItemGroup>
+ <Folder Include="UploadedFiles\" />
+ </ItemGroup>
+
</Project>