bygdata/pkg/devtodev/event/user.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
}