Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
## API Module
The API-module contains interfaces and domain model value
classes that provide the basic functionality to build an sdk-client.
### Service Architecture
```mermaid
classDiagram
class CryptoService{
+ decryptString
+ decryptBytes
+ encryptString
+ encryptBytes
}
class CertificateValidator{
+ validatePublicKey
}
class MetadataValidator{
+ validateMetadataSchema
+ validateMetadataHashValues
}
class MetadataService{
+ createMetadata
}
class OAuthService{
+ authenticate
}
class Sender {
+ retrieveOAuthToken
+ validatePublicKey
+ encryptSubmissionData
+ encryptAttachment
+ MetadataService
+ createMetadata
}
class Subscriber {
+ retrieveOAuthToken
+ decryptSubmissionData
+ decryptAttachment
+ validateMetadataSchema
+ validateMetadataHashValues
}
class SubscriberClient{
class SenderClient{
Sender
}
class AbstractClient {
AbstractClient <.. SenderClient : IsA
AbstractClient <.. SubscriberClient : IsA
SenderClient ..> Sender : Uses
SubscriberClient ..> Subscriber : Uses
Sender ..> CertificateValidator : Uses
Sender ..> MetadataService : Uses
Sender ..> OAuthService : Uses
Sender ..> CryptoService : Uses
Subscriber ..> OAuthService : Uses
Subscriber ..> CryptoService : Uses
Subscriber ..> MetadataValidator : Uses
```