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