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 }