mirror of
https://github.com/phishingclub/phishingclub.git
synced 2026-07-03 19:07:58 +02:00
d1f100968e
Signed-off-by: Ronni Skansing <rskansing@gmail.com>
48 lines
1.6 KiB
Go
48 lines
1.6 KiB
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/oapi-codegen/nullable"
|
|
)
|
|
|
|
// ReportSendLog is one record of a report delivery attempt
|
|
type ReportSendLog struct {
|
|
ID nullable.Nullable[uuid.UUID] `json:"id"`
|
|
CreatedAt *time.Time `json:"createdAt"`
|
|
CompanyID nullable.Nullable[uuid.UUID] `json:"companyID"`
|
|
CampaignID nullable.Nullable[uuid.UUID] `json:"campaignID"`
|
|
CampaignName string `json:"campaignName"`
|
|
GroupName string `json:"groupName"`
|
|
Trigger string `json:"trigger"`
|
|
Status string `json:"status"`
|
|
RecipientCount int `json:"recipientCount"`
|
|
Recipients string `json:"recipients"`
|
|
SenderEmail string `json:"senderEmail"`
|
|
ErrorMessage string `json:"errorMessage"`
|
|
}
|
|
|
|
// ToDBMap converts the fields for persistence
|
|
func (r *ReportSendLog) ToDBMap() map[string]any {
|
|
m := map[string]any{}
|
|
m["campaign_name"] = r.CampaignName
|
|
m["group_name"] = r.GroupName
|
|
m["trigger"] = r.Trigger
|
|
m["status"] = r.Status
|
|
m["recipient_count"] = r.RecipientCount
|
|
m["recipients"] = r.Recipients
|
|
m["sender_email"] = r.SenderEmail
|
|
m["error_message"] = r.ErrorMessage
|
|
|
|
m["company_id"] = nil
|
|
if r.CompanyID.IsSpecified() && !r.CompanyID.IsNull() {
|
|
m["company_id"] = r.CompanyID.MustGet()
|
|
}
|
|
m["campaign_id"] = nil
|
|
if r.CampaignID.IsSpecified() && !r.CampaignID.IsNull() {
|
|
m["campaign_id"] = r.CampaignID.MustGet()
|
|
}
|
|
return m
|
|
}
|