aboutsummaryrefslogtreecommitdiff
path: root/backend/api
diff options
context:
space:
mode:
authorSonja Galovic <galovicsonja@gmail.com>2022-03-19 19:57:33 +0100
committerSonja Galovic <galovicsonja@gmail.com>2022-03-19 19:57:33 +0100
commita7569af278b8841c224f47e43c4a8b568babf598 (patch)
tree407f87383234f88c3dea530f9014bf6fe8f09b67 /backend/api
parent59e3f40095eba7b541b0553c5a048e36dfe94f95 (diff)
parentff5bf81a14d3024f8ff1764db488dec6790ed37e (diff)
Merge branch 'dev' of http://gitlab.pmf.kg.ac.rs/igrannonica/neuronstellar into dev
Diffstat (limited to 'backend/api')
-rw-r--r--backend/api/api/Controllers/DatasetController.cs75
-rw-r--r--backend/api/api/Services/DatasetService.cs14
-rw-r--r--backend/api/api/Services/IDatasetService.cs3
3 files changed, 84 insertions, 8 deletions
diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs
index c0ba0039..1ad180b7 100644
--- a/backend/api/api/Controllers/DatasetController.cs
+++ b/backend/api/api/Controllers/DatasetController.cs
@@ -24,7 +24,7 @@ namespace api.Controllers
// GET: api/<DatasetController>/mydatasets
- [HttpGet("/mydatasets")]
+ [HttpGet("mydatasets")]
[Authorize(Roles = "User")]
public ActionResult<List<Dataset>> Get()
{
@@ -40,14 +40,77 @@ namespace api.Controllers
}
else
return BadRequest();
-
+
//ako bude trebao ID, samo iz baze uzeti
return _datasetService.GetMyDatesets(username);
}
+ // GET: api/<DatasetController>/getlatestdataset/{number}
+ [HttpGet("getlatestdatasets/{latest}")]
+ [Authorize(Roles = "User")]
+ public ActionResult<List<Dataset>> GetLatestDatasets(int latest)
+ {
+ string username;
+ var header = Request.Headers[HeaderNames.Authorization];
+ if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
+ {
+ var scheme = headerValue.Scheme;
+ var parameter = headerValue.Parameter;
+ username = jwtToken.TokenToUsername(parameter);
+ if (username == null)
+ return null;
+ }
+ else
+ return BadRequest();
+
+ //ako bude trebao ID, samo iz baze uzeti
+
+ List<Dataset> lista = _datasetService.GetMyDatesets(username);
+
+ List<Dataset> novaLista = new List<Dataset>();
+
+ lista.Reverse();
+
+ for(int i = 0; i < latest; i++)
+ novaLista.Add(lista[i]);
+
+ return novaLista;
+ }
+
+ // GET: api/<DatasetController>/getoldestdataset/{number}
+ [HttpGet("getoldestdatasets/{oldest}")]
+ [Authorize(Roles = "User")]
+ public ActionResult<List<Dataset>> GetOldestDatasets(int oldest)
+ {
+ string username;
+ var header = Request.Headers[HeaderNames.Authorization];
+ if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
+ {
+ var scheme = headerValue.Scheme;
+ var parameter = headerValue.Parameter;
+ username = jwtToken.TokenToUsername(parameter);
+ if (username == null)
+ return null;
+ }
+ else
+ return BadRequest();
+
+ //ako bude trebao ID, samo iz baze uzeti
+
+ List<Dataset> lista = _datasetService.GetMyDatesets(username);
+
+ List<Dataset> novaLista = new List<Dataset>();
+
+ for (int i = 0; i < oldest; i++)
+ novaLista.Add(lista[i]);
+
+ return novaLista;
+ }
+
+
// GET: api/<DatasetController>/publicdatasets
- [HttpGet("/datasets")]
+ [HttpGet("publicdatasets")]
public ActionResult<List<Dataset>> GetPublicDS()
{
return _datasetService.GetPublicDatesets();
@@ -55,7 +118,7 @@ namespace api.Controllers
// GET api/<DatasetController>/{name}
//get odredjeni dataset
- [HttpGet("/{name}")]
+ [HttpGet("{name}")]
[Authorize(Roles = "User")]
public ActionResult<Dataset> Get(string name)
{
@@ -114,7 +177,7 @@ namespace api.Controllers
}
// PUT api/<DatasetController>/{name}
- [HttpPut("/{name}")]
+ [HttpPut("{name}")]
[Authorize(Roles = "User")]
public ActionResult Put(string name, [FromBody] Dataset dataset)
{
@@ -143,7 +206,7 @@ namespace api.Controllers
}
// DELETE api/<DatasetController>/name
- [HttpDelete("/{name}")]
+ [HttpDelete("{name}")]
[Authorize(Roles = "User")]
public ActionResult Delete(string name)
{
diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs
index 27a8b3ee..880570dd 100644
--- a/backend/api/api/Services/DatasetService.cs
+++ b/backend/api/api/Services/DatasetService.cs
@@ -1,4 +1,5 @@
-using api.Interfaces;
+using System.Linq;
+using api.Interfaces;
using api.Models;
using MongoDB.Driver;
@@ -30,6 +31,17 @@ namespace api.Services
{
return _dataset.Find(dataset => dataset.username == username).ToList();
}
+
+ public List<Dataset> GetLatestDatasets(string username, int latest)
+ {
+ List<Dataset> list = _dataset.Find(dataset => dataset.username == username).ToList();
+
+
+
+
+ return list;
+ }
+
public List<Dataset> GetPublicDatesets()
{
return _dataset.Find(dataset => dataset.isPublic == true).ToList();
diff --git a/backend/api/api/Services/IDatasetService.cs b/backend/api/api/Services/IDatasetService.cs
index 61a04b94..19a0aabc 100644
--- a/backend/api/api/Services/IDatasetService.cs
+++ b/backend/api/api/Services/IDatasetService.cs
@@ -6,7 +6,8 @@ namespace api.Services
public interface IDatasetService
{
Dataset GetOneDataset(string username, string name);
- List<Dataset> GetMyDatesets(string username);
+ List<Dataset> GetMyDatesets(string username);
+ List<Dataset> GetLatestDatasets(string username, int latest);
List<Dataset> GetPublicDatesets();
Dataset Create(Dataset dataset);
void Update(string username, string name, Dataset dataset);