github.com/jasonkeene/cli@v6.14.1-0.20160816203908-ca5715166dfb+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  }