aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/api/api/Controllers/DatasetController.cs32
-rw-r--r--backend/api/api/Controllers/ModelController.cs32
-rw-r--r--backend/api/api/Interfaces/IDatasetService.cs3
-rw-r--r--backend/api/api/Interfaces/IModelService.cs3
-rw-r--r--backend/api/api/Services/DatasetService.cs20
-rw-r--r--backend/api/api/Services/ModelService.cs16
6 files changed, 104 insertions, 2 deletions
diff --git a/backend/api/api/Controllers/DatasetController.cs b/backend/api/api/Controllers/DatasetController.cs
index c93ac9db..9a3c3d86 100644
--- a/backend/api/api/Controllers/DatasetController.cs
+++ b/backend/api/api/Controllers/DatasetController.cs
@@ -282,5 +282,37 @@ namespace api.Controllers
return Ok($"Dataset with ID = {id} deleted");
}
+
+ [HttpPut("UpdateAccessibleByLink/{datasetId}")]
+ [Authorize(Roles = "User")]
+ public ActionResult UpdateAccessibleByLink(string datasetId, [FromBody] bool accessibleByLink)
+ {
+ string uploaderId = getUserId();
+
+ Dataset dataset = _datasetService.GetOneDataset(datasetId);
+
+ if (uploaderId != dataset.uploaderId)
+ return Unauthorized();
+
+ _datasetService.UpdateAccessibleByLink(datasetId, accessibleByLink);
+
+ return Ok(dataset.accessibleByLink);
+ }
+
+ [HttpPut("UpdateIsPublic/{datasetId}")]
+ [Authorize(Roles = "User")]
+ public ActionResult UpdateIsPublic(string datasetId, [FromBody] bool isPublic)
+ {
+ string uploaderId = getUserId();
+
+ Dataset dataset = _datasetService.GetOneDataset(datasetId);
+
+ if (uploaderId != dataset.uploaderId)
+ return Unauthorized();
+
+ _datasetService.UpdateIsPublic(datasetId, isPublic);
+
+ return Ok(dataset.isPublic);
+ }
}
} \ No newline at end of file
diff --git a/backend/api/api/Controllers/ModelController.cs b/backend/api/api/Controllers/ModelController.cs
index c574de28..c7dfe89c 100644
--- a/backend/api/api/Controllers/ModelController.cs
+++ b/backend/api/api/Controllers/ModelController.cs
@@ -312,6 +312,38 @@ namespace api.Controllers
}
+ [HttpPut("UpdateAccessibleByLink/{modelId}")]
+ [Authorize(Roles = "User")]
+ public ActionResult UpdateAccessibleByLink(string modelId, [FromBody] bool accessibleByLink)
+ {
+ string uploaderId = getUserId();
+
+ Model model = _modelService.GetOneModel(modelId);
+
+ if (uploaderId != model.uploaderId)
+ return Unauthorized();
+
+ _modelService.UpdateAccessibleByLink(modelId, accessibleByLink);
+
+ return Ok(model.accessibleByLink);
+ }
+
+ [HttpPut("UpdateIsPublic/{modelId}")]
+ [Authorize(Roles = "User")]
+ public ActionResult UpdateIsPublic(string modelId, [FromBody] bool isPublic)
+ {
+ string uploaderId = getUserId();
+
+ Model model = _modelService.GetOneModel(modelId);
+
+ if (uploaderId != model.uploaderId)
+ return Unauthorized();
+
+ _modelService.UpdateIsPublic(modelId, isPublic);
+
+ return Ok(model.isPublic);
+ }
+
}
public class TrainModelObject
diff --git a/backend/api/api/Interfaces/IDatasetService.cs b/backend/api/api/Interfaces/IDatasetService.cs
index 2f7d0010..5a91c82b 100644
--- a/backend/api/api/Interfaces/IDatasetService.cs
+++ b/backend/api/api/Interfaces/IDatasetService.cs
@@ -19,5 +19,8 @@ namespace api.Services
public void Update(Dataset dataset);
string GetDatasetId(string fileId);
//bool CheckDb();
+
+ public void UpdateAccessibleByLink(string datasetId, bool accessibleByLink);
+ public void UpdateIsPublic(string datasetId, bool isPublic);
}
}
diff --git a/backend/api/api/Interfaces/IModelService.cs b/backend/api/api/Interfaces/IModelService.cs
index 41cd279c..949c7278 100644
--- a/backend/api/api/Interfaces/IModelService.cs
+++ b/backend/api/api/Interfaces/IModelService.cs
@@ -19,6 +19,9 @@ namespace api.Services
void Delete(string userId, string name);
bool CheckHyperparameters(int inputNeurons, int hiddenLayerNeurons, int hiddenLayers, int outputNeurons);
bool CheckDb();
+
+ public void UpdateAccessibleByLink(string modelId, bool accessibleByLink);
+ public void UpdateIsPublic(string modelId, bool isPublic);
}
}
diff --git a/backend/api/api/Services/DatasetService.cs b/backend/api/api/Services/DatasetService.cs
index 0b84721e..cd27f275 100644
--- a/backend/api/api/Services/DatasetService.cs
+++ b/backend/api/api/Services/DatasetService.cs
@@ -75,7 +75,7 @@ namespace api.Services
public Dataset GetOneDataset(string userId, string id)
{
- return _dataset.Find(dataset => dataset.uploaderId == userId && dataset._id == id && dataset.isPreProcess).FirstOrDefault();
+ return _dataset.Find(dataset => (dataset.uploaderId == userId || dataset.isPublic || dataset.accessibleByLink) && dataset._id == id && dataset.isPreProcess).FirstOrDefault();
}
public Dataset GetOneDatasetN(string userId, string name)
{
@@ -104,6 +104,22 @@ namespace api.Services
return dataset._id;
}
-
+
+ public void UpdateAccessibleByLink(string datasetId, bool accessibleByLink)
+ {
+ Dataset dataset = _dataset.Find(dataset => dataset._id == datasetId).FirstOrDefault();
+ dataset.accessibleByLink = accessibleByLink;
+
+ _dataset.ReplaceOne(dataset => dataset._id == datasetId, dataset);
+ }
+
+ public void UpdateIsPublic(string datasetId, bool isPublic)
+ {
+ Dataset dataset = _dataset.Find(dataset => dataset._id == datasetId).FirstOrDefault();
+ dataset.isPublic = isPublic;
+
+ _dataset.ReplaceOne(dataset => dataset._id == datasetId, dataset);
+ }
+
}
}
diff --git a/backend/api/api/Services/ModelService.cs b/backend/api/api/Services/ModelService.cs
index 71db6340..1c690ca7 100644
--- a/backend/api/api/Services/ModelService.cs
+++ b/backend/api/api/Services/ModelService.cs
@@ -106,5 +106,21 @@ namespace api.Services
return true;
}
+
+ public void UpdateAccessibleByLink(string modelId, bool accessibleByLink)
+ {
+ Model model = _model.Find(model => model._id == modelId).FirstOrDefault();
+ model.accessibleByLink = accessibleByLink;
+
+ _model.ReplaceOne(model => model._id == modelId, model);
+ }
+
+ public void UpdateIsPublic(string modelId, bool isPublic)
+ {
+ Model model = _model.Find(model => model._id == modelId).FirstOrDefault();
+ model.isPublic = isPublic;
+
+ _model.ReplaceOne(model => model._id == modelId, model);
+ }
}
}