diff options
| author | DESKTOP-S0O2C44\ROG <ivan996sk@gmail.com> | 2022-03-09 23:45:29 +0100 | 
|---|---|---|
| committer | DESKTOP-S0O2C44\ROG <ivan996sk@gmail.com> | 2022-03-09 23:45:29 +0100 | 
| commit | ff97a3c62ab764e35df4928cf87709088e2b4c8b (patch) | |
| tree | 53cf1e5a8901ef1bef3acd044b268199ac295fcb /backend/api | |
| parent | d52b0f991aaeefbdad223f9da86bfe736561da33 (diff) | |
Dataset model odradjen. Napravljena blanko tabela u bazi. #22
Diffstat (limited to 'backend/api')
| -rw-r--r-- | backend/api/api/Controllers/DatasetController.cs | 43 | ||||
| -rw-r--r-- | backend/api/api/Interfaces/IUserStoreDatabaseSettings.cs | 1 | ||||
| -rw-r--r-- | backend/api/api/Models/Dataset.cs | 21 | ||||
| -rw-r--r-- | backend/api/api/Services/DatasetService.cs | 40 | ||||
| -rw-r--r-- | backend/api/api/Services/IDatasetService.cs | 13 | ||||
| -rw-r--r-- | backend/api/api/Services/UserService.cs | 17 | ||||
| -rw-r--r-- | backend/api/api/appsettings.json | 4 | 
7 files changed, 136 insertions, 3 deletions
| diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs new file mode 100644 index 00000000..e1b888a1 --- /dev/null +++ b/backend/api/api/Controllers/DatasetController.cs @@ -0,0 +1,43 @@ +using Microsoft.AspNetCore.Mvc; + +// For more information on enabling Web API for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860 + +namespace api.Controllers +{ +    [Route("api/[controller]")] +    [ApiController] +    public class DatasetController : ControllerBase +    { +        // GET: api/<DatasetController> +        [HttpGet] +        public IEnumerable<string> Get() +        { +            return new string[] { "value1", "value2" }; +        } + +        // GET api/<DatasetController>/5 +        [HttpGet("{id}")] +        public string Get(int id) +        { +            return "value"; +        } + +        // POST api/<DatasetController> +        [HttpPost] +        public void Post([FromBody] string value) +        { +        } + +        // PUT api/<DatasetController>/5 +        [HttpPut("{id}")] +        public void Put(int id, [FromBody] string value) +        { +        } + +        // DELETE api/<DatasetController>/5 +        [HttpDelete("{id}")] +        public void Delete(int id) +        { +        } +    } +} diff --git a/backend/api/api/Interfaces/IUserStoreDatabaseSettings.cs b/backend/api/api/Interfaces/IUserStoreDatabaseSettings.cs index 43fe9b3a..8d2a175f 100644 --- a/backend/api/api/Interfaces/IUserStoreDatabaseSettings.cs +++ b/backend/api/api/Interfaces/IUserStoreDatabaseSettings.cs @@ -5,5 +5,6 @@          string ConnectionString { get; set; }          string DatabaseName { get; set; }          string CollectionName { get; set; } +        string DatasetCollectionName { get; set; }      }  } diff --git a/backend/api/api/Models/Dataset.cs b/backend/api/api/Models/Dataset.cs new file mode 100644 index 00000000..448a6aa9 --- /dev/null +++ b/backend/api/api/Models/Dataset.cs @@ -0,0 +1,21 @@ +using MongoDB.Bson; +using MongoDB.Bson.Serialization.Attributes; + +namespace api.Models +{ +    public class Dataset +    { +        internal string uploaderId; + +        [BsonId] +        [BsonRepresentation(BsonType.ObjectId)]//mongo data type to .net +        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; } + +    } +} diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs new file mode 100644 index 00000000..154c9438 --- /dev/null +++ b/backend/api/api/Services/DatasetService.cs @@ -0,0 +1,40 @@ +using api.Interfaces; +using api.Models; +using MongoDB.Driver; + +namespace api.Services +{ +    public class DatasetService : IDatasetService +    { +        private readonly IMongoCollection<Dataset> _dataset; + +        public DatasetService(IUserStoreDatabaseSettings settings, IMongoClient mongoClient) +        { +            var database = mongoClient.GetDatabase(settings.DatabaseName); +            _dataset = database.GetCollection<Dataset>(settings.DatasetCollectionName); +        } +        //kreiranje dataseta +        public Dataset Create(Dataset dataset) +        { +            _dataset.InsertOne(dataset); +            return dataset; +        } + +        //brisanje odredjenog name-a +        public void Delete(string uploaderId, string name) +        { +            _dataset.DeleteOne(dataset => dataset.UploaderId == uploaderId && dataset.name == name); ; +        } + +        public Dataset Get(string uploaderId) +        { +            return _dataset.Find(dataset => dataset.UploaderId == uploaderId).FirstOrDefault(); +        } + +        //ako je potrebno da se zameni name  ili ekstenzija +        public void Update(string uploaderId, Dataset dataset) +        { +            _dataset.ReplaceOne(dataset => dataset.UploaderId == uploaderId, dataset); +        } +    } +} diff --git a/backend/api/api/Services/IDatasetService.cs b/backend/api/api/Services/IDatasetService.cs new file mode 100644 index 00000000..22633c3c --- /dev/null +++ b/backend/api/api/Services/IDatasetService.cs @@ -0,0 +1,13 @@ + +using api.Models; + +namespace api.Services +{ +    public interface IDatasetService +    { +        Dataset Get(string uploaderId); +        Dataset Create(Dataset dataset); +        void Update(string uploaderId, Dataset dataset); +        void Delete(string uploaderId, string name); +    } +} diff --git a/backend/api/api/Services/UserService.cs b/backend/api/api/Services/UserService.cs index e1d1e8b7..e6f28e92 100644 --- a/backend/api/api/Services/UserService.cs +++ b/backend/api/api/Services/UserService.cs @@ -53,4 +53,19 @@ namespace api.Services    "firstName" : "Ivan",    "lastName" : "Ljubisavljevic"  } - */
\ No newline at end of file + + +{ +    "_id": { +        "$oid": "62291140d88e6bcf95c96a58" +    }, +    "uploaderId":"", +    "extension" : "", +    "name" : "" + + +} + + + +*/
\ No newline at end of file diff --git a/backend/api/api/appsettings.json b/backend/api/api/appsettings.json index 204eba33..b9bb665a 100644 --- a/backend/api/api/appsettings.json +++ b/backend/api/api/appsettings.json @@ -18,7 +18,7 @@      */      "ConnectionString": "mongodb+srv://si_user:si_user@sidatabase.twtfm.mongodb.net/myFirstDatabase?retryWrites=true&w=majority",      "DatabaseName": "si_db", -    "CollectionName": "users" - +    "CollectionName": "users", +    "DatasetCollectionName" : "Dataset"    }  } | 
