Files
libredesk/internal/macro/models/models.go
T

46 lines
1.8 KiB
Go

package models
import (
"encoding/json"
"time"
"github.com/lib/pq"
)
// Values of the macro_visible_when DB enum.
const (
VisibleWhenReplying = "replying"
VisibleWhenStartingConversation = "starting_conversation"
VisibleWhenAddingPrivateNote = "adding_private_note"
)
type MacroCompact struct {
ID int `db:"id" json:"id"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
Name string `db:"name" json:"name"`
Actions json.RawMessage `db:"actions" json:"actions"`
Visibility string `db:"visibility" json:"visibility"`
VisibleWhen pq.StringArray `db:"visible_when" json:"visible_when"`
HasMessageContent bool `db:"has_message_content" json:"has_message_content"`
UserID *int `db:"user_id" json:"user_id,string"`
TeamID *int `db:"team_id" json:"team_id,string"`
UsageCount int `db:"usage_count" json:"usage_count"`
Total int `db:"total" json:"-"`
}
type Macro struct {
ID int `db:"id" json:"id"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
Name string `db:"name" json:"name"`
Actions json.RawMessage `db:"actions" json:"actions"`
Visibility string `db:"visibility" json:"visibility"`
VisibleWhen pq.StringArray `db:"visible_when" json:"visible_when"`
MessageContent string `db:"message_content" json:"message_content"`
UserID *int `db:"user_id" json:"user_id,string"`
TeamID *int `db:"team_id" json:"team_id,string"`
UsageCount int `db:"usage_count" json:"usage_count"`
}