diff options
author | Sonja Galovic <galovicsonja@gmail.com> | 2022-03-19 19:57:33 +0100 |
---|---|---|
committer | Sonja Galovic <galovicsonja@gmail.com> | 2022-03-19 19:57:33 +0100 |
commit | a7569af278b8841c224f47e43c4a8b568babf598 (patch) | |
tree | 407f87383234f88c3dea530f9014bf6fe8f09b67 /backend/api | |
parent | 59e3f40095eba7b541b0553c5a048e36dfe94f95 (diff) | |
parent | ff5bf81a14d3024f8ff1764db488dec6790ed37e (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.cs | 75 | ||||
-rw-r--r-- | backend/api/api/Services/DatasetService.cs | 14 | ||||
-rw-r--r-- | backend/api/api/Services/IDatasetService.cs | 3 |
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); |