summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/SevereCloud/vksdk/v2/object/photos.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/SevereCloud/vksdk/v2/object/photos.go')
-rw-r--r--vendor/github.com/SevereCloud/vksdk/v2/object/photos.go339
1 files changed, 339 insertions, 0 deletions
diff --git a/vendor/github.com/SevereCloud/vksdk/v2/object/photos.go b/vendor/github.com/SevereCloud/vksdk/v2/object/photos.go
new file mode 100644
index 00000000..5adfcae8
--- /dev/null
+++ b/vendor/github.com/SevereCloud/vksdk/v2/object/photos.go
@@ -0,0 +1,339 @@
+package object // import "github.com/SevereCloud/vksdk/v2/object"
+
+import (
+ "fmt"
+)
+
+// PhotosPhoto struct.
+type PhotosPhoto struct {
+ AccessKey string `json:"access_key"` // Access key for the photo
+ AlbumID int `json:"album_id"` // Album ID
+ Date int `json:"date"` // Date when uploaded
+ Height int `json:"height"` // Original photo height
+ ID int `json:"id"` // Photo ID
+ Images []PhotosImage `json:"images"`
+ Lat float64 `json:"lat"` // Latitude
+ Long float64 `json:"long"` // Longitude
+ OwnerID int `json:"owner_id"` // Photo owner's ID
+ PostID int `json:"post_id"` // Post ID
+ Text string `json:"text"` // Photo caption
+ UserID int `json:"user_id"` // ID of the user who have uploaded the photo
+ Width int `json:"width"` // Original photo width
+ CanUpload BaseBoolInt `json:"can_upload"`
+ CommentsDisabled BaseBoolInt `json:"comments_disabled"`
+ ThumbIsLast BaseBoolInt `json:"thumb_is_last"`
+ UploadByAdminsOnly BaseBoolInt `json:"upload_by_admins_only"`
+ HasTags BaseBoolInt `json:"has_tags"`
+ Created int `json:"created"`
+ Description string `json:"description"`
+ PrivacyComment []string `json:"privacy_comment"`
+ PrivacyView []string `json:"privacy_view"`
+ Size int `json:"size"`
+ Sizes []PhotosPhotoSizes `json:"sizes"`
+ ThumbID int `json:"thumb_id"`
+ ThumbSrc string `json:"thumb_src"`
+ Title string `json:"title"`
+ Updated int `json:"updated"`
+ Color string `json:"color"`
+}
+
+// ToAttachment return attachment format.
+func (photo PhotosPhoto) ToAttachment() string {
+ return fmt.Sprintf("photo%d_%d", photo.OwnerID, photo.ID)
+}
+
+// MaxSize return the largest PhotosPhotoSizes.
+func (photo PhotosPhoto) MaxSize() (maxPhotoSize PhotosPhotoSizes) {
+ var max float64
+
+ for _, photoSize := range photo.Sizes {
+ size := photoSize.Height * photoSize.Width
+ if size > max {
+ max = size
+ maxPhotoSize = photoSize
+ }
+ }
+
+ return
+}
+
+// MinSize return the smallest PhotosPhotoSizes.
+func (photo PhotosPhoto) MinSize() (minPhotoSize PhotosPhotoSizes) {
+ var min float64
+
+ for _, photoSize := range photo.Sizes {
+ size := photoSize.Height * photoSize.Width
+ if size < min || min == 0 {
+ min = size
+ minPhotoSize = photoSize
+ }
+ }
+
+ return
+}
+
+// PhotosCommentXtrPid struct.
+type PhotosCommentXtrPid struct {
+ Attachments []WallCommentAttachment `json:"attachments"`
+ Date int `json:"date"` // Date when the comment has been added in Unixtime
+ FromID int `json:"from_id"` // Author ID
+ ID int `json:"id"` // Comment ID
+ Likes BaseLikesInfo `json:"likes"`
+ ParentsStack []int `json:"parents_stack"`
+ Pid int `json:"pid"` // Photo ID
+ ReplyToComment int `json:"reply_to_comment"` // Replied comment ID
+ ReplyToUser int `json:"reply_to_user"` // Replied user ID
+ Text string `json:"text"` // Comment text
+ Thread WallWallCommentThread `json:"thread"`
+}
+
+// PhotosImage struct.
+type PhotosImage struct {
+ BaseImage
+ Type string `json:"type"`
+}
+
+// PhotosChatUploadResponse struct.
+type PhotosChatUploadResponse struct {
+ Response string `json:"response"` // Uploaded photo data
+}
+
+// PhotosMarketAlbumUploadResponse struct.
+type PhotosMarketAlbumUploadResponse struct {
+ GID int `json:"gid"` // Community ID
+ Hash string `json:"hash"` // Uploading hash
+ Photo string `json:"photo"` // Uploaded photo data
+ Server int `json:"server"` // Upload server number
+}
+
+// PhotosMarketUploadResponse struct.
+type PhotosMarketUploadResponse struct {
+ CropData string `json:"crop_data"` // Crop data
+ CropHash string `json:"crop_hash"` // Crop hash
+ GroupID int `json:"group_id"` // Community ID
+ Hash string `json:"hash"` // Uploading hash
+ Photo string `json:"photo"` // Uploaded photo data
+ Server int `json:"server"` // Upload server number
+}
+
+// PhotosMessageUploadResponse struct.
+type PhotosMessageUploadResponse struct {
+ Hash string `json:"hash"` // Uploading hash
+ Photo string `json:"photo"` // Uploaded photo data
+ Server int `json:"server"` // Upload server number
+}
+
+// PhotosOwnerUploadResponse struct.
+type PhotosOwnerUploadResponse struct {
+ Hash string `json:"hash"` // Uploading hash
+ Photo string `json:"photo"` // Uploaded photo data
+ Server int `json:"server"` // Upload server number
+}
+
+// PhotosPhotoAlbum struct.
+type PhotosPhotoAlbum struct {
+ Created int `json:"created"` // Date when the album has been created in Unixtime
+ Description string `json:"description"` // Photo album description
+ ID string `json:"id"` // BUG(VK): Photo album ID
+ OwnerID int `json:"owner_id"` // Album owner's ID
+ Size int `json:"size"` // Photos number
+ Thumb PhotosPhoto `json:"thumb"`
+ Title string `json:"title"` // Photo album title
+ Updated int `json:"updated"` // Date when the album has been updated last time in Unixtime
+}
+
+// ToAttachment return attachment format.
+func (album PhotosPhotoAlbum) ToAttachment() string {
+ return fmt.Sprintf("album%d_%s", album.OwnerID, album.ID)
+}
+
+// PhotosPhotoAlbumFull struct.
+type PhotosPhotoAlbumFull struct {
+ // Information whether current user can upload photo to the album.
+ CanUpload BaseBoolInt `json:"can_upload"`
+ CommentsDisabled BaseBoolInt `json:"comments_disabled"` // Information whether album comments are disabled
+ Created int `json:"created"` // Date when the album has been created in Unixtime
+ Description string `json:"description"` // Photo album description
+ ID int `json:"id"` // Photo album ID
+ OwnerID int `json:"owner_id"` // Album owner's ID
+ Size int `json:"size"` // Photos number
+ PrivacyComment Privacy `json:"privacy_comment"`
+ PrivacyView Privacy `json:"privacy_view"`
+ Sizes []PhotosPhotoSizes `json:"sizes"`
+ ThumbID int `json:"thumb_id"` // Thumb photo ID
+
+ // Information whether the album thumb is last photo.
+ ThumbIsLast int `json:"thumb_is_last"`
+ ThumbSrc string `json:"thumb_src"` // URL of the thumb image
+ Title string `json:"title"` // Photo album title
+
+ // Date when the album has been updated last time in Unixtime.
+ Updated int `json:"updated"`
+
+ // Information whether only community administrators can upload photos.
+ UploadByAdminsOnly int `json:"upload_by_admins_only"`
+}
+
+// ToAttachment return attachment format.
+func (album PhotosPhotoAlbumFull) ToAttachment() string {
+ return fmt.Sprintf("album%d_%d", album.OwnerID, album.ID)
+}
+
+// MaxSize return the largest PhotosPhotoSizes.
+func (album PhotosPhotoAlbumFull) MaxSize() (maxPhotoSize PhotosPhotoSizes) {
+ var max float64
+
+ for _, photoSize := range album.Sizes {
+ size := photoSize.Height * photoSize.Width
+ if size > max {
+ max = size
+ maxPhotoSize = photoSize
+ }
+ }
+
+ return
+}
+
+// MinSize return the smallest PhotosPhotoSizes.
+func (album PhotosPhotoAlbumFull) MinSize() (minPhotoSize PhotosPhotoSizes) {
+ var min float64
+
+ for _, photoSize := range album.Sizes {
+ size := photoSize.Height * photoSize.Width
+ if size < min || min == 0 {
+ min = size
+ minPhotoSize = photoSize
+ }
+ }
+
+ return
+}
+
+// PhotosPhotoFull struct.
+type PhotosPhotoFull struct {
+ AccessKey string `json:"access_key"` // Access key for the photo
+ AlbumID int `json:"album_id"` // Album ID
+ CanComment BaseBoolInt `json:"can_comment"` // Information whether current user can comment the photo
+ CanRepost BaseBoolInt `json:"can_repost"` // Information whether current user can repost the photo
+ HasTags BaseBoolInt `json:"has_tags"`
+ Comments BaseObjectCount `json:"comments"`
+ Date int `json:"date"` // Date when uploaded
+ Height int `json:"height"` // Original photo height
+ ID int `json:"id"` // Photo ID
+ Images []PhotosImage `json:"images"`
+ Lat float64 `json:"lat"` // Latitude
+ Likes BaseLikes `json:"likes"`
+ Long float64 `json:"long"` // Longitude
+ OwnerID int `json:"owner_id"` // Photo owner's ID
+ PostID int `json:"post_id"` // Post ID
+ Reposts BaseRepostsInfo `json:"reposts"`
+ Tags BaseObjectCount `json:"tags"`
+ Text string `json:"text"` // Photo caption
+ UserID int `json:"user_id"` // ID of the user who have uploaded the photo
+ Width int `json:"width"` // Original photo width
+ Hidden int `json:"hidden"` // Returns if the photo is hidden above the wall
+ Photo75 string `json:"photo_75"` // URL of image with 75 px width
+ Photo130 string `json:"photo_130"` // URL of image with 130 px width
+ Photo604 string `json:"photo_604"` // URL of image with 604 px width
+ Photo807 string `json:"photo_807"` // URL of image with 807 px width
+ Photo1280 string `json:"photo_1280"` // URL of image with 1280 px width
+ Photo2560 string `json:"photo_2560"` // URL of image with 2560 px width
+ Sizes []PhotosPhotoSizes `json:"sizes"`
+}
+
+// ToAttachment return attachment format.
+func (photo PhotosPhotoFull) ToAttachment() string {
+ return fmt.Sprintf("photo%d_%d", photo.OwnerID, photo.ID)
+}
+
+// MaxSize return the largest PhotosPhotoSizes.
+func (photo PhotosPhotoFull) MaxSize() (maxPhotoSize PhotosPhotoSizes) {
+ var max float64
+
+ for _, photoSize := range photo.Sizes {
+ size := photoSize.Height * photoSize.Width
+ if size > max {
+ max = size
+ maxPhotoSize = photoSize
+ }
+ }
+
+ return
+}
+
+// MinSize return the smallest PhotosPhotoSizes.
+func (photo PhotosPhotoFull) MinSize() (minPhotoSize PhotosPhotoSizes) {
+ var min float64
+
+ for _, photoSize := range photo.Sizes {
+ size := photoSize.Height * photoSize.Width
+ if size < min || min == 0 {
+ min = size
+ minPhotoSize = photoSize
+ }
+ }
+
+ return
+}
+
+// PhotosPhotoFullXtrRealOffset struct.
+type PhotosPhotoFullXtrRealOffset struct {
+ PhotosPhotoFull
+ RealOffset int `json:"real_offset"` // Real position of the photo
+}
+
+// PhotosPhotoSizes struct.
+type PhotosPhotoSizes struct {
+ // BUG(VK): json: cannot unmarshal number 180.000000 into Go struct field PhotosPhotoSizes.height of type int
+ BaseImage
+}
+
+// PhotosPhotoTag struct.
+type PhotosPhotoTag struct {
+ Date int `json:"date"` // Date when tag has been added in Unixtime
+ ID int `json:"id"` // Tag ID
+ PlacerID int `json:"placer_id"` // ID of the tag creator
+ TaggedName string `json:"tagged_name"` // Tag description
+ Description string `json:"description"` // Tagged description.
+ UserID int `json:"user_id"` // Tagged user ID
+ Viewed BaseBoolInt `json:"viewed"` // Information whether the tag is reviewed
+ X float64 `json:"x"` // Coordinate X of the left upper corner
+ X2 float64 `json:"x2"` // Coordinate X of the right lower corner
+ Y float64 `json:"y"` // Coordinate Y of the left upper corner
+ Y2 float64 `json:"y2"` // Coordinate Y of the right lower corner
+}
+
+// PhotosPhotoUpload struct.
+type PhotosPhotoUpload struct {
+ AlbumID int `json:"album_id"` // Album ID
+ UploadURL string `json:"upload_url"` // URL to upload photo
+ UserID int `json:"user_id"` // User ID
+}
+
+// PhotosPhotoUploadResponse struct.
+type PhotosPhotoUploadResponse struct {
+ AID int `json:"aid"` // Album ID
+ Hash string `json:"hash"` // Uploading hash
+ PhotosList string `json:"photos_list"` // Uploaded photos data
+ Server int `json:"server"` // Upload server number
+}
+
+// PhotosPhotoXtrRealOffset struct.
+type PhotosPhotoXtrRealOffset struct {
+ PhotosPhoto
+ RealOffset int `json:"real_offset"` // Real position of the photo
+}
+
+// PhotosPhotoXtrTagInfo struct.
+type PhotosPhotoXtrTagInfo struct {
+ PhotosPhoto
+ TagCreated int `json:"tag_created"` // Date when tag has been added in Unixtime
+ TagID int `json:"tag_id"` // Tag ID
+}
+
+// PhotosWallUploadResponse struct.
+type PhotosWallUploadResponse struct {
+ Hash string `json:"hash"` // Uploading hash
+ Photo string `json:"photo"` // Uploaded photo data
+ Server int `json:"server"` // Upload server number
+}