From 5116f7bad01c2d14d2d59f3df8c404633138e48b Mon Sep 17 00:00:00 2001
From: David Schimmel <David.schimmel@gmx.de>
Date: Mon, 1 Feb 2021 14:23:01 +0100
Subject: [PATCH] make discipline optional

---
 src/Controllers/ResourceController.cs | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/Controllers/ResourceController.cs b/src/Controllers/ResourceController.cs
index eb6c2c4..d114c78 100644
--- a/src/Controllers/ResourceController.cs
+++ b/src/Controllers/ResourceController.cs
@@ -132,7 +132,7 @@ namespace Coscine.Api.Resources.Controllers
                     _resourceModel.GetMetadataCompleteness(resourceObject), 
                     resourceObject.Disciplines, 
                     resourceObject.Visibility.DisplayName, 
-                    resourceObject.License.DisplayName);
+                    resourceObject.License);
 
                 resourceTypeDefinition.UpdateResource(id, resourceTypeOptions);
                 return Json(_resourceModel.UpdateByObject(resource, resourceObject));
@@ -169,7 +169,7 @@ namespace Coscine.Api.Resources.Controllers
                     _resourceModel.GetMetadataCompleteness(returnObject),
                     returnObject.Disciplines,
                     returnObject.Visibility.DisplayName,
-                    returnObject.License.DisplayName);
+                    returnObject.License);
 
                 resourceTypeDefinition.DeleteResource(id, resourceTypeOptions);
                 _emitter.EmitResourceDelete(new ResourceEventArgs(_configuration)
@@ -264,7 +264,7 @@ namespace Coscine.Api.Resources.Controllers
                     _resourceModel.GetMetadataCompleteness(resourceObject),
                     resourceObject.Disciplines,
                     resourceObject.Visibility.DisplayName,
-                    resourceObject.License.DisplayName);
+                    resourceObject.License);
 
                 return Json(_resourceModel.CreateReturnObjectFromDatabaseObject(resource));
             }
@@ -288,7 +288,7 @@ namespace Coscine.Api.Resources.Controllers
         /// <param name="disciplines"></param>
         /// <param name="visibility"></param>
         /// <param name="license"></param>
-        private void LogAnalytics(string operation, string resourceId, User user, string projectId = null, dynamic quotaSizeObject = null, string applicationProfile = null, string metadataCompleteness = null, IEnumerable<DisciplineObject> disciplines = null, string visibility = null, string license = null)
+        private void LogAnalytics(string operation, string resourceId, User user, string projectId = null, dynamic quotaSizeObject = null, string applicationProfile = null, string metadataCompleteness = null, IEnumerable<DisciplineObject> disciplines = null, string visibility = null, LicenseObject license = null)
         {
             if (CoscineLoggerConfiguration.IsLogLevelActivated(LogType.Analytics))
             {
@@ -307,6 +307,10 @@ namespace Coscine.Api.Resources.Controllers
                     }
                     _analyticsLogObject.Disciplines = disciplinesList;
                 }
+                if (license != null)
+                {
+                    _analyticsLogObject.License = license.DisplayName;
+                }
 
                 _analyticsLogObject.Type = "Action";
                 _analyticsLogObject.Operation = operation;
@@ -316,7 +320,6 @@ namespace Coscine.Api.Resources.Controllers
                 _analyticsLogObject.ApplicationsProfile = applicationProfile;
                 _analyticsLogObject.MetadataCompleteness = metadataCompleteness;
                 _analyticsLogObject.Visibility = visibility;
-                _analyticsLogObject.License = license;
                 _coscineLogger.AnalyticsLog(_analyticsLogObject);
             }
         }
-- 
GitLab