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  }