github.com/Axway/agent-sdk@v1.1.101/pkg/transaction/models/definitions.go (about)

     1  package models
     2  
     3  import "github.com/sirupsen/logrus"
     4  
     5  // ConsumerDetails  - Represents the consumer details in the transaction summary event
     6  type ConsumerDetails struct {
     7  	Application      *AppDetails   `json:"application,omitempty"` // marketplace application
     8  	PublishedProduct *Product      `json:"publishedProduct,omitempty"`
     9  	Subscription     *Subscription `json:"subscription,omitempty"`
    10  }
    11  
    12  // Subscription  - Represents the subscription used in transaction summary consumer details
    13  type Subscription struct {
    14  	ID   string `json:"id,omitempty"`
    15  	Name string `json:"name,omitempty"`
    16  }
    17  
    18  func (a Subscription) GetLogFields(fields logrus.Fields) logrus.Fields {
    19  	if a.ID != "unknown" {
    20  		fields["subscriptionID"] = a.ID
    21  	}
    22  	return fields
    23  }
    24  
    25  // AppDetails - struct for app details to report
    26  type AppDetails struct {
    27  	ID            string `json:"id"`
    28  	Name          string `json:"name"`
    29  	ConsumerOrgID string `json:"consumerOrgId,omitempty"`
    30  }
    31  
    32  func (a AppDetails) GetLogFields(fields logrus.Fields) logrus.Fields {
    33  	if a.ID != "unknown" {
    34  		fields["appID"] = a.ID
    35  	}
    36  	return fields
    37  }
    38  
    39  // AssetResource  - Represents the asset resource used in transaction summary provider details event
    40  type AssetResource struct {
    41  	ID   string `json:"id,omitempty"`
    42  	Name string `json:"name,omitempty"`
    43  }
    44  
    45  func (a AssetResource) GetLogFields(fields logrus.Fields) logrus.Fields {
    46  	if a.ID != "unknown" {
    47  		fields["assetID"] = a.ID
    48  	}
    49  	return fields
    50  }
    51  
    52  // Product - Represents the product used in the transaction summary provider details event
    53  type Product struct {
    54  	ID          string `json:"id,omitempty"`
    55  	Name        string `json:"name,omitempty"`
    56  	VersionName string `json:"versionName,omitempty"`
    57  	VersionID   string `json:"versionId,omitempty"`
    58  }
    59  
    60  func (a Product) GetLogFields(fields logrus.Fields) logrus.Fields {
    61  	if a.ID != "unknown" {
    62  		fields["productID"] = a.ID
    63  		fields["productVersionID"] = a.VersionID
    64  	}
    65  	return fields
    66  }
    67  
    68  // Quota - Represents the quota used in the transaction summary provider details event
    69  type Quota struct {
    70  	ID string `json:"id,omitempty"`
    71  }
    72  
    73  func (a Quota) GetLogFields(fields logrus.Fields) logrus.Fields {
    74  	if a.ID != "unknown" {
    75  		fields["quotaID"] = a.ID
    76  	}
    77  	return fields
    78  }
    79  
    80  // ProductPlan - Represents the plan used in the transaction summary provider details event
    81  type ProductPlan struct {
    82  	ID string `json:"id,omitempty"`
    83  }
    84  
    85  func (a ProductPlan) GetLogFields(fields logrus.Fields) logrus.Fields {
    86  	if a.ID != "unknown" {
    87  		fields["planID"] = a.ID
    88  	}
    89  	return fields
    90  }
    91  
    92  // APIDetails - Represents the api used in the transaction summary provider details event
    93  type APIDetails struct {
    94  	ID                 string `json:"id"`
    95  	Name               string `json:"name"`
    96  	Revision           int    `json:"revision,omitempty"`
    97  	TeamID             string `json:"teamId,omitempty"`
    98  	APIServiceInstance string `json:"apiServiceInstance,omitempty"`
    99  	Stage              string `json:"-"`
   100  	Version            string `json:"-"`
   101  }
   102  
   103  func (a APIDetails) GetLogFields(fields logrus.Fields) logrus.Fields {
   104  	if a.ID != "unknown" {
   105  		fields["apiID"] = a.ID
   106  	}
   107  	return fields
   108  }