https://github.com/payram/event-emitter
https://github.com/payram/event-emitter
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/payram/event-emitter
- Owner: PayRam
- Created: 2024-03-21T13:32:10.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-06-28T13:35:18.000Z (about 1 year ago)
- Last Synced: 2025-06-28T14:35:17.163Z (about 1 year ago)
- Language: Go
- Size: 35.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# event-emitter
## Usage
Import in your project
```
require github.com/PayRam/event-emitter v0.1.0
```
Running test cases
```
go test ./... -v
```
Run Jobs
```
//example usage
err = service.CreateGenericEvent("Generic EEEvent", `{"key": "generic"}`)
err = service.CreateEvent("deposit-received", "123", `{"refId": "123456"}`)
err = service.CreateEvent("deposit-received", "323", `{"refId": "123457"}`)
err = service.CreateEvent("deposit-received", "123", `{"refId": "123458"}`)
err = service.CreateEvent("deposit-received", "123", `{"refId": "123459"}`)
err = service.CreateEvent("deposit-received", "323", `{"refId": "123460"}`)
err = service.CreateEvent("deposit-received-email-sent", "123", `{"refId": "123459"}`)
subQuery := param.QueryBuilder{
EventName: []string{"deposit-received-email-sent"},
}
eNames := []string{"deposit-received"}
joinWhereClause := make(map[string]param.JoinClause)
joinClause := param.JoinClause{
Clause: "attribute::jsonb ->>'refId'",
Exclude: true,
}
joinWhereClause["attribute::jsonb ->>'refId'"] = joinClause
builder := param.QueryBuilder{
EventName: eNames,
JoinWhereClause: joinWhereClause,
QueryBuilderParam: &subQuery,
}
queryEvents, err := service.QueryEvents(builder)
if err != nil {
return
}
log.Printf("-----------------------------------------")
for _, event := range queryEvents {
log.Printf("Event: %+v", event)
log.Printf("-----------------------------------------")
}
```