From 64f85fdc6cd1fa735e3bf34de8c6e543d9e14667 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Mon, 21 Jun 2021 01:01:16 +0800 Subject: [PATCH] Fix get null object bug. --- controllers/auth.go | 2 +- object/application.go | 4 ++++ object/organization.go | 4 ++++ object/provider.go | 4 ++++ object/token.go | 4 ++++ object/user.go | 4 ++++ web/src/auth/LoginPage.js | 11 +++++++++++ 7 files changed, 32 insertions(+), 1 deletion(-) diff --git a/controllers/auth.go b/controllers/auth.go index 46a2f6a9..06bcb86c 100644 --- a/controllers/auth.go +++ b/controllers/auth.go @@ -183,8 +183,8 @@ func (c *ApiController) Login() { resp = c.HandleLoggedIn(application, user, &form) } } else if form.Provider != "" { - organization := object.GetOrganization(fmt.Sprintf("%s/%s", "admin", form.Organization)) application := object.GetApplication(fmt.Sprintf("admin/%s", form.Application)) + organization := object.GetOrganization(fmt.Sprintf("%s/%s", "admin", application.Organization)) provider := object.GetProvider(fmt.Sprintf("admin/%s", form.Provider)) providerItem := application.GetProviderItem(provider.Name) diff --git a/object/application.go b/object/application.go index 27119efa..547b7de9 100644 --- a/object/application.go +++ b/object/application.go @@ -83,6 +83,10 @@ func extendApplicationWithOrg(application *Application) { } func getApplication(owner string, name string) *Application { + if owner == "" || name == "" { + return nil + } + application := Application{Owner: owner, Name: name} existed, err := adapter.Engine.Get(&application) if err != nil { diff --git a/object/organization.go b/object/organization.go index 9b099d7d..b048120a 100644 --- a/object/organization.go +++ b/object/organization.go @@ -44,6 +44,10 @@ func GetOrganizations(owner string) []*Organization { } func getOrganization(owner string, name string) *Organization { + if owner == "" || name == "" { + return nil + } + organization := Organization{Owner: owner, Name: name} existed, err := adapter.Engine.Get(&organization) if err != nil { diff --git a/object/provider.go b/object/provider.go index e30e2695..6c272c09 100644 --- a/object/provider.go +++ b/object/provider.go @@ -67,6 +67,10 @@ func GetProviders(owner string) []*Provider { } func getProvider(owner string, name string) *Provider { + if owner == "" || name == "" { + return nil + } + provider := Provider{Owner: owner, Name: name} existed, err := adapter.Engine.Get(&provider) if err != nil { diff --git a/object/token.go b/object/token.go index b32056ea..821c2f70 100644 --- a/object/token.go +++ b/object/token.go @@ -60,6 +60,10 @@ func GetTokens(owner string) []*Token { } func getToken(owner string, name string) *Token { + if owner == "" || name == "" { + return nil + } + token := Token{Owner: owner, Name: name} existed, err := adapter.Engine.Get(&token) if err != nil { diff --git a/object/user.go b/object/user.go index 9b499f33..55d0688c 100644 --- a/object/user.go +++ b/object/user.go @@ -78,6 +78,10 @@ func GetUsers(owner string) []*User { } func getUser(owner string, name string) *User { + if owner == "" || name == "" { + return nil + } + user := User{Owner: owner, Name: name} existed, err := adapter.Engine.Get(&user) if err != nil { diff --git a/web/src/auth/LoginPage.js b/web/src/auth/LoginPage.js index adfdb964..fc4fedb3 100644 --- a/web/src/auth/LoginPage.js +++ b/web/src/auth/LoginPage.js @@ -234,6 +234,17 @@ class LoginPage extends React.Component { style={{width: "250px"}} size="large" > + +