basesecret.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package kms
  2. import (
  3. sdkkms "github.com/sftpgo/sdk/kms"
  4. )
  5. // BaseSecret defines the base struct shared among all the secret providers
  6. type BaseSecret struct {
  7. Status sdkkms.SecretStatus `json:"status,omitempty"`
  8. Payload string `json:"payload,omitempty"`
  9. Key string `json:"key,omitempty"`
  10. AdditionalData string `json:"additional_data,omitempty"`
  11. // 1 means encrypted using a master key
  12. Mode int `json:"mode,omitempty"`
  13. }
  14. // GetStatus returns the secret's status
  15. func (s *BaseSecret) GetStatus() sdkkms.SecretStatus {
  16. return s.Status
  17. }
  18. // GetPayload returns the secret's payload
  19. func (s *BaseSecret) GetPayload() string {
  20. return s.Payload
  21. }
  22. // GetKey returns the secret's key
  23. func (s *BaseSecret) GetKey() string {
  24. return s.Key
  25. }
  26. // GetMode returns the encryption mode
  27. func (s *BaseSecret) GetMode() int {
  28. return s.Mode
  29. }
  30. // GetAdditionalData returns the secret's additional data
  31. func (s *BaseSecret) GetAdditionalData() string {
  32. return s.AdditionalData
  33. }
  34. // SetKey sets the secret's key
  35. func (s *BaseSecret) SetKey(value string) {
  36. s.Key = value
  37. }
  38. // SetAdditionalData sets the secret's additional data
  39. func (s *BaseSecret) SetAdditionalData(value string) {
  40. s.AdditionalData = value
  41. }
  42. // SetStatus sets the secret's status
  43. func (s *BaseSecret) SetStatus(value sdkkms.SecretStatus) {
  44. s.Status = value
  45. }
  46. func (s *BaseSecret) isEmpty() bool {
  47. if s.Status != "" {
  48. return false
  49. }
  50. if s.Payload != "" {
  51. return false
  52. }
  53. if s.Key != "" {
  54. return false
  55. }
  56. if s.AdditionalData != "" {
  57. return false
  58. }
  59. return true
  60. }