aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/api/api/Controllers/DatasetController.cs105
-rw-r--r--backend/api/api/Controllers/ExperimentController.cs54
-rw-r--r--backend/api/api/Controllers/FileController.cs79
-rw-r--r--backend/api/api/Controllers/ModelController.cs118
-rw-r--r--backend/api/api/Controllers/PredictorController.cs142
-rw-r--r--backend/api/api/Controllers/UserController.cs76
-rw-r--r--backend/api/api/Models/Predictor.cs9
-rw-r--r--backend/api/api/Services/IPredictorService.cs1
-rw-r--r--backend/api/api/Services/PredictorService.cs14
9 files changed, 202 insertions, 396 deletions
diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs
index e9c824f9..13a0d868 100644
--- a/backend/api/api/Controllers/DatasetController.cs
+++ b/backend/api/api/Controllers/DatasetController.cs
@@ -25,11 +25,7 @@ namespace api.Controllers
_fileService = fileService;
jwtToken = Token;
}
-
- // GET: api/<DatasetController>/mydatasets
- [HttpGet("mydatasets")]
- [Authorize(Roles = "User,Guest")]
- public ActionResult<List<Dataset>> Get()
+ public string getUsername()
{
string username;
var header = Request.Headers[HeaderNames.Authorization];
@@ -42,8 +38,21 @@ namespace api.Controllers
return null;
}
else
+ return null;
+
+ return username;
+ }
+
+ // GET: api/<DatasetController>/mydatasets
+ [HttpGet("mydatasets")]
+ [Authorize(Roles = "User,Guest")]
+ public ActionResult<List<Dataset>> Get()
+ {
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
- //U slucaju da je korisnik gost vrati dataSetove igrannonice
+
if (username == "")
return _datasetService.GetGuestDatasets();
@@ -60,22 +69,13 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<List<Dataset>> SortDatasets(bool ascdsc, 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
List<Dataset> lista = _datasetService.SortDatasets(username, ascdsc, latest);
-
if (latest == 0)
return lista;
else
@@ -100,17 +100,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<List<Dataset>> Search(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
//ako bude trebao ID, samo iz baze uzeti
@@ -125,17 +117,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<Dataset> Get(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var dataset = _datasetService.GetOneDataset(username, name);
@@ -145,18 +129,6 @@ namespace api.Controllers
return dataset;
}
- /*za pretragu vratiti dataset koji je public
- public ActionResult<Dataset> Get(string name)
- {
- var dataset = _datasetService.GetOneDataset(username, name);
-
- if (dataset == null)
- return NotFound($"Dataset with name = {name} or user with username = {username} not found");
-
- return dataset;
- }
- */
-
// POST api/<DatasetController>/add
[HttpPost("add")]
[Authorize(Roles = "User,Guest")]
@@ -171,7 +143,6 @@ namespace api.Controllers
return NotFound($"Dateset with name = {dataset.name} exisits");
else
{
-
FileModel fileModel = _fileService.getFile(dataset.fileId);
dataset.isPreProcess = false;
_datasetService.Create(dataset);
@@ -186,17 +157,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult Put(string name, [FromBody] Dataset dataset)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var existingDataset = _datasetService.GetOneDataset(username, name);
@@ -217,17 +180,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult Delete(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var dataset = _datasetService.GetOneDataset(username, name);
diff --git a/backend/api/api/Controllers/ExperimentController.cs b/backend/api/api/Controllers/ExperimentController.cs
index c2cde931..3fa02943 100644
--- a/backend/api/api/Controllers/ExperimentController.cs
+++ b/backend/api/api/Controllers/ExperimentController.cs
@@ -25,10 +25,7 @@ namespace api.Controllers
_mlConnectionService = mlConnectionService;
_fileService = fileService;
}
-
- [HttpPost("add")]
- [Authorize(Roles = "User,Guest")]
- public async Task<ActionResult<Experiment>> Post([FromBody] Experiment experiment)
+ public string getUserId()
{
string uploaderId;
var header = Request.Headers[HeaderNames.Authorization];
@@ -38,15 +35,27 @@ namespace api.Controllers
var parameter = headerValue.Parameter;
uploaderId = jwtToken.TokenToId(parameter);
if (uploaderId == null)
- return BadRequest();
+ return null;
}
else
+ return null;
+
+ return uploaderId;
+ }
+
+ [HttpPost("add")]
+ [Authorize(Roles = "User,Guest")]
+ public async Task<ActionResult<Experiment>> Post([FromBody] Experiment experiment)
+ {
+ string uploaderId = getUserId();
+
+ if (uploaderId == null)
return BadRequest();
experiment.uploaderId = uploaderId;
var existingExperiment = _experimentService.Get(uploaderId, experiment.name);
if(existingExperiment != null)
- return NotFound($"Experiment with name = {experiment.name} exisits");
+ return NotFound($"Experiment with this name exists");
_experimentService.Create(experiment);
return Ok(experiment);
}
@@ -55,17 +64,9 @@ namespace api.Controllers
[Authorize(Roles = "User,Guest")]
public async Task<ActionResult<Experiment>> Get(string id)
{
- string uploaderId;
- var header = Request.Headers[HeaderNames.Authorization];
- if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
- {
- var scheme = headerValue.Scheme;
- var parameter = headerValue.Parameter;
- uploaderId = jwtToken.TokenToId(parameter);
- if (uploaderId == null)
- return null;
- }
- else
+ string uploaderId = getUserId();
+
+ if (uploaderId == null)
return BadRequest();
var experiment = _experimentService.Get(id);
@@ -79,24 +80,13 @@ namespace api.Controllers
[Authorize(Roles = "User,Guest")]
public async Task<ActionResult<List<Experiment>>> getMyExperiments()
{
- string uploaderId;
- var header = Request.Headers[HeaderNames.Authorization];
- if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
- {
- var scheme = headerValue.Scheme;
- var parameter = headerValue.Parameter;
- uploaderId = jwtToken.TokenToId(parameter);
- if (uploaderId == null)
- return null;
- }
- else
+ string uploaderId = getUserId();
+
+ if (uploaderId == null)
return BadRequest();
+
var experiments=_experimentService.GetMyExperiments(uploaderId);
return Ok(experiments);
-
}
-
-
-
}
}
diff --git a/backend/api/api/Controllers/FileController.cs b/backend/api/api/Controllers/FileController.cs
index a5d0ae7e..b9b31500 100644
--- a/backend/api/api/Controllers/FileController.cs
+++ b/backend/api/api/Controllers/FileController.cs
@@ -25,18 +25,12 @@ namespace api.Controllers
_fileservice = fileService;
}
- [HttpPost("h5")]
- [Authorize(Roles = "User,Guest")]
- public async Task<ActionResult<string>> H5Upload([FromForm] IFormFile file)
+ public string getUserId()
{
-
- //get username from jwtToken
string uploaderId;
- string folderName;
var header = Request.Headers[HeaderNames.Authorization];
if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
{
-
var scheme = headerValue.Scheme;
var parameter = headerValue.Parameter;
uploaderId = _token.TokenToId(parameter);
@@ -44,7 +38,25 @@ namespace api.Controllers
return null;
}
else
+ return null;
+
+ return uploaderId;
+ }
+
+ [HttpPost("h5")]
+ [Authorize(Roles = "User,Guest")]
+ public async Task<ActionResult<string>> H5Upload([FromForm] IFormFile file)
+ {
+
+ //get username from jwtToken
+
+ string folderName;
+
+ string uploaderId = getUserId();
+
+ if (uploaderId == null)
return BadRequest();
+
if (uploaderId == "")
{
folderName = "TempFiles";
@@ -101,18 +113,9 @@ namespace api.Controllers
public ActionResult<string> CsvRead(bool hasHeader, string fileId)
{
- string uploaderId;
- var header = Request.Headers[HeaderNames.Authorization];
- if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
- {
+ string uploaderId = getUserId();
- var scheme = headerValue.Scheme;
- var parameter = headerValue.Parameter;
- uploaderId = _token.TokenToId(parameter);
- if (uploaderId == null)
- return null;
- }
- else
+ if (uploaderId == null)
return BadRequest();
//String csvContent = System.IO.File.ReadAllText(fileModel.path);
@@ -135,18 +138,12 @@ namespace api.Controllers
{
//get username from jwtToken
- string uploaderId;
+
string folderName;
- var header = Request.Headers[HeaderNames.Authorization];
- if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
- {
- var scheme = headerValue.Scheme;
- var parameter = headerValue.Parameter;
- uploaderId = _token.TokenToId(parameter);
- if (uploaderId == null)
- return null;
- }else
+ string uploaderId = getUserId();
+
+ if (uploaderId == null)
return BadRequest();
if (uploaderId == "")
@@ -215,18 +212,9 @@ namespace api.Controllers
public async Task<ActionResult> DownloadH5(string id)
{
//Get Username
- string uploaderId;
- var header = Request.Headers[HeaderNames.Authorization];
- if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
- {
+ string uploaderId = getUserId();
- var scheme = headerValue.Scheme;
- var parameter = headerValue.Parameter;
- uploaderId = _token.TokenToId(parameter);
- if (uploaderId == null)
- return null;
- }
- else
+ if (uploaderId == null)
return BadRequest();
string filePath = _fileservice.GetFilePath(id, uploaderId);
@@ -242,18 +230,9 @@ namespace api.Controllers
public async Task<ActionResult> DownloadFile(string id)
{
//Get Username
- string uploaderId;
- var header = Request.Headers[HeaderNames.Authorization];
- if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
- {
+ string uploaderId = getUserId();
- var scheme = headerValue.Scheme;
- var parameter = headerValue.Parameter;
- uploaderId = _token.TokenToId(parameter);
- if (uploaderId == null)
- return null;
- }
- else
+ if (uploaderId == null)
return BadRequest();
string filePath = _fileservice.GetFilePath(id, uploaderId);
diff --git a/backend/api/api/Controllers/ModelController.cs b/backend/api/api/Controllers/ModelController.cs
index fc403ccf..29911e07 100644
--- a/backend/api/api/Controllers/ModelController.cs
+++ b/backend/api/api/Controllers/ModelController.cs
@@ -33,13 +33,8 @@ namespace api.Controllers
_mlConnectionService = mlConnectionService;
}
- [HttpPost("trainModel")]
- [Authorize(Roles = "User,Guest")]
- public async Task<ActionResult<string>> Test([FromBody] TrainModelObject trainModelObject)
+ public string getUserId()
{
- string experimentId = trainModelObject.ExperimentId;
- string modelId = trainModelObject.ModelId;
-
string uploaderId;
var header = Request.Headers[HeaderNames.Authorization];
if (AuthenticationHeaderValue.TryParse(header, out var headerValue))
@@ -48,10 +43,43 @@ namespace api.Controllers
var parameter = headerValue.Parameter;
uploaderId = jwtToken.TokenToId(parameter);
if (uploaderId == null)
- return BadRequest();
+ return null;
}
else
+ return null;
+
+ return uploaderId;
+ }
+ public string getUsername()
+ {
+ 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 null;
+
+ return username;
+ }
+
+ [HttpPost("trainModel")]
+ [Authorize(Roles = "User,Guest")]
+ public async Task<ActionResult<string>> Test([FromBody] TrainModelObject trainModelObject)
+ {
+ string experimentId = trainModelObject.ExperimentId;
+ string modelId = trainModelObject.ModelId;
+
+ string uploaderId = getUserId();
+
+ if (uploaderId == null)
return BadRequest();
+
var experiment=_experimentService.Get(experimentId);
var dataset = _datasetService.GetOneDataset(experiment.datasetId);
var filepath = _fileService.GetFilePath(dataset.fileId, uploaderId);
@@ -65,17 +93,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<List<Model>> Get()
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
return _modelService.GetMyModels(username);
@@ -87,17 +107,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<Model> Get(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var model = _modelService.GetOneModel(username, name);
@@ -119,17 +131,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<List<Model>> GetLatestModels(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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
//ako bude trebao ID, samo iz baze uzeti
@@ -145,8 +149,6 @@ namespace api.Controllers
}
-
-
// POST api/<ModelController>/add
[HttpPost("add")]
[Authorize(Roles = "User,Guest")]
@@ -179,26 +181,14 @@ namespace api.Controllers
}
}
-
-
-
-
// PUT api/<ModelController>/{name}
[HttpPut("{name}")]
[Authorize(Roles = "User")]
public ActionResult Put(string name, [FromBody] Model model)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
@@ -216,17 +206,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult Delete(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var model = _modelService.GetOneModel(username, name);
diff --git a/backend/api/api/Controllers/PredictorController.cs b/backend/api/api/Controllers/PredictorController.cs
index b9215822..233ea401 100644
--- a/backend/api/api/Controllers/PredictorController.cs
+++ b/backend/api/api/Controllers/PredictorController.cs
@@ -1,7 +1,6 @@
using api.Models;
using api.Services;
using Microsoft.AspNetCore.Authorization;
-using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Net.Http.Headers;
using System.Net.Http.Headers;
@@ -22,13 +21,9 @@ namespace api.Controllers
_predictorService = predictorService;
jwtToken = Token;
_mlConnectionService = mlConnectionService;
-
}
- // GET: api/<PredictorController>/mypredictors
- [HttpGet("mypredictors")]
- [Authorize(Roles = "User")]
- public ActionResult<List<Predictor>> Get()
+ public string getUsername()
{
string username;
var header = Request.Headers[HeaderNames.Authorization];
@@ -41,10 +36,24 @@ namespace api.Controllers
return null;
}
else
+ return null;
+
+ return username;
+ }
+
+ // GET: api/<PredictorController>/mypredictors
+ [HttpGet("mypredictors")]
+ [Authorize(Roles = "User")]
+ public ActionResult<List<Predictor>> Get()
+ {
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
return _predictorService.GetMyPredictors(username);
}
+
// GET: api/<PredictorController>/publicpredictors
[HttpGet("publicpredictors")]
public ActionResult<List<Predictor>> GetPublicPredictors()
@@ -52,29 +61,17 @@ namespace api.Controllers
return _predictorService.GetPublicPredictors();
}
-
-
//SEARCH za predictore (public ili private sa ovim imenom )
// GET api/<PredictorController>/search/{name}
[HttpGet("search/{name}")]
[Authorize(Roles = "User")]
public ActionResult<List<Predictor>> Search(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
- //ako bude trebao ID, samo iz baze uzeti
-
return _predictorService.SearchPredictors(name, username);
}
@@ -83,20 +80,10 @@ namespace api.Controllers
[Authorize(Roles = "User,Guest")]
public ActionResult<Predictor> GetPredictor(string id)
{
- 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();
+ string username = getUsername();
- //ako bude trebao ID, samo iz baze uzeti
+ if (username == null)
+ return BadRequest();
Predictor predictor = _predictorService.GetPredictor(username, id);
@@ -106,24 +93,14 @@ namespace api.Controllers
return predictor;
}
-
- //da li da se odvoji search za public i posebno za private?
// GET api/<PredictorController>/{name}
[HttpGet("{name}")]
[Authorize(Roles = "User")]
public ActionResult<Predictor> Get(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var predictor = _predictorService.GetOnePredictor(username, name);
@@ -143,20 +120,10 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<List<Predictor>> SortPredictors(bool ascdsc, 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();
+ string username = getUsername();
- //ako bude trebao ID, samo iz baze uzeti
+ if (username == null)
+ return BadRequest();
List<Predictor> lista = _predictorService.SortPredictors(username, ascdsc, latest);
@@ -172,6 +139,7 @@ namespace api.Controllers
return novaLista;
}
}
+
// POST api/<PredictorController>/add
[HttpPost("add")]
[Authorize(Roles = "User")]
@@ -194,18 +162,9 @@ namespace api.Controllers
[Authorize(Roles = "User,Guest")]
public ActionResult UsePredictor(String id, [FromBody] PredictorColumns[] inputs)
{
+ string username = getUsername();
- 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
+ if (username == null)
return BadRequest();
Predictor predictor = _predictorService.GetPredictor(username, id);
@@ -215,23 +174,14 @@ namespace api.Controllers
return NoContent();
}
-
// PUT api/<PredictorController>/{name}
[HttpPut("{name}")]
[Authorize(Roles = "User")]
public ActionResult Put(string name, [FromBody] Predictor predictor)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var existingPredictor = _predictorService.GetOnePredictor(username, name);
@@ -245,30 +195,14 @@ namespace api.Controllers
return Ok($"Predictor with name = {name} updated");
}
- // odraditi pretragu predictora
- //potrebna public i private pretraga
- //prvo da napakuje svoje pa onda ostale
- //
- //isto odraditi i za datasetove
- //
-
-
// DELETE api/<PredictorController>/name
[HttpDelete("{name}")]
[Authorize(Roles = "User")]
public ActionResult Delete(string name)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var predictor = _predictorService.GetOnePredictor(username, name);
@@ -281,9 +215,5 @@ namespace api.Controllers
return Ok($"Predictor with name = {name} deleted");
}
-
-
-
-
}
}
diff --git a/backend/api/api/Controllers/UserController.cs b/backend/api/api/Controllers/UserController.cs
index 782a02cf..9f736679 100644
--- a/backend/api/api/Controllers/UserController.cs
+++ b/backend/api/api/Controllers/UserController.cs
@@ -22,6 +22,23 @@ namespace api.Controllers
this.userService = userService;
jwtToken = token;
}
+ public string getUsername()
+ {
+ 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 null;
+
+ return username;
+ }
// GET: api/<UserController>
[HttpGet]
@@ -36,17 +53,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult<User> MyProfilePage()
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var user = userService.GetUserUsername(username);
@@ -61,7 +70,6 @@ namespace api.Controllers
[HttpPost]
public ActionResult<User> Post([FromBody] User user)
{
-
var existingUser = userService.GetUserUsername(user.Username);
if (existingUser != null)
@@ -81,20 +89,10 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult PutPass([FromBody] string[] Password)
{
- 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();
-
+ string username = getUsername();
+ if (username == null)
+ return BadRequest();
User user = new User();
@@ -122,17 +120,9 @@ namespace api.Controllers
[HttpPut("changeinfo")]
public ActionResult Put([FromBody] User user)
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
return Ok(userService.Update(username, user));
@@ -143,17 +133,9 @@ namespace api.Controllers
[Authorize(Roles = "User")]
public ActionResult Delete()
{
- 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
+ string username = getUsername();
+
+ if (username == null)
return BadRequest();
var user = userService.GetUserUsername(username);
diff --git a/backend/api/api/Models/Predictor.cs b/backend/api/api/Models/Predictor.cs
index 911a9aee..b1d6444b 100644
--- a/backend/api/api/Models/Predictor.cs
+++ b/backend/api/api/Models/Predictor.cs
@@ -24,7 +24,7 @@ namespace api.Models
/*
{
- "_id" : "6244950f26cf2385bc29ba28",
+ "_id" : "",
"username" : "ivan123",
"name" : "Neki prediktor",
"description" : "Neki opis prediktora koji je unet tamo",
@@ -32,9 +32,10 @@ namespace api.Models
"proba2",
"proba3"
],
- "output" : "",
+ "output" : "izlaz",
"isPublic" : true,
- "accessibleByLink" : false,
- "dateCreated" : "232"
+ "accessibleByLink" : true,
+ "dateCreated" : "2022-04-11T20:33:26.937+00:00",
+ "experimentId" : "Neki id eksperimenta"
}
*/ \ No newline at end of file
diff --git a/backend/api/api/Services/IPredictorService.cs b/backend/api/api/Services/IPredictorService.cs
index 7ea8d85e..729dd0b6 100644
--- a/backend/api/api/Services/IPredictorService.cs
+++ b/backend/api/api/Services/IPredictorService.cs
@@ -14,7 +14,6 @@ namespace api.Services
Predictor Create(Predictor predictor);
void Update(string username, string name, Predictor predictor);
void Delete(string username, string name);
- bool CheckDb();
}
}
diff --git a/backend/api/api/Services/PredictorService.cs b/backend/api/api/Services/PredictorService.cs
index 22432ec2..b89eaded 100644
--- a/backend/api/api/Services/PredictorService.cs
+++ b/backend/api/api/Services/PredictorService.cs
@@ -45,12 +45,11 @@ namespace api.Services
return _predictor.Find(predictor => predictor._id == id && (predictor.username == username || predictor.isPublic == true)).FirstOrDefault();
}
- //last private models
+
public List<Predictor> SortPredictors(string username, bool ascdsc, int latest)
{
List<Predictor> list = _predictor.Find(predictor => predictor.username == username).ToList();
-
if (ascdsc)
list = list.OrderBy(predictor => predictor.dateCreated).ToList();
else
@@ -66,17 +65,6 @@ namespace api.Services
public void Update(string username, string name, Predictor predictor)
{
_predictor.ReplaceOne(predictor => predictor.username == username && predictor.name == name, predictor);
-
- }
- public bool CheckDb()
- {
- Predictor? predictor = null;
- predictor = _predictor.Find(predictor => predictor.username == "igrannonica").FirstOrDefault();
-
- if (predictor != null)
- return false;
- else
- return true;
}
}
}