Skip to content
Snippets Groups Projects
Commit 10715b81 authored by Francé Wilke's avatar Francé Wilke
Browse files

Add provider_id to api logs

parent 715cfebf
No related branches found
No related tags found
No related merge requests found
...@@ -2,8 +2,8 @@ package api_logs ...@@ -2,8 +2,8 @@ package api_logs
import ( import (
"github.com/thoas/go-funk" "github.com/thoas/go-funk"
"gitlab.com/uafrica/go-utils/string_utils"
"net/url" "net/url"
"strconv"
"strings" "strings"
"time" "time"
...@@ -37,14 +37,24 @@ func GenerateIncomingAPILog(startTime time.Time, requestID *string, claim map[st ...@@ -37,14 +37,24 @@ func GenerateIncomingAPILog(startTime time.Time, requestID *string, claim map[st
userID, _ := claim["UserID"].(int64) userID, _ := claim["UserID"].(int64)
username, _ := claim["Username"].(string) username, _ := claim["Username"].(string)
accountID, _ := claim["AccountID"].(int64) accountID, _ := claim["AccountID"].(int64)
providerID, _ := claim["ProviderID"].(int64)
if accountID == 0 { if accountID == 0 {
if accountIDParam, ok := req.QueryStringParameters["account_id"]; ok { if accountIDParam, ok := req.QueryStringParameters["account_id"]; ok {
if i64, err := strconv.ParseInt(accountIDParam, 10, 64); err == nil && i64 > 0 { if i64, err := string_utils.StringToInt64(accountIDParam); err == nil && i64 > 0 {
accountID = i64 accountID = i64
} }
} }
} }
if providerID == 0 {
if providerIDParam, ok := req.QueryStringParameters["provider_id"]; ok {
if i64, err := string_utils.StringToInt64(providerIDParam); err == nil && i64 > 0 {
providerID = i64
}
}
}
typeString := "api-incoming" typeString := "api-incoming"
if funk.Contains(req.Path, "webhook") { if funk.Contains(req.Path, "webhook") {
typeString = "webhook-incoming" typeString = "webhook-incoming"
...@@ -67,6 +77,7 @@ func GenerateIncomingAPILog(startTime time.Time, requestID *string, claim map[st ...@@ -67,6 +77,7 @@ func GenerateIncomingAPILog(startTime time.Time, requestID *string, claim map[st
UserID: userID, UserID: userID,
Username: username, Username: username,
AccountID: accountID, AccountID: accountID,
ProviderID: providerID,
Request: ApiLogRequest{ Request: ApiLogRequest{
Headers: req.Headers, Headers: req.Headers,
QueryParameters: req.QueryStringParameters, QueryParameters: req.QueryStringParameters,
...@@ -99,6 +110,8 @@ func GenerateOutgoingAPILog(startTime time.Time, requestID *string, claim map[st ...@@ -99,6 +110,8 @@ func GenerateOutgoingAPILog(startTime time.Time, requestID *string, claim map[st
userID, _ := claim["UserID"].(int64) userID, _ := claim["UserID"].(int64)
username, _ := claim["Username"].(string) username, _ := claim["Username"].(string)
accountID, _ := claim["AccountID"].(int64) accountID, _ := claim["AccountID"].(int64)
providerID, _ := claim["ProviderID"].(int64)
params := map[string]string{} params := map[string]string{}
parsedURL, err := url.Parse(urlString) parsedURL, err := url.Parse(urlString)
if err == nil { if err == nil {
...@@ -125,6 +138,7 @@ func GenerateOutgoingAPILog(startTime time.Time, requestID *string, claim map[st ...@@ -125,6 +138,7 @@ func GenerateOutgoingAPILog(startTime time.Time, requestID *string, claim map[st
UserID: userID, UserID: userID,
Username: username, Username: username,
AccountID: accountID, AccountID: accountID,
ProviderID: providerID,
Request: ApiLogRequest{ Request: ApiLogRequest{
Headers: requestHeaders, Headers: requestHeaders,
QueryParameters: params, QueryParameters: params,
...@@ -155,6 +169,7 @@ type ApiLog struct { ...@@ -155,6 +169,7 @@ type ApiLog struct {
InitialAuthUsername string `json:"initial_auth_username,omitempty"` InitialAuthUsername string `json:"initial_auth_username,omitempty"`
InitialAuthType string `json:"initial_auth_type,omitempty"` InitialAuthType string `json:"initial_auth_type,omitempty"`
AccountID int64 `json:"account_id,omitempty"` AccountID int64 `json:"account_id,omitempty"`
ProviderID int64 `json:"provider_id,omitempty"`
UserID int64 `json:"user_id,omitempty"` UserID int64 `json:"user_id,omitempty"`
Username string `json:"username,omitempty"` Username string `json:"username,omitempty"`
SourceIP string `json:"source_ip,omitempty"` //only logged for incoming API SourceIP string `json:"source_ip,omitempty"` //only logged for incoming API
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment