github.com/elopio/cli@v6.21.2-0.20160902224010-ea909d1fdb2f+incompatible/cf/api/strategy/domains.go (about) 1 package strategy 2 3 type DomainsEndpointStrategy interface { 4 OrgDomainURL(orgGUID, name string) string 5 SharedDomainURL(name string) string 6 PrivateDomainURL(name string) string 7 OrgDomainsURL(orgGUID string) string 8 PrivateDomainsURL() string 9 SharedDomainsURL() string 10 DeleteDomainURL(guid string) string 11 DeleteSharedDomainURL(guid string) string 12 PrivateDomainsByOrgURL(guid string) string 13 } 14 15 type domainsEndpointStrategy struct{} 16 17 func (s domainsEndpointStrategy) SharedDomainURL(name string) string { 18 return buildURL(v2("domains"), params{ 19 inlineRelationsDepth: 1, 20 q: map[string]string{"name": name}, 21 }) 22 } 23 24 func (s domainsEndpointStrategy) PrivateDomainURL(name string) string { 25 return buildURL(v2("domains"), params{ 26 inlineRelationsDepth: 1, 27 q: map[string]string{"name": name}, 28 }) 29 } 30 31 func (s domainsEndpointStrategy) OrgDomainsURL(orgGUID string) string { 32 return v2("organizations", orgGUID, "domains") 33 } 34 35 func (s domainsEndpointStrategy) OrgDomainURL(orgGUID, name string) string { 36 return buildURL(s.OrgDomainsURL(orgGUID), params{ 37 inlineRelationsDepth: 1, 38 q: map[string]string{"name": name}, 39 }) 40 } 41 42 func (s domainsEndpointStrategy) PrivateDomainsURL() string { 43 return v2("domains") 44 } 45 46 func (s domainsEndpointStrategy) SharedDomainsURL() string { 47 return v2("domains") 48 } 49 50 func (s domainsEndpointStrategy) PrivateDomainsByOrgURL(orgGUID string) string { 51 return v2("domains") 52 } 53 54 func (s domainsEndpointStrategy) DeleteDomainURL(guid string) string { 55 return buildURL(v2("domains", guid), params{recursive: true}) 56 } 57 58 func (s domainsEndpointStrategy) DeleteSharedDomainURL(guid string) string { 59 return buildURL(v2("domains", guid), params{recursive: true}) 60 } 61 62 type separatedDomainsEndpointStrategy struct{} 63 64 func (s separatedDomainsEndpointStrategy) SharedDomainURL(name string) string { 65 return buildURL(v2("shared_domains"), params{ 66 q: map[string]string{"name": name}, 67 }) 68 } 69 70 func (s separatedDomainsEndpointStrategy) PrivateDomainURL(name string) string { 71 return buildURL(v2("private_domains"), params{ 72 q: map[string]string{"name": name}, 73 }) 74 } 75 76 func (s separatedDomainsEndpointStrategy) OrgDomainsURL(orgGUID string) string { 77 return v2("organizations", orgGUID, "private_domains") 78 } 79 80 func (s separatedDomainsEndpointStrategy) OrgDomainURL(orgGUID, name string) string { 81 return buildURL(s.OrgDomainsURL(orgGUID), params{ 82 q: map[string]string{"name": name}, 83 }) 84 } 85 func (s separatedDomainsEndpointStrategy) PrivateDomainsURL() string { 86 return v2("private_domains") 87 } 88 89 func (s separatedDomainsEndpointStrategy) SharedDomainsURL() string { 90 return v2("shared_domains") 91 } 92 93 func (s separatedDomainsEndpointStrategy) PrivateDomainsByOrgURL(orgGUID string) string { 94 return v2("organizations", orgGUID, "private_domains") 95 } 96 97 func (s separatedDomainsEndpointStrategy) DeleteDomainURL(guid string) string { 98 return buildURL(v2("private_domains", guid), params{recursive: true}) 99 } 100 101 func (s separatedDomainsEndpointStrategy) DeleteSharedDomainURL(guid string) string { 102 return buildURL(v2("shared_domains", guid), params{recursive: true}) 103 }