Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [unreleased]

### Breaking Changes

- Renamed `GetSessionData` to `GetSessionDataInDatabase` to clarify that it always hits the DB
- Renamed `GetSessionDataWithContext` to `GetSessionDataInDatabaseWithContext` to clarify that it always hits the DB
- Renamed `UpdateSessionData` to `UpdateSessionDataInDatabase`
- Renamed `UpdateSessionDataWithContext` to `UpdateSessionDataInDatabaseWithContext` to clarify that it always hits the DB
- Renamed `SessionData` to `SessionDataInDatabase` in `SessionInformation`
- Renamed `sessionData` to `sessionDataInDatabase` in the input to `CreateNewSession`

## [0.10.5] - 2023-03-31

- Adds search APIs to the dashboard recipe
Expand Down
2 changes: 1 addition & 1 deletion examples/with-chi-oso/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (s *service) Sessioninfo(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("no session found"))
return
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
err = supertokens.ErrorHandler(err, r, w)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion examples/with-chi/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ func sessioninfo(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("no session found"))
return
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
err = supertokens.ErrorHandler(err, r, w)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion examples/with-fiber/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ func sessioninfo(c *fiber.Ctx) error {
if sessionContainer == nil {
return c.Status(500).JSON("no session found")
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
return c.Status(500).JSON(err.Error())
}
Expand Down
2 changes: 1 addition & 1 deletion examples/with-gin/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func sessioninfo(c *gin.Context) {
c.JSON(500, "no session found")
return
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
err = supertokens.ErrorHandler(err, c.Request, c.Writer)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion examples/with-go-zero/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func sessioninfo(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("no session found"))
return
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
err = supertokens.ErrorHandler(err, r, w)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion examples/with-http/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ func sessioninfo(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("no session found"))
return
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
err = supertokens.ErrorHandler(err, r, w)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion examples/with-labstack-echo/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ func sessioninfo(c echo.Context) error {
if sessionContainer == nil {
return errors.New("no session found")
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
err = supertokens.ErrorHandler(err, c.Request(), c.Response())
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion examples/with-mux/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ func sessioninfo(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("no session found"))
return
}
sessionData, err := sessionContainer.GetSessionData()
sessionData, err := sessionContainer.GetSessionDataInDatabase()
if err != nil {
err = supertokens.ErrorHandler(err, r, w)
if err != nil {
Expand Down
24 changes: 12 additions & 12 deletions recipe/dashboard/api/userdetails/userSessionsGet.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ import (
)

type SessionType struct {
SessionData interface{} `json:"sessionData"`
AccessTokenPayload interface{} `json:"accessTokenPayload"`
UserId string `json:"userId"`
Expiry uint64 `json:"expiry"`
TimeCreated uint64 `json:"timeCreated"`
SessionHandle string `json:"sessionHandle"`
SessionDataInDatabase interface{} `json:"sessionDataInDatabase"`
AccessTokenPayload interface{} `json:"accessTokenPayload"`
UserId string `json:"userId"`
Expiry uint64 `json:"expiry"`
TimeCreated uint64 `json:"timeCreated"`
SessionHandle string `json:"sessionHandle"`
}

type userSessionsGetResponse struct {
Expand Down Expand Up @@ -74,12 +74,12 @@ func UserSessionsGet(apiInterface dashboardmodels.APIInterface, options dashboar

if sessionResponse != nil {
sessions = append(sessions, SessionType{
SessionData: sessionResponse.SessionData,
AccessTokenPayload: sessionResponse.AccessTokenPayload,
UserId: sessionResponse.UserId,
Expiry: sessionResponse.Expiry,
TimeCreated: sessionResponse.TimeCreated,
SessionHandle: sessionResponse.SessionHandle,
SessionDataInDatabase: sessionResponse.SessionDataInDatabase,
AccessTokenPayload: sessionResponse.AccessTokenPayload,
UserId: sessionResponse.UserId,
Expiry: sessionResponse.Expiry,
TimeCreated: sessionResponse.TimeCreated,
SessionHandle: sessionResponse.SessionHandle,
})
}

Expand Down
4 changes: 2 additions & 2 deletions recipe/emailpassword/userContext_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,13 +82,13 @@ func TestDefaultUserContext(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
originalCreateNewSession := *originalImplementation.CreateNewSession
newCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
newCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
if _default, ok := (*userContext)["_default"].(map[string]interface{}); ok {
if _, ok := _default["request"].(*http.Request); ok {
createNewSessionContextWorks = true
}
}
return originalCreateNewSession(req, res, userID, accessTokenPayload, sessionData, userContext)
return originalCreateNewSession(req, res, userID, accessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = newCreateNewSession
return originalImplementation
Expand Down
4 changes: 2 additions & 2 deletions recipe/session/claimsWithJWT_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func TestJWTShouldCreateRightAccessTokenPayloadWithClaims(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
oCreateNewSession := *originalImplementation.CreateNewSession
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
if accessTokenPayload == nil {
accessTokenPayload = map[string]interface{}{}
}
Expand All @@ -44,7 +44,7 @@ func TestJWTShouldCreateRightAccessTokenPayloadWithClaims(t *testing.T) {
if err != nil {
return nil, err
}
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionData, userContext)
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = nCreateNewSession
return originalImplementation
Expand Down
12 changes: 6 additions & 6 deletions recipe/session/createNewSession_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,13 @@ func TestCreateAccessTokenPayloadWithSessionClaims(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
oCreateNewSession := *originalImplementation.CreateNewSession
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
trueClaim, _ := TrueClaim()
accessTokenPayload, err := trueClaim.Build(userID, accessTokenPayload, userContext)
if err != nil {
return nil, err
}
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionData, userContext)
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = nCreateNewSession
return originalImplementation
Expand Down Expand Up @@ -99,13 +99,13 @@ func TestNotCreateAccessTokenPayloadWithNilClaim(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
oCreateNewSession := *originalImplementation.CreateNewSession
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nilClaim, _ := NilClaim()
accessTokenPayload, err := nilClaim.Build(userID, accessTokenPayload, userContext)
if err != nil {
return nil, err
}
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionData, userContext)
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = nCreateNewSession
return originalImplementation
Expand Down Expand Up @@ -178,7 +178,7 @@ func TestMergeClaimsAndPassedAccessTokenPayload(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
oCreateNewSession := *originalImplementation.CreateNewSession
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nAccessTokenPayload := map[string]interface{}{}
for k, v := range accessTokenPayload {
nAccessTokenPayload[k] = v
Expand All @@ -191,7 +191,7 @@ func TestMergeClaimsAndPassedAccessTokenPayload(t *testing.T) {
for k, v := range customClaims {
nAccessTokenPayload[k] = v
}
return oCreateNewSession(req, res, userID, nAccessTokenPayload, sessionData, userContext)
return oCreateNewSession(req, res, userID, nAccessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = nCreateNewSession
return originalImplementation
Expand Down
12 changes: 6 additions & 6 deletions recipe/session/getClaimValue_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ func TestGetClaimValueReturnsRightValue(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
oCreateNewSession := *originalImplementation.CreateNewSession
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
trueClaim, _ := TrueClaim()
accessTokenPayload, err := trueClaim.Build(userID, accessTokenPayload, userContext)
if err != nil {
return nil, err
}
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionData, userContext)
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = nCreateNewSession
return originalImplementation
Expand Down Expand Up @@ -79,13 +79,13 @@ func TestGetClaimValueFromHandleReturnsRightValue(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
oCreateNewSession := *originalImplementation.CreateNewSession
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
trueClaim, _ := TrueClaim()
accessTokenPayload, err := trueClaim.Build(userID, accessTokenPayload, userContext)
if err != nil {
return nil, err
}
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionData, userContext)
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = nCreateNewSession
return originalImplementation
Expand Down Expand Up @@ -133,13 +133,13 @@ func TestGetClaimValueForNonExistantSessionhandle(t *testing.T) {
Override: &sessmodels.OverrideStruct{
Functions: func(originalImplementation sessmodels.RecipeInterface) sessmodels.RecipeInterface {
oCreateNewSession := *originalImplementation.CreateNewSession
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
nCreateNewSession := func(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
trueClaim, _ := TrueClaim()
accessTokenPayload, err := trueClaim.Build(userID, accessTokenPayload, userContext)
if err != nil {
return nil, err
}
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionData, userContext)
return oCreateNewSession(req, res, userID, accessTokenPayload, sessionDataInDatabase, userContext)
}
*originalImplementation.CreateNewSession = nCreateNewSession
return originalImplementation
Expand Down
16 changes: 8 additions & 8 deletions recipe/session/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func Init(config *sessmodels.TypeInput) supertokens.Recipe {
return recipeInit(config)
}

func CreateNewSessionWithContext(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
func CreateNewSessionWithContext(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
instance, err := getRecipeInstanceOrThrowError()
if err != nil {
return nil, err
Expand All @@ -50,7 +50,7 @@ func CreateNewSessionWithContext(req *http.Request, res http.ResponseWriter, use
}
}

return (*instance.RecipeImpl.CreateNewSession)(req, res, userID, finalAccessTokenPayload, sessionData, userContext)
return (*instance.RecipeImpl.CreateNewSession)(req, res, userID, finalAccessTokenPayload, sessionDataInDatabase, userContext)
}

func GetSessionWithContext(req *http.Request, res http.ResponseWriter, options *sessmodels.VerifySessionOptions, userContext supertokens.UserContext) (sessmodels.SessionContainer, error) {
Expand Down Expand Up @@ -128,12 +128,12 @@ func RevokeMultipleSessionsWithContext(sessionHandles []string, userContext supe
return (*instance.RecipeImpl.RevokeMultipleSessions)(sessionHandles, userContext)
}

func UpdateSessionDataWithContext(sessionHandle string, newSessionData map[string]interface{}, userContext supertokens.UserContext) (bool, error) {
func UpdateSessionDataInDatabaseWithContext(sessionHandle string, newSessionData map[string]interface{}, userContext supertokens.UserContext) (bool, error) {
instance, err := getRecipeInstanceOrThrowError()
if err != nil {
return false, err
}
return (*instance.RecipeImpl.UpdateSessionData)(sessionHandle, newSessionData, userContext)
return (*instance.RecipeImpl.UpdateSessionDataInDatabase)(sessionHandle, newSessionData, userContext)
}

// Deprecated: use MergeIntoAccessTokenPayloadWithContext instead
Expand Down Expand Up @@ -335,8 +335,8 @@ func GetSessionFromRequestContext(ctx context.Context) sessmodels.SessionContain
return temp
}

func CreateNewSession(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionData map[string]interface{}) (sessmodels.SessionContainer, error) {
return CreateNewSessionWithContext(req, res, userID, accessTokenPayload, sessionData, &map[string]interface{}{})
func CreateNewSession(req *http.Request, res http.ResponseWriter, userID string, accessTokenPayload map[string]interface{}, sessionDataInDatabase map[string]interface{}) (sessmodels.SessionContainer, error) {
return CreateNewSessionWithContext(req, res, userID, accessTokenPayload, sessionDataInDatabase, &map[string]interface{}{})
}

func GetSession(req *http.Request, res http.ResponseWriter, options *sessmodels.VerifySessionOptions) (sessmodels.SessionContainer, error) {
Expand Down Expand Up @@ -367,8 +367,8 @@ func RevokeMultipleSessions(sessionHandles []string) ([]string, error) {
return RevokeMultipleSessionsWithContext(sessionHandles, &map[string]interface{}{})
}

func UpdateSessionData(sessionHandle string, newSessionData map[string]interface{}) (bool, error) {
return UpdateSessionDataWithContext(sessionHandle, newSessionData, &map[string]interface{}{})
func UpdateSessionDataInDatabase(sessionHandle string, newSessionData map[string]interface{}) (bool, error) {
return UpdateSessionDataInDatabaseWithContext(sessionHandle, newSessionData, &map[string]interface{}{})
}

// Deprecated: use MergeIntoAccessTokenPayload instead
Expand Down
Loading