tmdb - company.go
1 package tmdb
2
3 import (
4 "fmt"
5 "net/url"
6 )
7
8 // CompanyDetails represents all of the details of a company
9 type CompanyDetails struct {
10 Description string `json:"description"`
11 Headquarters string `json:"headquarters"`
12 Homepage string `json:"homepage"`
13 ID int64 `json:"id"`
14 LogoPath string `json:"logo_path"`
15 Name string `json:"name"`
16 OriginCountry string `json:"origin_country"`
17 ParentCompany *CompanyDetails `json:"parent_company"`
18 }
19
20 // CompanyDetails retrieves company's details by id
21 func (t *TMDB) CompanyDetails(id int64) (*CompanyDetails, error) {
22 c := new(CompanyDetails)
23 if err := t.get(c, fmt.Sprintf("/3/company/%d", id), url.Values{}); err != nil {
24 return nil, err
25 }
26 return c, nil
27 }
28
29 // CompanyAlternativeNames represents a list of alternative name for a company
30 type CompanyAlternativeNames struct {
31 ID int64 `json:"id"`
32 Results []struct {
33 Name string `json:"name"`
34 Type string `json:"type"`
35 } `json:"results"`
36 }
37
38 // CompanyAlternativeNames retrieves the alternative name for a company
39 func (t *TMDB) CompanyAlternativeNames(id int64) (*CompanyAlternativeNames, error) {
40 c := new(CompanyAlternativeNames)
41 if err := t.get(c, fmt.Sprintf("/3/company/%d/alternative_names", id), url.Values{}); err != nil {
42 return nil, err
43 }
44 return c, nil
45 }
46
47 // CompanyImages represents a list of logos for a company
48 type CompanyImages struct {
49 ID int64 `json:"id"`
50 Logos []Image `json:"logos"`
51 }
52
53 // CompanyImages retrieves the logos for a company
54 func (t *TMDB) CompanyImages(id int64) (*CompanyImages, error) {
55 c := new(CompanyImages)
56 if err := t.get(c, fmt.Sprintf("/3/company/%d/images", id), url.Values{}); err != nil {
57 return nil, err
58 }
59 return c, nil
60 }