| 
									
										
										
										
											2015-12-03 15:52:37 +08:00
										 |  |  | package models | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-21 11:41:02 +08:00
										 |  |  | import ( | 
					
						
							|  |  |  | 	"errors" | 
					
						
							|  |  |  | 	"time" | 
					
						
							| 
									
										
										
										
											2016-01-23 06:17:22 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-13 06:26:33 +08:00
										 |  |  | 	"github.com/grafana/grafana/pkg/components/securejsondata" | 
					
						
							| 
									
										
										
										
											2016-01-21 11:41:02 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var ( | 
					
						
							| 
									
										
										
										
											2016-02-25 21:55:31 +08:00
										 |  |  | 	ErrPluginSettingNotFound = errors.New("Plugin setting not found") | 
					
						
							| 
									
										
										
										
											2016-01-21 11:41:02 +08:00
										 |  |  | ) | 
					
						
							| 
									
										
										
										
											2015-12-03 23:43:55 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-25 21:55:31 +08:00
										 |  |  | type PluginSetting struct { | 
					
						
							| 
									
										
										
										
											2016-01-23 06:17:22 +08:00
										 |  |  | 	Id             int64 | 
					
						
							| 
									
										
										
										
											2016-02-25 21:55:31 +08:00
										 |  |  | 	PluginId       string | 
					
						
							| 
									
										
										
										
											2016-01-23 06:17:22 +08:00
										 |  |  | 	OrgId          int64 | 
					
						
							|  |  |  | 	Enabled        bool | 
					
						
							|  |  |  | 	Pinned         bool | 
					
						
							|  |  |  | 	JsonData       map[string]interface{} | 
					
						
							| 
									
										
										
										
											2016-11-13 06:26:33 +08:00
										 |  |  | 	SecureJsonData securejsondata.SecureJsonData | 
					
						
							| 
									
										
										
										
											2016-07-08 00:11:03 +08:00
										 |  |  | 	PluginVersion  string | 
					
						
							| 
									
										
										
										
											2015-12-03 23:43:55 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	Created time.Time | 
					
						
							|  |  |  | 	Updated time.Time | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ----------------------
 | 
					
						
							|  |  |  | // COMMANDS
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Also acts as api DTO
 | 
					
						
							| 
									
										
										
										
											2016-02-25 21:55:31 +08:00
										 |  |  | type UpdatePluginSettingCmd struct { | 
					
						
							| 
									
										
										
										
											2016-01-23 06:17:22 +08:00
										 |  |  | 	Enabled        bool                   `json:"enabled"` | 
					
						
							|  |  |  | 	Pinned         bool                   `json:"pinned"` | 
					
						
							|  |  |  | 	JsonData       map[string]interface{} `json:"jsonData"` | 
					
						
							|  |  |  | 	SecureJsonData map[string]string      `json:"secureJsonData"` | 
					
						
							| 
									
										
										
										
											2016-07-08 00:11:03 +08:00
										 |  |  | 	PluginVersion  string                 `json:"version"` | 
					
						
							| 
									
										
										
										
											2015-12-03 23:43:55 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-25 21:55:31 +08:00
										 |  |  | 	PluginId string `json:"-"` | 
					
						
							|  |  |  | 	OrgId    int64  `json:"-"` | 
					
						
							| 
									
										
										
										
											2015-12-03 23:43:55 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-08 00:11:03 +08:00
										 |  |  | // specific command, will only update version
 | 
					
						
							|  |  |  | type UpdatePluginSettingVersionCmd struct { | 
					
						
							|  |  |  | 	PluginVersion string | 
					
						
							|  |  |  | 	PluginId      string `json:"-"` | 
					
						
							|  |  |  | 	OrgId         int64  `json:"-"` | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-13 06:26:33 +08:00
										 |  |  | func (cmd *UpdatePluginSettingCmd) GetEncryptedJsonData() securejsondata.SecureJsonData { | 
					
						
							|  |  |  | 	return securejsondata.GetEncryptedJsonData(cmd.SecureJsonData) | 
					
						
							| 
									
										
										
										
											2016-02-10 23:43:35 +08:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-03 23:43:55 +08:00
										 |  |  | // ---------------------
 | 
					
						
							|  |  |  | // QUERIES
 | 
					
						
							| 
									
										
										
										
											2016-02-25 21:55:31 +08:00
										 |  |  | type GetPluginSettingsQuery struct { | 
					
						
							| 
									
										
										
										
											2015-12-03 23:43:55 +08:00
										 |  |  | 	OrgId  int64 | 
					
						
							| 
									
										
										
										
											2016-03-09 01:17:47 +08:00
										 |  |  | 	Result []*PluginSettingInfoDTO | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | type PluginSettingInfoDTO struct { | 
					
						
							| 
									
										
										
										
											2016-07-08 00:11:03 +08:00
										 |  |  | 	OrgId         int64 | 
					
						
							|  |  |  | 	PluginId      string | 
					
						
							|  |  |  | 	Enabled       bool | 
					
						
							|  |  |  | 	Pinned        bool | 
					
						
							|  |  |  | 	PluginVersion string | 
					
						
							| 
									
										
										
										
											2015-12-03 15:52:37 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-01-21 11:41:02 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-25 21:55:31 +08:00
										 |  |  | type GetPluginSettingByIdQuery struct { | 
					
						
							|  |  |  | 	PluginId string | 
					
						
							|  |  |  | 	OrgId    int64 | 
					
						
							|  |  |  | 	Result   *PluginSetting | 
					
						
							| 
									
										
										
										
											2016-01-21 11:41:02 +08:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2016-07-08 18:26:51 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | type PluginStateChangedEvent struct { | 
					
						
							|  |  |  | 	PluginId string | 
					
						
							|  |  |  | 	OrgId    int64 | 
					
						
							|  |  |  | 	Enabled  bool | 
					
						
							|  |  |  | } |