@@ -14,7 +14,7 @@ namespace MiddleMail.Storage.ElasticSearch {
14
14
/// Use <see cref="ElasticSearchStorageOptions" /> to configure the connection and index.
15
15
/// </summary>
16
16
public class ElasticSearchStorage : IMailStorage {
17
-
17
+
18
18
private readonly ElasticClient client ;
19
19
private readonly ElasticSearchStorageOptions options ;
20
20
public ElasticSearchStorage ( IOptions < ElasticSearchStorageOptions > options ) {
@@ -28,21 +28,21 @@ public ElasticSearchStorage(IOptions<ElasticSearchStorageOptions> options) {
28
28
}
29
29
30
30
public async Task SetProcessedAsync ( EmailMessage emailMessage ) {
31
- await updateOrCreateAsync ( emailMessage ,
31
+ await updateOrCreateAsync ( emailMessage ,
32
32
update : ( EmailDocument emailDocument ) => { } ,
33
33
create : ( ) => new EmailDocument ( emailMessage ) ) ;
34
34
}
35
35
36
36
public async Task SetSentAsync ( EmailMessage emailMessage ) {
37
- await updateOrCreateAsync ( emailMessage ,
37
+ await updateOrCreateAsync ( emailMessage ,
38
38
update : ( EmailDocument emailDocument ) => {
39
39
emailDocument . Sent = DateTime . UtcNow ;
40
40
} ,
41
41
create : ( ) => new EmailDocument ( emailMessage , sent : DateTime . UtcNow ) ) ;
42
42
}
43
43
44
44
public async Task SetErrorAsync ( EmailMessage emailMessage , string errorMessage ) {
45
- await updateOrCreateAsync ( emailMessage ,
45
+ await updateOrCreateAsync ( emailMessage ,
46
46
update : ( EmailDocument emailDocument ) => {
47
47
emailDocument . Error = errorMessage ;
48
48
} ,
@@ -51,7 +51,7 @@ await updateOrCreateAsync(emailMessage,
51
51
52
52
private async Task updateOrCreateAsync ( EmailMessage emailMessage , Action < EmailDocument > update , Func < EmailDocument > create ) {
53
53
var emailDocument = await searchDocument ( emailMessage . Id ) ;
54
- if ( emailDocument != null ) {
54
+ if ( emailDocument != null ) {
55
55
if ( emailDocument . Sent != null ) {
56
56
throw new EMailMessageAlreadySentStorageException ( emailMessage ) ;
57
57
}
@@ -71,22 +71,22 @@ private async Task updateOrCreateAsync(EmailMessage emailMessage, Action<EmailDo
71
71
var existingDocument = await searchDocument ( emailMessage . Id ) ;
72
72
return existingDocument ? . Sent != null ;
73
73
}
74
-
74
+
75
75
public async Task < string > GetErrorAsync ( EmailMessage emailMessage ) {
76
76
var existingDocument = await searchDocument ( emailMessage . Id ) ;
77
- return existingDocument ? . Error ;
77
+ return existingDocument ? . Error ;
78
78
}
79
79
80
80
private string index => options . Index ;
81
-
81
+
82
82
private async Task < EmailDocument > searchDocument ( Guid id ) {
83
83
var response = await client . SearchAsync < EmailDocument > ( s => s
84
84
. Index ( index )
85
85
. Query ( q => q
86
86
. Term ( c => c
87
87
. Field ( p => p . Id )
88
88
. Value ( id ) ) ) ) ;
89
-
89
+
90
90
return response . Documents . SingleOrDefault ( ) ;
91
91
}
92
92
}
0 commit comments