-
Notifications
You must be signed in to change notification settings - Fork 0
/
elastic.go
79 lines (70 loc) · 2.03 KB
/
elastic.go
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package fixtures
import (
"github.com/HETIC-MT-P2021/CQRSES_GROUP4/pkg/database"
"github.com/HETIC-MT-P2021/CQRSES_GROUP4/pkg/database/elasticsearch"
)
//NewEventStore Creates 3 events
func NewEventStore() error {
event1 := database.Event{
ID: "d1dd9de9-7e95-4a4a-aac3-8188d8678402",
EventType: "ArticleCreatedEvent",
CreatedAt: "1613079361",
Payload: database.Article{
ID: "c8d1981b-164e-4b00-8787-db9040c00f95",
Title: "Golang",
Description: "Golang is insane",
},
}
event2 := database.Event{
ID: "6e8556e2-67bb-44f4-86f0-e69bd1f92899",
EventType: "ArticleUpdatedEvent",
CreatedAt: "1613077611",
Payload: database.Article{
ID: "c8d1981b-164e-4b00-8787-db9040c00f95",
Title: "Golang updated",
Description: "Golang is insane updated",
},
}
event3 := database.Event{
ID: "148845f6-21dd-4968-abc0-9e8029c8640b",
EventType: "ArticleCreatedEvent",
CreatedAt: "1613083302",
Payload: database.Article{
ID: "ba1ffcfe-f9bf-49ff-b5de-937dc5f8e1c8",
Title: "Python",
Description: "Python is insane",
},
}
elasticImpl := elasticsearch.NewElasticRepository(elasticsearch.ElasticClient)
if err := elasticImpl.StoreEvent(event1); err != nil {
return err
}
if err := elasticImpl.StoreEvent(event2); err != nil {
return err
}
if err := elasticImpl.StoreEvent(event3); err != nil {
return err
}
return nil
}
//NewReadModel Creates 2 read-models
func NewReadModel() error {
article1 := database.Article{
ID: "c8d1981b-164e-4b00-8787-db9040c00f95",
Title: "Golang updated",
Description: "Golang is insane updated",
}
article2 := database.Article{
ID: "ba1ffcfe-f9bf-49ff-b5de-937dc5f8e1c8",
Title: "Python",
Description: "Python is insane",
}
elasticImpl := elasticsearch.NewElasticRepository(elasticsearch.ElasticClient)
if err := elasticImpl.StoreReadmodel(article1); err != nil {
return err
}
if err := elasticImpl.StoreReadmodel(article2); err != nil {
return err
}
return nil
}