app.go
changeset 80 d6e8807818c4
parent 67 1ff7afce37fe
child 83 adc39ae774c0
--- a/app.go	Wed Apr 12 14:25:53 2017 +0200
+++ b/app.go	Wed Apr 12 14:26:28 2017 +0200
@@ -7,13 +7,7 @@
 	"strings"
 )
 
-var (
-	ourScopes = []string{
-		"read",
-		"write",
-		"follow",
-	}
-)
+var ()
 
 type registerApp struct {
 	ID           string `json:"id"`
@@ -21,9 +15,17 @@
 	ClientSecret string `json:"client_secret"`
 }
 
-func registerApplication(name string, scopes []string, redirectURI, baseURL string) (g *Gondole, err error) {
-	g = &Gondole{
+// NewApp registers a new instance
+func NewApp(name string, scopes []string, redirectURI, baseURL string) (g *Client, err error) {
+	var endpoint string
+
+	if baseURL != "" {
+		endpoint = baseURL
+	}
+
+	g = &Client{
 		Name: name,
+		APIBase: endpoint,
 	}
 
 	req := g.prepareRequest("apps")
@@ -47,54 +49,16 @@
 	if err != nil {
 		log.Fatalf("error can not register app: %v", err)
 	}
-	g.ID = resp.ClientID
-	g.Secret = resp.ClientSecret
 
-	server := &Server{
-		ID:          g.ID,
-		Name:        name,
-		BearerToken: g.Secret,
-		BaseURL:     baseURL,
-	}
-	err = server.WriteToken(name)
 	if err != nil {
 		log.Fatalf("error: can not write token for %s", name)
 	}
-	return
-}
 
-// NewApp registers a new instance
-func NewApp(name string, scopes []string, redirectURI, baseURL  string) (g *Gondole, err error) {
-
-	if baseURL != "" {
-		APIEndpoint = baseURL
-	}
-
-	// Load configuration, will register if none is found
-	cnf, err := LoadConfig(name)
-	if err != nil {
-		// Nothing exist yet
-		cnf := Config{
-			Default: name,
-		}
-		err = cnf.Write()
-		if err != nil {
-			log.Fatalf("error: can not write config for %s", name)
-		}
-
-		// Now register this through OAuth
-		if scopes == nil {
-			scopes = ourScopes
-		}
-
-		g, err = registerApplication(name, scopes, redirectURI, baseURL)
-
-	} else {
-		g = &Gondole{
-			Name:   cnf.Name,
-			ID:     cnf.ID,
-			Secret: cnf.BearerToken,
-		}
+	g = &Client{
+		Name:    name,
+		ID:      resp.ClientID,
+		Secret:  resp.ClientSecret,
+		APIBase: endpoint,
 	}
 
 	return