func RegisterDropbox(req *http.Request, render render.Render, registerDropboxForm RegisterDropboxForm, account *models.Account, logger *middlewares.Logger, ds *appx.Datastore) { logger.Infof("You are in register dropbox") authorization := &models.ExternalServiceAuthorization{ AuthorizationType: models.DropBox, AccessToken: registerDropboxForm.AccessToken, UserId: models.DropBox.String() + "-" + registerDropboxForm.UserId, } authorization.SetParentKey(account.Key()) err := ds.Load(authorization) if err != nil { println("I failed you becasue: %v", err.Error()) } exists := err == nil if err := ds.Save(authorization); err != nil { logger.Errorf("Unable to register for dropbox %v", err) render.JSON(http.StatusInternalServerError, "Unable to register dropbox") return } if exists { DropboxDelta(req, ds, account, authorization) } else { DropboxInit(req, ds, account, authorization) } render.Status(http.StatusOK) }
func Login(render render.Render, loginForm LoginForm, logger *middlewares.Logger, db *appx.Datastore, request *http.Request) { existingAccount := &models.Account{Id: loginForm.Id} if err := db.Load(existingAccount); err == nil { render.JSON(http.StatusOK, existingAccount) return } account := models.Accounts.New(loginForm.Id) if err := db.Save(account); err != nil { logger.Errorf("Error while trying to login for account by id: %v", err.Error()) render.JSON(http.StatusBadRequest, err.Error()) return } render.JSON(http.StatusCreated, account) }