From 6ce9ce4d8f3f2b544fae69b18d16608f48345d76 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Mon, 10 Aug 2020 19:28:16 +0000 Subject: [PATCH] --- server/AyaNova/Controllers/LogoController.cs | 65 ++++++++++++++++---- server/AyaNova/resource/de.json | 6 +- server/AyaNova/resource/en.json | 6 +- server/AyaNova/resource/es.json | 6 +- server/AyaNova/resource/fr.json | 6 +- 5 files changed, 74 insertions(+), 15 deletions(-) diff --git a/server/AyaNova/Controllers/LogoController.cs b/server/AyaNova/Controllers/LogoController.cs index f7ef0fe2..604b73c1 100644 --- a/server/AyaNova/Controllers/LogoController.cs +++ b/server/AyaNova/Controllers/LogoController.cs @@ -96,16 +96,6 @@ namespace AyaNova.Api.Controllers } return NotFound(new ApiErrorResponse(ApiErrorCode.NOT_FOUND)); - - - // var asText = Newtonsoft.Json.JsonConvert.SerializeObject( - // o, - // Newtonsoft.Json.Formatting.None, - // new JsonSerializerSettings { ContractResolver = new ShouldSerializeContractResolver(new string[] { "Concurrency", "Id", "LogoId" }) }); - // var bytes = System.Text.Encoding.UTF8.GetBytes(asText); - // var file = new FileContentResult(bytes, "application/octet-stream"); - // file.FileDownloadName = Util.FileUtil.StringToSafeFileName(o.Name) + ".json"; - // return file; } @@ -148,7 +138,7 @@ namespace AyaNova.Api.Controllers await ct.SaveChangesAsync(); } - var file = Request.Form.Files[0]; + var file = Request.Form.Files[0]; //var file=files[0]; using (var memoryStream = new MemoryStream()) @@ -176,5 +166,58 @@ namespace AyaNova.Api.Controllers } return Accepted(); } + + + /// + /// Delete logo + /// + /// + /// NoContent + [Authorize] + [HttpDelete("{size}")] + public async Task DeleteLogo([FromRoute] string size) + { + if (!serverState.IsOpen) + return StatusCode(503, new ApiErrorResponse(serverState.ApiErrorCode, null, serverState.Reason)); + + if (!Authorized.HasReadFullRole(HttpContext.Items, AyaType.Global)) + return StatusCode(403, new ApiNotAuthorizedResponse()); + + if (string.IsNullOrWhiteSpace(size)) + return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_REQUIRED, "size", "Size is required and must be one of 'small', 'medium' or 'large'")); + + size = size.ToLowerInvariant(); + if (size != "small" && size != "medium" && size != "large") + return BadRequest(new ApiErrorResponse(ApiErrorCode.VALIDATION_INVALID_VALUE, "size", "Size parameter must be one of 'small', 'medium' or 'large'")); + + //get the one and only logo object + var logo = await ct.Logo.FirstOrDefaultAsync(); + if (logo != null) + { + switch (size) + { + case "small": + logo.Small = null; + logo.SmallType = string.Empty; + break; + case "medium": + logo.Medium = null; + logo.MediumType = string.Empty; + break; + case "large": + logo.Large = null; + logo.LargeType = string.Empty; + break; + + } + await ct.SaveChangesAsync(); + } + + return NoContent(); + } + + + + } } \ No newline at end of file diff --git a/server/AyaNova/resource/de.json b/server/AyaNova/resource/de.json index 119158a2..5395de67 100644 --- a/server/AyaNova/resource/de.json +++ b/server/AyaNova/resource/de.json @@ -1910,5 +1910,9 @@ "AyaNovaServerURL": "AyaNova Server URL", "DeliverAfter": "Liefern nach", "NotifyQueue": "Warteschlange für Benachrichtigungszustellung", - "DirectNotification": "Direkte Benachrichtigung" + "DirectNotification": "Direkte Benachrichtigung", + "GlobalLogo":"Geschäftslogos", + "SmallLogo":"Kleines Logo", + "MediumLogo":"Mittelgroßes Logo", + "LargeLogo":"Großes Logo" } \ No newline at end of file diff --git a/server/AyaNova/resource/en.json b/server/AyaNova/resource/en.json index c65d818e..2a89a255 100644 --- a/server/AyaNova/resource/en.json +++ b/server/AyaNova/resource/en.json @@ -1910,5 +1910,9 @@ "AyaNovaServerURL": "AyaNova server URL", "DeliverAfter":"Deliver after", "NotifyQueue":"Notify event delivery queue", - "DirectNotification":"Direct notification" + "DirectNotification":"Direct notification", + "GlobalLogo":"Business logos", + "SmallLogo":"Small sized logo", + "MediumLogo":"Medium sized logo", + "LargeLogo":"Large sized logo" } \ No newline at end of file diff --git a/server/AyaNova/resource/es.json b/server/AyaNova/resource/es.json index e53c9108..81a9c74e 100644 --- a/server/AyaNova/resource/es.json +++ b/server/AyaNova/resource/es.json @@ -1910,5 +1910,9 @@ "AyaNovaServerURL": "URL del servidor AyaNova", "DeliverAfter": "Entregar después", "NotifyQueue": "Notificar cola de entrega de eventos", - "DirectNotification": "Notificación directa" + "DirectNotification": "Notificación directa", + "GlobalLogo":"Logotipos comerciales", + "SmallLogo":"Logotipo de tamaño pequeño", + "MediumLogo":"Logotipo de tamaño mediano", + "LargeLogo":"Logotipo de gran tamaño" } \ No newline at end of file diff --git a/server/AyaNova/resource/fr.json b/server/AyaNova/resource/fr.json index 1157ab7f..e0274ec7 100644 --- a/server/AyaNova/resource/fr.json +++ b/server/AyaNova/resource/fr.json @@ -1910,5 +1910,9 @@ "AyaNovaServerURL": "URL du serveur AyaNova", "DeliverAfter": "Livrer après", "NotifyQueue": "Notifier file d'attente de remise des événements", - "DirectNotification": "Notification directe" + "DirectNotification": "Notification directe", + "GlobalLogo":"Logos d'entreprise", + "SmallLogo":"Logo de petite taille", + "MediumLogo":"Logo de taille moyenne", + "LargeLogo":"Logo de grande taille" } \ No newline at end of file