1package models
2
3import (
4	"errors"
5	"time"
6)
7
8var (
9	ErrPluginSettingNotFound = errors.New("plugin setting not found")
10)
11
12type PluginSetting struct {
13	Id             int64
14	PluginId       string
15	OrgId          int64
16	Enabled        bool
17	Pinned         bool
18	JsonData       map[string]interface{}
19	SecureJsonData map[string][]byte
20	PluginVersion  string
21
22	Created time.Time
23	Updated time.Time
24}
25
26// ----------------------
27// COMMANDS
28
29// Also acts as api DTO
30type UpdatePluginSettingCmd struct {
31	Enabled        bool                   `json:"enabled"`
32	Pinned         bool                   `json:"pinned"`
33	JsonData       map[string]interface{} `json:"jsonData"`
34	SecureJsonData map[string]string      `json:"secureJsonData"`
35	PluginVersion  string                 `json:"version"`
36
37	PluginId                string            `json:"-"`
38	OrgId                   int64             `json:"-"`
39	EncryptedSecureJsonData map[string][]byte `json:"-"`
40}
41
42// specific command, will only update version
43type UpdatePluginSettingVersionCmd struct {
44	PluginVersion string
45	PluginId      string `json:"-"`
46	OrgId         int64  `json:"-"`
47}
48
49// ---------------------
50// QUERIES
51
52type PluginSettingInfoDTO struct {
53	OrgId         int64
54	PluginId      string
55	Enabled       bool
56	Pinned        bool
57	PluginVersion string
58}
59
60type GetPluginSettingByIdQuery struct {
61	PluginId string
62	OrgId    int64
63	Result   *PluginSetting
64}
65
66type PluginStateChangedEvent struct {
67	PluginId string
68	OrgId    int64
69	Enabled  bool
70}
71