github.com/Files-com/files-sdk-go/v2@v2.1.2/session.go (about) 1 package files_sdk 2 3 import ( 4 "encoding/json" 5 6 lib "github.com/Files-com/files-sdk-go/v2/lib" 7 ) 8 9 type Session struct { 10 Id string `json:"id,omitempty" path:"id,omitempty" url:"id,omitempty"` 11 Language string `json:"language,omitempty" path:"language,omitempty" url:"language,omitempty"` 12 ReadOnly *bool `json:"read_only,omitempty" path:"read_only,omitempty" url:"read_only,omitempty"` 13 SftpInsecureCiphers *bool `json:"sftp_insecure_ciphers,omitempty" path:"sftp_insecure_ciphers,omitempty" url:"sftp_insecure_ciphers,omitempty"` 14 Username string `json:"username,omitempty" path:"username,omitempty" url:"username,omitempty"` 15 Password string `json:"password,omitempty" path:"password,omitempty" url:"password,omitempty"` 16 Otp string `json:"otp,omitempty" path:"otp,omitempty" url:"otp,omitempty"` 17 PartialSessionId string `json:"partial_session_id,omitempty" path:"partial_session_id,omitempty" url:"partial_session_id,omitempty"` 18 } 19 20 func (s Session) Identifier() interface{} { 21 return s.Id 22 } 23 24 type SessionCollection []Session 25 26 type SessionCreateParams struct { 27 Username string `url:"username,omitempty" required:"false" json:"username,omitempty" path:"username"` 28 Password string `url:"password,omitempty" required:"false" json:"password,omitempty" path:"password"` 29 Otp string `url:"otp,omitempty" required:"false" json:"otp,omitempty" path:"otp"` 30 PartialSessionId string `url:"partial_session_id,omitempty" required:"false" json:"partial_session_id,omitempty" path:"partial_session_id"` 31 } 32 33 func (s *Session) UnmarshalJSON(data []byte) error { 34 type session Session 35 var v session 36 if err := json.Unmarshal(data, &v); err != nil { 37 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, map[string]interface{}{}) 38 } 39 40 *s = Session(v) 41 return nil 42 } 43 44 func (s *SessionCollection) UnmarshalJSON(data []byte) error { 45 type sessions SessionCollection 46 var v sessions 47 if err := json.Unmarshal(data, &v); err != nil { 48 return lib.ErrorWithOriginalResponse{}.ProcessError(data, err, []map[string]interface{}{}) 49 } 50 51 *s = SessionCollection(v) 52 return nil 53 } 54 55 func (s *SessionCollection) ToSlice() *[]interface{} { 56 ret := make([]interface{}, len(*s)) 57 for i, v := range *s { 58 ret[i] = v 59 } 60 61 return &ret 62 }