From f926ef682de637b717d3b0cc0eaee43c59e83c95 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 17 Aug 2024 18:59:55 +0900 Subject: feat(backend): allow login/signup with email address --- backend/auth/fortee/fortee.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'backend/auth/fortee/fortee.go') diff --git a/backend/auth/fortee/fortee.go b/backend/auth/fortee/fortee.go index 7f9d816..25ca9c5 100644 --- a/backend/auth/fortee/fortee.go +++ b/backend/auth/fortee/fortee.go @@ -14,25 +14,29 @@ var ( ErrLoginFailed = errors.New("fortee login failed") ) -func LoginFortee(ctx context.Context, username string, password string) error { +func LoginFortee(ctx context.Context, username string, password string) (string, error) { client, err := NewClientWithResponses(apiEndpoint, WithRequestEditorFn(addAcceptHeader)) if err != nil { - return err + return "", err } res, err := client.PostLoginWithFormdataBodyWithResponse(ctx, PostLoginFormdataRequestBody{ Username: username, Password: password, }) if err != nil { - return err + return "", err } if res.StatusCode() != http.StatusOK { - return ErrLoginFailed + return "", ErrLoginFailed } - if !res.JSON200.LoggedIn { - return ErrLoginFailed + resOk := res.JSON200 + if !resOk.LoggedIn { + return "", ErrLoginFailed } - return nil + if resOk.User == nil { + return "", ErrLoginFailed + } + return resOk.User.Username, nil } // fortee API denies requests without Accept header. -- cgit v1.2.3-70-g09d2