github.com/Files-com/files-sdk-go/v2@v2.1.2/gpgkey.go (about) 1 package files_sdk 2 3 import ( 4 "encoding/json" 5 "time" 6 7 lib "github.com/Files-com/files-sdk-go/v2/lib" 8 ) 9 10 type GpgKey struct { 11 Id int64 `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 12 ExpiresAt *time.Time `json:"expires_at,omitempty" path:"expires_at,omitempty" url:"expires_at,omitempty"` 13 Name string `json:"name,omitempty" path:"name,omitempty" url:"name,omitempty"` 14 UserId int64 `json:"user_id,omitempty" path:"user_id,omitempty" url:"user_id,omitempty"` 15 PublicKey string `json:"public_key,omitempty" path:"public_key,omitempty" url:"public_key,omitempty"` 16 PrivateKey string `json:"private_key,omitempty" path:"private_key,omitempty" url:"private_key,omitempty"` 17 PrivateKeyPassword string `json:"private_key_password,omitempty" path:"private_key_password,omitempty" url:"private_key_password,omitempty"` 18 } 19 20 func (g GpgKey) Identifier() interface{} { 21 return g.Id 22 } 23 24 type GpgKeyCollection []GpgKey 25 26 type GpgKeyListParams struct { 27 UserId int64 `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"` 28 SortBy map[string]interface{} `url:"sort_by,omitempty" required:"false" json:"sort_by,omitempty" path:"sort_by"` 29 ListParams 30 } 31 32 type GpgKeyFindParams struct { 33 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 34 } 35 36 type GpgKeyCreateParams struct { 37 UserId int64 `url:"user_id,omitempty" required:"false" json:"user_id,omitempty" path:"user_id"` 38 PublicKey string `url:"public_key,omitempty" required:"false" json:"public_key,omitempty" path:"public_key"` 39 PrivateKey string `url:"private_key,omitempty" required:"false" json:"private_key,omitempty" path:"private_key"` 40 PrivateKeyPassword string `url:"private_key_password,omitempty" required:"false" json:"private_key_password,omitempty" path:"private_key_password"` 41 Name string `url:"name,omitempty" required:"true" json:"name,omitempty" path:"name"` 42 } 43 44 type GpgKeyUpdateParams struct { 45 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 46 PublicKey string `url:"public_key,omitempty" required:"false" json:"public_key,omitempty" path:"public_key"` 47 PrivateKey string `url:"private_key,omitempty" required:"false" json:"private_key,omitempty" path:"private_key"` 48 PrivateKeyPassword string `url:"private_key_password,omitempty" required:"false" json:"private_key_password,omitempty" path:"private_key_password"` 49 Name string `url:"name,omitempty" required:"false" json:"name,omitempty" path:"name"` 50 } 51 52 type GpgKeyDeleteParams struct { 53 Id int64 `url:"-,omitempty" required:"false" json:"-,omitempty" path:"id"` 54 } 55 56 func (g *GpgKey) UnmarshalJSON(data []byte) error { 57 type gpgKey GpgKey 58 var v gpgKey 59 if err := json.Unmarshal(data, &v); err != nil { 60 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 61 } 62 63 *g = GpgKey(v) 64 return nil 65 } 66 67 func (g *GpgKeyCollection) UnmarshalJSON(data []byte) error { 68 type gpgKeys GpgKeyCollection 69 var v gpgKeys 70 if err := json.Unmarshal(data, &v); err != nil { 71 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 72 } 73 74 *g = GpgKeyCollection(v) 75 return nil 76 } 77 78 func (g *GpgKeyCollection) ToSlice() *[]interface{} { 79 ret := make([]interface{}, len(*g)) 80 for i, v := range *g { 81 ret[i] = v 82 } 83 84 return &ret 85 }