diff options
| author | DESKTOP-S0O2C44\ROG <ivan996sk@gmail.com> | 2022-03-12 23:52:17 +0100 | 
|---|---|---|
| committer | DESKTOP-S0O2C44\ROG <ivan996sk@gmail.com> | 2022-03-12 23:52:17 +0100 | 
| commit | ce4cf8b1812306a37b2ee89dd25284f41434208f (patch) | |
| tree | e2c3f33f58601c13559394a141a94cfd63d27925 /backend | |
| parent | a084a81779b5a38440f5d7f15e4d2beace6a32f9 (diff) | |
Ispravljen model za model neuronske mreze. Odradjene crud operacije za isti #29
Diffstat (limited to 'backend')
| -rw-r--r-- | backend/api/api/Controllers/DatasetController.cs | 97 | ||||
| -rw-r--r-- | backend/api/api/Controllers/UserController.cs | 4 | ||||
| -rw-r--r-- | backend/api/api/Models/Dataset.cs | 29 | ||||
| -rw-r--r-- | backend/api/api/Program.cs | 1 | ||||
| -rw-r--r-- | backend/api/api/Services/DatasetService.cs | 15 | ||||
| -rw-r--r-- | backend/api/api/Services/IDatasetService.cs | 5 | 
6 files changed, 125 insertions, 26 deletions
| diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs index e1b888a1..d022d6d2 100644 --- a/backend/api/api/Controllers/DatasetController.cs +++ b/backend/api/api/Controllers/DatasetController.cs @@ -1,4 +1,6 @@ -using Microsoft.AspNetCore.Mvc; +using api.Models; +using api.Services; +using Microsoft.AspNetCore.Mvc;  // For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 @@ -8,36 +10,103 @@ namespace api.Controllers      [ApiController]      public class DatasetController : ControllerBase      { -        // GET: api/<DatasetController> -        [HttpGet] -        public IEnumerable<string> Get() +        private readonly IDatasetService _datasetService; + +        public DatasetController(IDatasetService datasetService) +        { +            _datasetService = datasetService; +        } + + +        // GET: api/<DatasetController>/{id}/datasets +        [HttpGet("{id}/datasets")] +        public ActionResult<List<Dataset>> Get(string id)          { -            return new string[] { "value1", "value2" }; +            return _datasetService.GetAllDatesets(id);          } -        // GET api/<DatasetController>/5 -        [HttpGet("{id}")] -        public string Get(int id) +        // GET api/<DatasetController>/{id}/{name} +        [HttpGet("{id}/{name}")] +        public ActionResult<Dataset> Get(string id, string name)          { -            return "value"; +            var dataset = _datasetService.GetOneDataset(id, name); + +            if (dataset == null) +                return NotFound($"Dataset with name = {name} not found"); + +            return dataset;          }          // POST api/<DatasetController> -        [HttpPost] -        public void Post([FromBody] string value) +        [HttpPost("post")] +        public ActionResult<Dataset> Post([FromBody] Dataset dataset)          { +            var existingUser = _datasetService.GetOneDataset(dataset.uploaderId,dataset.name); + +            if (existingUser != null) +                return NotFound($"Dateset with name = {dataset.name} exisits"); +            else +            { +                _datasetService.Create(dataset); + +                return CreatedAtAction(nameof(Get), new { id = dataset._id }, dataset); +            }          }          // PUT api/<DatasetController>/5 -        [HttpPut("{id}")] -        public void Put(int id, [FromBody] string value) +        [HttpPut("{id}/{name}")] +        public ActionResult Put(string id, string name, [FromBody] Dataset dataset)          { +            var existingDataset = _datasetService.GetOneDataset(id, name); + +            //ne mora da se proverava +            if (existingDataset == null) +                return NotFound($"Dataset with name = {name} not found"); + +            _datasetService.Update(id, name, dataset); +            return NoContent();          }          // DELETE api/<DatasetController>/5          [HttpDelete("{id}")] -        public void Delete(int id) +        public ActionResult Delete(string id, string name)          { +            var dataset = _datasetService.GetOneDataset(id, name); + +            if (dataset == null) +                return NotFound($"Dataset with name = {name} not found"); + +            _datasetService.Delete(dataset.uploaderId,dataset.name); + +            return Ok($"Dataset with name = {name} deleted"); +          }      }  } + +/* +{ +  "_id": "", +  "uploaderId" : "uploaderId", +  "name" : "name", +  "description" : "description", +  "dateCreated" : "dateCreated", +  "inputColumns" : [2,3,4], +  "columnToPredict" : 1, +  "randomTestSet" : true, +  "randomTestSetDistribution" : 1, +  "type" : "type", +  "encoding" : "encoding", +  "optimizer" : "optimizer", +  "lossFunction" : "lossFunction", +  "inputNeurons" : 2, +  "hiddenLayerNeurons" : 3, +  "hiddenLayers" : 8, +  "batchSize" : 6, +  "inputLayerActivationFunction" : "inputLayerActivationFunction", +  "hiddenLayerActivationFunction" : "hiddenLayerActivationFunction", +  "outputLayerActivationFunction" : "outputLayerActivationFunction", +  "extension" : "extension" + +} +*/
\ No newline at end of file diff --git a/backend/api/api/Controllers/UserController.cs b/backend/api/api/Controllers/UserController.cs index caf78d9c..d41a42e3 100644 --- a/backend/api/api/Controllers/UserController.cs +++ b/backend/api/api/Controllers/UserController.cs @@ -37,7 +37,7 @@ namespace api.Controllers              return user;          } - +        /*          // GET api/<UserController>/5          //potrebno za profile page          [HttpGet("{id}")] @@ -50,7 +50,7 @@ namespace api.Controllers              return user;          } - +        */          // POST api/<UserController>          [HttpPost]          public ActionResult<User> Post([FromBody] User user) diff --git a/backend/api/api/Models/Dataset.cs b/backend/api/api/Models/Dataset.cs index 448a6aa9..0dc87f40 100644 --- a/backend/api/api/Models/Dataset.cs +++ b/backend/api/api/Models/Dataset.cs @@ -12,10 +12,35 @@ namespace api.Models          public string _id { get; set; }          [BsonElement("uploaderId")]          public string UploaderId { get; set; } -        [BsonElement("extension")] -        public string extension { get; set; }          [BsonElement("name")]          public string name { get; set; } +        public string description { get; set; } +        //datetime +        public string dateCreated { get; set; } +         +        public int[] inputColumns { get; set; } +        public int columnToPredict { get; set; } +        public bool randomTestSet { get; set; } +        public int randomTestSetDistribution { get; set; } + + +        public string type { get; set; } +        public string encoding { get; set; } +        public string optimizer { get; set; } +        public string lossFunction { get; set; } +        public int inputNeurons { get; set; } +        public int hiddenLayerNeurons { get; set; } +        public int hiddenLayers { get; set; } +        public int batchSize { get; set; } +        public string inputLayerActivationFunction { get; set; } +        public string hiddenLayerActivationFunction { get; set; } +        public string outputLayerActivationFunction { get; set; } + + +        [BsonElement("extension")] +        public string extension { get; set; } +         +      }  } diff --git a/backend/api/api/Program.cs b/backend/api/api/Program.cs index 550f6ce1..2c569daf 100644 --- a/backend/api/api/Program.cs +++ b/backend/api/api/Program.cs @@ -25,6 +25,7 @@ builder.Services.AddSingleton<IMongoClient>(s =>      new MongoClient(builder.Configuration.GetValue<string>("UserStoreDatabaseSettings:ConnectionString")));  //Inject Dependencies +builder.Services.AddScoped<IDatasetService, DatasetService>();  builder.Services.AddScoped<IUserService, UserService>();  builder.Services.AddScoped<IAuthService, AuthService>(); diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs index 154c9438..1b6d22be 100644 --- a/backend/api/api/Services/DatasetService.cs +++ b/backend/api/api/Services/DatasetService.cs @@ -23,18 +23,21 @@ namespace api.Services          //brisanje odredjenog name-a          public void Delete(string uploaderId, string name)          { -            _dataset.DeleteOne(dataset => dataset.UploaderId == uploaderId && dataset.name == name); ; +            _dataset.DeleteOne(dataset => (dataset.UploaderId == uploaderId && dataset.name == name));           } - -        public Dataset Get(string uploaderId) +        public List<Dataset> GetAllDatesets(string uploaderId) +        { +            return _dataset.Find(dataset => dataset.uploaderId == uploaderId).ToList(); +        } +        public Dataset GetOneDataset(string uploaderId, string name)          { -            return _dataset.Find(dataset => dataset.UploaderId == uploaderId).FirstOrDefault(); +            return _dataset.Find(dataset => dataset.UploaderId == uploaderId && dataset.name == name).FirstOrDefault();          }          //ako je potrebno da se zameni name  ili ekstenzija -        public void Update(string uploaderId, Dataset dataset) +        public void Update(string uploaderId, string name, Dataset dataset)          { -            _dataset.ReplaceOne(dataset => dataset.UploaderId == uploaderId, dataset); +            _dataset.ReplaceOne(dataset => dataset.UploaderId == uploaderId && dataset.name == name, dataset);          }      }  } diff --git a/backend/api/api/Services/IDatasetService.cs b/backend/api/api/Services/IDatasetService.cs index 22633c3c..9cf8c3cb 100644 --- a/backend/api/api/Services/IDatasetService.cs +++ b/backend/api/api/Services/IDatasetService.cs @@ -5,9 +5,10 @@ namespace api.Services  {      public interface IDatasetService      { -        Dataset Get(string uploaderId); +        Dataset GetOneDataset(string uploaderId, string name); +        List<Dataset> GetAllDatesets(string uploaderId);          Dataset Create(Dataset dataset); -        void Update(string uploaderId, Dataset dataset); +        void Update(string uploaderId, string name, Dataset dataset);          void Delete(string uploaderId, string name);      }  } | 
