add response structs
diff --git a/api.go b/api.go
index 63a9a29..d740efb 100644
--- a/api.go
+++ b/api.go
@@ -48,6 +48,84 @@
Type string `json:"type"`
}
+type Attribute struct {
+ Name string `json:"name"`
+ Value string `json:"value"`
+ kind string `json:"kind"`
+}
+
+type ClientIdDetails struct {
+ ClientId string `json:"clientId"`
+ ClientSecret string `json:"clientSecret"`
+ RedirectUris []string `json:"redirectUris"`
+ Status string `json:"status"`
+ Attributes []Attribute `json:"attributes"`
+}
+
+type DeveloperDetails struct {
+ Id string `json:"id"`
+ UserName string `json:"userName"`
+ FirstName string `json:"firstName"`
+ LastName string `json:"lastName"`
+ Email string `json:"email"`
+ Status string `json:"status"`
+ Apps []string `json:"apps"`
+ CreatedAt int `json:"createdAt"`
+ CreatedBy string `json:"createdBy"`
+ LastModifiedAt int `json:"lastModifiedAt"`
+ LastModifiedBy string `json:"lastModifiedBy"`
+ Company string `json:"company"`
+ Attributes []Attribute `json:"attributes"`
+}
+
+type CompanyDetails struct {
+ Id string `json:"id"`
+ Name string `json:"name"`
+ DisplayName string `json:"displayName"`
+ Status string `json:"status"`
+ Apps []string `json:"apps"`
+ CreatedAt int `json:"createdAt"`
+ CreatedBy string `json:"createdBy"`
+ LastModifiedAt int `json:"lastModifiedAt"`
+ LastModifiedBy string `json:"lastModifiedBy"`
+ Attributes []Attribute `json:"attributes"`
+}
+
+type AppDetails struct {
+ Id string `json:"id"`
+ Name string `json:"name"`
+ AccessType string `json:"accessType"`
+ CallbackUrl string `json:"callbackUrl"`
+ DisplayName string `json:"displayName"`
+ Status string `json:"status"`
+ ApiProducts []string `json:"apiProducts"`
+ AppFamily string `json:"appFamily"`
+ CreatedAt int `json:"createdAt"`
+ CreatedBy string `json:"createdBy"`
+ LastModifiedAt int `json:"lastModifiedAt"`
+ LastModifiedBy string `json:"lastModifiedBy"`
+ Company string `json:"company"`
+ Attributes []Attribute `json:"attributes"`
+}
+
+type ApiProductDetails struct {
+ Id string `json:"id"`
+ Name string `json:"name"`
+ DisplayName string `json:"displayName"`
+ QuotaLimit int `json:"quotaLimit"`
+ QuotaInterval int `json:"quotaInterval"`
+ QuotaTimeUnit int `json:"quotaTimeUnit"`
+ Status string `json:"status"`
+ CreatedAt int `json:"createdAt"`
+ CreatedBy string `json:"createdBy"`
+ LastModifiedAt int `json:"lastModifiedAt"`
+ LastModifiedBy string `json:"lastModifiedBy"`
+ Company string `json:"company"`
+ Environments []string `json:"environments"`
+ ApiProxies []string `json:"apiProxies"`
+ Attributes []Attribute `json:"attributes"`
+}
+
// handle client API
func handleRequest(w http.ResponseWriter, r *http.Request) {
@@ -66,9 +144,10 @@
}
f := r.Form
- elems := []string{"action", "key", "uriPath", "scopeuuid"}
+ elems := []string{"action", "key", "uriPath", "organizationName", "environmentName", "apiProxyName"}
for _, elem := range elems {
- if f.Get(elem) == "" {
+ if _, ok := f[elem]; !ok {
+ log.Debug("Input params Incomplete: " + elem)
w.WriteHeader(http.StatusBadRequest)
w.Write([]byte(fmt.Sprintf("Missing element: %s", elem)))
return
@@ -91,14 +170,16 @@
// returns []byte to be written to client
func verifyAPIKey(f url.Values) ([]byte, error) {
- key := f.Get("key")
- scopeuuid := f.Get("scopeuuid")
- path := f.Get("uriPath")
action := f.Get("action")
+ key := f.Get("key")
+ path := f.Get("uriPath")
+ organizationName := f.Get("organizationName")
+ environmentName := f.Get("environmentName")
+ apiProxyName := f.Get("apiProxyName")
+ validateAgainstApiProxiesAndEnvs := f.Get("validateAgainstApiProxiesAndEnvs")
+ if action != "verify" {
- if key == "" || scopeuuid == "" || path == "" || action != "verify" {
- log.Debug("Input params Invalid/Incomplete")
- reason := "Input Params Incomplete or Invalid"
+ reason := "action must be 'verify'"
errorCode := "INCORRECT_USER_INPUT"
return errorResponse(reason, errorCode)
}