30 lines
820 B
Plaintext
30 lines
820 B
Plaintext
classDiagram
|
|
class DocumentsPage {
|
|
+OnGetAsync()
|
|
+OnGetDownloadAsync()
|
|
+OnGetZipAsync()
|
|
}
|
|
class DocumentsService {
|
|
+ListDocumentsAsync(orgId, search, type, token)
|
|
+GetDownloadUrlAsync(orgId, key)
|
|
+GetZipStreamAsync(orgId, keys)
|
|
+ResolveCustomerPrefixAsync(orgId, orgName)
|
|
}
|
|
class S3DocumentsClient {
|
|
-IAmazonS3 _s3
|
|
+ListObjectsAsync(prefix, delimiter, token)
|
|
+GetObjectMetadataAsync(key)
|
|
+GetPresignedUrlAsync(key)
|
|
}
|
|
class OrgSlug {
|
|
+Slugify(name) string
|
|
}
|
|
class S3Settings {
|
|
+BucketName string
|
|
+ServiceUrl string
|
|
}
|
|
DocumentsPage --> DocumentsService
|
|
DocumentsService --> S3DocumentsClient
|
|
DocumentsService --> OrgSlug
|
|
S3DocumentsClient --> S3Settings
|