videolibrary_get.go raw
1 package bunny
2
3 import (
4 "context"
5 "fmt"
6 )
7
8 // VideoLibrary represents the response of the List and Get Video Library API endpoint.
9 //
10 // Bunny.net API docs: https://docs.bunny.net/reference/videolibrarypublic_index2 https://docs.bunny.net/reference/videolibrarypublic_index
11 type VideoLibrary struct {
12 ID *int64 `json:"Id,omitempty"`
13
14 Name *string `json:"Name,omitempty"`
15 VideoCount *int64 `json:"VideoCount,omitempty"`
16 TrafficUsage *int64 `json:"TrafficUsage,omitempty"`
17 StorageUsage *int64 `json:"StorageUsage,omitempty"`
18 DateCreated *string `json:"DateCreated,omitempty"`
19 ReplicationRegions []string `json:"ReplicationRegions,omitempty"`
20 APIKey *string `json:"ApiKey,omitempty"`
21 ReadOnlyAPIKey *string `json:"ReadOnlyApiKey,omitempty"`
22 HasWatermark *bool `json:"HasWatermark,omitempty"`
23
24 WatermarkPositionLeft *int32 `json:"WatermarkPositionLeft,omitempty"`
25 WatermarkPositionTop *int32 `json:"WatermarkPositionTop,omitempty"`
26 WatermarkWidth *int32 `json:"WatermarkWidth,omitempty"`
27 PullZoneID *int64 `json:"PullZoneId,omitempty"`
28 StorageZoneID *int64 `json:"StorageZoneId,omitempty"`
29 WatermarkHeight *int32 `json:"WatermarkHeight,omitempty"`
30 EnabledResolutions *string `json:"EnabledResolutions,omitempty"`
31
32 ViAiPublisherID *string `json:"ViAiPublisherId,omitempty"`
33 VastTagURL *string `json:"VastTagUrl,omitempty"`
34 WebhookURL *string `json:"WebhookUrl,omitempty"`
35 CaptionsFontSize *int32 `json:"CaptionsFontSize,omitempty"`
36 CaptionsFontColor *string `json:"CaptionsFontColor,omitempty"`
37 CaptionsBackground *string `json:"CaptionsBackground,omitempty"`
38 UILanguage *string `json:"UILanguage,omitempty"`
39 AllowEarlyPlay *bool `json:"AllowEarlyPlay,omitempty"`
40 PlayerTokenAuthenticationEnabled *bool `json:"PlayerTokenAuthenticationEnabled,omitempty"`
41 AllowedReferrers []string `json:"AllowedReferrers,omitempty"`
42 BlockedReferrers []string `json:"BlockedReferrers,omitempty"`
43 BlockNoneReferrer *bool `json:"BlockNoneReferrer,omitempty"`
44 EnableMP4Fallback *bool `json:"EnableMP4Fallback,omitempty"`
45 KeepOriginalFiles *bool `json:"KeepOriginalFiles,omitempty"`
46 AllowDirectPlay *bool `json:"AllowDirectPlay,omitempty"`
47 EnableDRM *bool `json:"EnableDRM,omitempty"`
48 Bitrate240p *int32 `json:"Bitrate240p,omitempty"`
49 Bitrate360p *int32 `json:"Bitrate360p,omitempty"`
50 Bitrate480p *int32 `json:"Bitrate480p,omitempty"`
51 Bitrate720p *int32 `json:"Bitrate720p,omitempty"`
52 Bitrate1080p *int32 `json:"Bitrate1080p,omitempty"`
53 Bitrate1440p *int32 `json:"Bitrate1440p,omitempty"`
54 Bitrate2160p *int32 `json:"Bitrate2160p,omitempty"`
55 APIAccessKey *string `json:"ApiAccessKey,omitempty"`
56 ShowHeatmap *bool `json:"ShowHeatmap,omitempty"`
57 EnableContentTagging *bool `json:"EnableContentTagging,omitempty"`
58 PullZoneType *int32 `json:"PullZoneType,omitempty"`
59 CustomHTML *string `json:"CustomHTML,omitempty"`
60 Controls *string `json:"Controls,omitempty"`
61 PlayerKeyColor *string `json:"PlayerKeyColor,omitempty"`
62 FontFamily *string `json:"FontFamily,omitempty"`
63 }
64
65 // VideoLibraryGetOpts represents optional query parameters available when Getting or Listing Video Libraries.
66 type VideoLibraryGetOpts struct {
67 IncludeAccessKey bool `url:"includeAccessKey"`
68 }
69
70 // Get retrieves the Video Library with the given id.
71 //
72 // Bunny.net API docs: https://docs.bunny.net/reference/videolibrarypublic_index2
73 func (s *VideoLibraryService) Get(ctx context.Context, id int64, opts *VideoLibraryGetOpts) (*VideoLibrary, error) {
74 path := fmt.Sprintf("videolibrary/%d", id)
75 return resourceGet[VideoLibrary](ctx, s.client, path, opts)
76 }
77