2018-09-22 19:22:42 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2018 Jeffrey Walter <jeffreydwalter@gmail.com>
|
|
|
|
*
|
|
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
|
|
|
|
* documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
|
|
|
|
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
|
* permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
|
|
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
|
|
|
|
* Software.
|
|
|
|
*
|
|
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
|
|
* WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
|
|
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
|
|
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
*/
|
|
|
|
|
2018-09-19 07:07:32 +00:00
|
|
|
package arlo
|
2017-12-09 03:55:38 +00:00
|
|
|
|
2018-12-11 23:48:51 +00:00
|
|
|
// URL is part of the Status message fragment returned by most calls to the Arlo API.
|
|
|
|
// URL is only populated when Success is false.
|
|
|
|
type Data struct {
|
|
|
|
Message string `json:"message,omitempty"`
|
|
|
|
Reason string `json:"reason,omitempty"`
|
|
|
|
Error string `json:"error,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// Status is the message fragment returned from most http calls to the Arlo API.
|
|
|
|
type Status struct {
|
|
|
|
Data `json:"URL,omitempty"`
|
|
|
|
Success bool `json:"success"`
|
|
|
|
}
|
|
|
|
|
2017-12-09 03:55:38 +00:00
|
|
|
// LoginResponse is an intermediate struct used when parsing data from the Login() call.
|
|
|
|
type LoginResponse struct {
|
2017-12-10 19:17:09 +00:00
|
|
|
Data Account
|
2018-09-20 22:38:01 +00:00
|
|
|
Status
|
2017-12-09 03:55:38 +00:00
|
|
|
}
|
|
|
|
|
2018-12-11 23:48:51 +00:00
|
|
|
type SessionResponse struct {
|
|
|
|
Data Session
|
|
|
|
Status
|
|
|
|
}
|
|
|
|
|
|
|
|
type UserProfileResponse struct {
|
|
|
|
Data UserProfile
|
|
|
|
Status
|
|
|
|
}
|
|
|
|
|
2017-12-09 03:55:38 +00:00
|
|
|
// DeviceResponse is an intermediate struct used when parsing data from the GetDevices() call.
|
|
|
|
type DeviceResponse struct {
|
2017-12-10 19:17:09 +00:00
|
|
|
Data Devices
|
2018-09-20 22:38:01 +00:00
|
|
|
Status
|
2017-12-09 03:55:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// LibraryMetaDataResponse is an intermediate struct used when parsing data from the GetLibraryMetaData() call.
|
|
|
|
type LibraryMetaDataResponse struct {
|
2017-12-10 19:17:09 +00:00
|
|
|
Data LibraryMetaData
|
2018-09-20 22:38:01 +00:00
|
|
|
Status
|
2017-12-09 03:55:38 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type LibraryResponse struct {
|
2017-12-10 19:17:09 +00:00
|
|
|
Data Library
|
2018-09-20 22:38:01 +00:00
|
|
|
Status
|
2017-12-10 19:17:09 +00:00
|
|
|
}
|
|
|
|
|
2018-12-11 23:48:51 +00:00
|
|
|
type CvrPlaylistResponse struct {
|
|
|
|
Data CvrPlaylist
|
|
|
|
Status
|
|
|
|
}
|
|
|
|
|
|
|
|
type Stream struct {
|
2018-09-22 19:22:42 +00:00
|
|
|
URL string `json:"url"`
|
2018-12-11 23:48:51 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type StreamResponse struct {
|
|
|
|
Data Stream
|
2018-09-20 22:38:01 +00:00
|
|
|
Status
|
2018-09-17 04:44:41 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type RecordingResponse struct {
|
2018-12-11 23:48:51 +00:00
|
|
|
Data Stream
|
2018-09-20 22:38:01 +00:00
|
|
|
Status
|
2018-09-19 19:12:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type EventStreamResponse struct {
|
2018-09-20 22:38:01 +00:00
|
|
|
EventStreamPayload
|
2020-05-27 08:49:40 +00:00
|
|
|
Status string `json:"status,omitempty"`
|
|
|
|
RawProperties []byte
|
2017-12-09 03:55:38 +00:00
|
|
|
}
|