package sresponse import ( "net/http" "git.sendico.io/tech/sxchnge/bff/edge/shared/auth/browser" "git.sendico.io/tech/sxchnge/bff/pkg/api/http/response" "git.sendico.io/tech/sxchnge/bff/pkg/mlogger" "git.sendico.io/tech/sxchnge/bff/pkg/model" ) type loginResponse struct { accountResponse RefreshToken TokenData `json:"refreshToken"` } func Login(logger mlogger.Logger, account *model.Account, accessToken, refreshToken *TokenData) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { responseRefreshToken := *refreshToken if browser.UsesCookie(r) { browser.SetRefreshCookie(w, r, refreshToken.Token, refreshToken.Expiration) responseRefreshToken.Token = "" } response.Ok( logger, &loginResponse{ accountResponse: accountResponse{ Account: *NewAccountData(account), authResponse: authResponse{AccessToken: *accessToken}, }, RefreshToken: responseRefreshToken, }, ).ServeHTTP(w, r) } }