74 lines
2.2 KiB
Go
74 lines
2.2 KiB
Go
package event
|
|
|
|
import "fmt"
|
|
|
|
func People(timestamp int64, level int, properties map[string]interface{}, fields map[string]interface{}) (map[string]interface{}, error) {
|
|
if len(properties) == 0 {
|
|
return nil, fmt.Errorf("parameters is required")
|
|
}
|
|
event := map[string]interface{}{
|
|
"code": "pl",
|
|
"timestamp": timestamp,
|
|
"level": level,
|
|
"parameters": properties,
|
|
}
|
|
if err := addFields(event, fields, "code", "timestamp", "level", "parameters"); err != nil {
|
|
return nil, err
|
|
}
|
|
return event, nil
|
|
}
|
|
|
|
func CustomEvent(timestamp int64, level int, name string, parameters map[string]interface{}, fields map[string]interface{}) (map[string]interface{}, error) {
|
|
event := map[string]interface{}{
|
|
"code": "ce",
|
|
"timestamp": timestamp,
|
|
"level": level,
|
|
"name": name,
|
|
}
|
|
if parameters != nil {
|
|
event["parameters"] = parameters
|
|
}
|
|
if err := addFields(event, fields, "code", "timestamp", "level", "name", "parameters"); err != nil {
|
|
return nil, err
|
|
}
|
|
return event, nil
|
|
}
|
|
|
|
func Referral(timestamp int64, fields map[string]interface{}) (map[string]interface{}, error) {
|
|
event := map[string]interface{}{
|
|
"code": "rf",
|
|
"timestamp": timestamp,
|
|
}
|
|
if err := addFields(event, fields, "code", "timestamp"); err != nil {
|
|
return nil, err
|
|
}
|
|
return event, nil
|
|
}
|
|
|
|
func SocialConnect(timestamp int64, level int, socialNetwork string, fields map[string]interface{}) (map[string]interface{}, error) {
|
|
event := map[string]interface{}{
|
|
"code": "sc",
|
|
"timestamp": timestamp,
|
|
"level": level,
|
|
"socialNetwork": socialNetwork,
|
|
}
|
|
if err := addFields(event, fields, "code", "timestamp", "level", "socialNetwork"); err != nil {
|
|
return nil, err
|
|
}
|
|
return event, nil
|
|
}
|
|
|
|
func SocialPost(timestamp int64, level int, socialNetwork, postReason string, fields map[string]interface{}) (map[string]interface{}, error) {
|
|
event := map[string]interface{}{
|
|
"code": "sp",
|
|
"timestamp": timestamp,
|
|
"level": level,
|
|
"socialNetwork": socialNetwork,
|
|
"postReason": postReason,
|
|
}
|
|
if err := addFields(event, fields, "code", "timestamp", "level", "socialNetwork", "postReason"); err != nil {
|
|
return nil, err
|
|
}
|
|
return event, nil
|
|
}
|