diff --git a/FitConnect/Models/Api/Models/CallbackDto.cs b/FitConnect/Models/Api/Models/CallbackDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..379d4d7cf8b092706345b3fa1a535b9edb6bbb97 --- /dev/null +++ b/FitConnect/Models/Api/Models/CallbackDto.cs @@ -0,0 +1,8 @@ +using System.Text.Json.Serialization; + +namespace FitConnect.Models.Api.Models; + +internal class CallbackDto { + [JsonPropertyName("url")] + public string Url { get; set; } +} \ No newline at end of file diff --git a/FitConnect/Models/Api/Models/CreateCallbackDto.cs b/FitConnect/Models/Api/Models/CreateCallbackDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..13fc9392c07ea18fa5034cc81a407dab4f6ba083 --- /dev/null +++ b/FitConnect/Models/Api/Models/CreateCallbackDto.cs @@ -0,0 +1,11 @@ +using System.Text.Json.Serialization; + +namespace FitConnect.Models.Api.Models; + +internal class CreateCallbackDto { + [JsonPropertyName("url")] + public string Url { get; set; } + + [JsonPropertyName("secret")] + public string Secret { get; set; } +} \ No newline at end of file diff --git a/FitConnect/Models/Api/Models/CreateSubmission.cs b/FitConnect/Models/Api/Models/CreateSubmission.cs new file mode 100644 index 0000000000000000000000000000000000000000..4faa1d3d6dd8f69c21f0fa372223b0823b87ce88 --- /dev/null +++ b/FitConnect/Models/Api/Models/CreateSubmission.cs @@ -0,0 +1,22 @@ +using System.Text.Json.Serialization; + +namespace FitConnect.Models.Api.Models; + +internal class CreateSubmission { + [JsonPropertyName("destinationId")] + private string destinationId; + + + [JsonPropertyName("announcedAttachments")] + private List<string> announcedAttachments; + + [JsonPropertyName("caseId")] + private string caseId; + + + [JsonPropertyName("serviceType")] + private ServiceTypeDto _serviceTypeDto; + + [JsonPropertyName("callback")] + private CreateCallbackDto _callbackDto; +} \ No newline at end of file diff --git a/FitConnect/Models/Api/Models/ServiceTypeDto.cs b/FitConnect/Models/Api/Models/ServiceTypeDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..7da1aed2309bd78d8b9ac4948f67ff1218b1a66a --- /dev/null +++ b/FitConnect/Models/Api/Models/ServiceTypeDto.cs @@ -0,0 +1,14 @@ +using System.Text.Json.Serialization; + +namespace FitConnect.Models.Api.Models; + +internal class ServiceTypeDto { + [JsonPropertyName("name")] + public string Name { get; set; } + + [JsonPropertyName("description")] + public string Description { get; set; } + + [JsonPropertyName("identifier")] + public string Identifier { get; set; } +} \ No newline at end of file diff --git a/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs b/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..95f03c946d46ab59cfc0d6327216ad16ff974cef --- /dev/null +++ b/FitConnect/Models/Api/Models/SubmissionCreatedDto.cs @@ -0,0 +1,14 @@ +using System.Text.Json.Serialization; + +namespace FitConnect.Models.Api.Models; + +internal class SubmissionCreatedDto { + [JsonPropertyName("destinationId")] + public string DestinationId { get; set; } + + [JsonPropertyName("submissionId")] + public string SubmissionId { get; set; } + + [JsonPropertyName("caseId")] + public string CaseId { get; set; } +} \ No newline at end of file diff --git a/FitConnect/Models/Api/Models/SubmissionReducedDto.cs b/FitConnect/Models/Api/Models/SubmissionReducedDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..4c7de5e28fbf6203180c3ab6964330d0cbebcae9 --- /dev/null +++ b/FitConnect/Models/Api/Models/SubmissionReducedDto.cs @@ -0,0 +1,28 @@ +using System.Text.Json.Serialization; + +namespace FitConnect.Models.Api.Models; + +public class SubmissionReducedDto { + [JsonPropertyName("destinationId")] + private string DestinationId; + + + [JsonPropertyName("submissionId")] + private string SubmissionId; + + + [JsonPropertyName("caseId")] + private string CaseId; + + + [JsonPropertyName("attachments")] + private List<string> Attachments; + + + [JsonPropertyName("serviceType")] + private ServiceTypeDto _serviceTypeDto; + + + [JsonPropertyName("callback")] + private CallbackDto Callback; +} \ No newline at end of file diff --git a/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs b/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs new file mode 100644 index 0000000000000000000000000000000000000000..c8b7ca655fa89acf3426cf2120262343c39bc6a1 --- /dev/null +++ b/FitConnect/Models/Api/Models/SubmitSubmissionDto.cs @@ -0,0 +1,11 @@ +using System.Text.Json.Serialization; + +namespace FitConnect.Models.Api.Models; + +internal class SubmitSubmissionDto { + [JsonPropertyName("encryptedMetadata")] + private string EncryptedMetadata; + + [JsonPropertyName("encryptedData")] + private string EncryptedData; +} \ No newline at end of file diff --git a/FitConnect/Models/Api/Services/SubmissionService.cs b/FitConnect/Models/Api/Services/SubmissionService.cs new file mode 100644 index 0000000000000000000000000000000000000000..1bd90c40ed4dd9dd87e415a01a257ab431d9008a --- /dev/null +++ b/FitConnect/Models/Api/Services/SubmissionService.cs @@ -0,0 +1,24 @@ +using FitConnect.Models.Api.Models; + +namespace FitConnect.Models.Api.Services; + +public class SubmissionService { + internal SubmissionCreatedDto CreateSubmission(CreateSubmission submission) { + // @PostMapping("/submissions") + throw new NotImplementedException(); + } + + internal bool AddSubmissionAttachment(string submissionId, string attachmentId, + string encryptedAttachmentContent) { + // @PutMapping(value = "/submissions/{submissionId}/attachments/{attachmentId}", consumes = "application/jose") + + throw new NotImplementedException(); + } + + internal SubmissionReducedDto SubmitSubmission(string submissionId, + SubmitSubmissionDto submitSubmission) { + //@PutMapping(value = "/submissions/{submissionId}", consumes = "application/json") + throw new NotImplementedException(); + } + +} diff --git a/FitConnect/Models/Area.cs b/FitConnect/Models/Area.cs index 5995b04d0598d15d26d11303664bf5c4674c2793..23b1e62ee2df303429bfc8ac32ae1a6c2b3e4c4c 100644 --- a/FitConnect/Models/Area.cs +++ b/FitConnect/Models/Area.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace FitConnect; +namespace FitConnect.Models; public class Area { [JsonPropertyName("id")] diff --git a/FitConnect/Models/AreaResponse.cs b/FitConnect/Models/AreaResponse.cs index 1bc37016ba067f589df36be46b06c88ea0e97208..34db13d171f73ac794eac500511e56254ae6cfe7 100644 --- a/FitConnect/Models/AreaResponse.cs +++ b/FitConnect/Models/AreaResponse.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace FitConnect; +namespace FitConnect.Models; public class AreaResponse { [JsonPropertyName("count")] diff --git a/FitConnect/Routing.cs b/FitConnect/Routing.cs index 4a5a2fab76a78d7e491bd99a68750bba21ef01c7..377dec13cb20f5fceff178a8b34dd2ab47be336f 100644 --- a/FitConnect/Routing.cs +++ b/FitConnect/Routing.cs @@ -1,5 +1,6 @@ using System.Security.Cryptography.X509Certificates; using FitConnect.BaseClasses; +using FitConnect.Models; using Microsoft.Extensions.Logging; namespace FitConnect; diff --git a/FitConnect/Sender.cs b/FitConnect/Sender.cs index 4eec48d197a87ffba6ae92b417a4d4206e492ec1..2763b2acf7aa537d93e2efbc19f07a9f02e360a0 100644 --- a/FitConnect/Sender.cs +++ b/FitConnect/Sender.cs @@ -72,4 +72,10 @@ public class Sender : FunctionalBaseClass { public async Task<string> CreateMetadataAsync(string data, byte[] attachment) { throw new NotImplementedException(); } + + #region Submission API + + + + #endregion } \ No newline at end of file