Skip to content

Commit

Permalink
fix: update recovery token field and column names
Browse files Browse the repository at this point in the history
  • Loading branch information
aeneasr committed Aug 30, 2020
1 parent 85b7fb1 commit 42abfa1
Show file tree
Hide file tree
Showing 16 changed files with 26 additions and 14 deletions.
@@ -0,0 +1,2 @@
INSERT INTO identity_recovery_tokens (id, token, used, used_at, identity_recovery_address_id, selfservice_recovery_flow_id, created_at, updated_at)
VALUES ('77ca3f5c-cd39-488b-9f1d-cc7166d14bdc', 'd4c66613-c4cd-47c7-8e26-a70ecc5f5b5f', false, null, 'b8293f1c-010f-45d9-b809-f3fc5365ba80', '13178936-095a-466b-abe0-36d977d3dc18', '2013-10-07 08:23:19', '2013-10-07 08:23:19');
@@ -0,0 +1 @@
ALTER TABLE "identity_recovery_tokens" RENAME COLUMN "selfservice_recovery_flow_id" TO "selfservice_recovery_request_id";COMMIT TRANSACTION;BEGIN TRANSACTION;
@@ -0,0 +1 @@
ALTER TABLE "identity_recovery_tokens" RENAME COLUMN "selfservice_recovery_request_id" TO "selfservice_recovery_flow_id";COMMIT TRANSACTION;BEGIN TRANSACTION;
@@ -0,0 +1 @@
ALTER TABLE `identity_recovery_tokens` CHANGE `selfservice_recovery_flow_id` `selfservice_recovery_request_id` char(36) NOT NULL;
@@ -0,0 +1 @@
ALTER TABLE `identity_recovery_tokens` CHANGE `selfservice_recovery_request_id` `selfservice_recovery_flow_id` char(36) NOT NULL;
@@ -0,0 +1 @@
ALTER TABLE "identity_recovery_tokens" RENAME COLUMN "selfservice_recovery_flow_id" TO "selfservice_recovery_request_id";
@@ -0,0 +1 @@
ALTER TABLE "identity_recovery_tokens" RENAME COLUMN "selfservice_recovery_request_id" TO "selfservice_recovery_flow_id";
@@ -0,0 +1 @@
ALTER TABLE "identity_recovery_tokens" RENAME COLUMN "selfservice_recovery_flow_id" TO "selfservice_recovery_request_id";
@@ -0,0 +1 @@
ALTER TABLE "identity_recovery_tokens" RENAME COLUMN "selfservice_recovery_request_id" TO "selfservice_recovery_flow_id";
@@ -0,0 +1 @@
rename_column("identity_recovery_tokens", "selfservice_recovery_flow_id", "selfservice_recovery_request_id")
@@ -0,0 +1 @@
rename_column("identity_recovery_tokens", "selfservice_recovery_request_id", "selfservice_recovery_flow_id")
2 changes: 1 addition & 1 deletion persistence/sql/persister_recovery.go
Expand Up @@ -97,7 +97,7 @@ func (p *Persister) UseRecoveryToken(ctx context.Context, token string) (*link.T
return nil, err
}

if rt.Request, err = p.GetRecoveryFlow(ctx, rt.RequestID); err != nil {
if rt.Flow, err = p.GetRecoveryFlow(ctx, rt.FlowID); err != nil {
return nil, err
}

Expand Down
10 changes: 5 additions & 5 deletions selfservice/strategy/link/persister_conformity.go
Expand Up @@ -43,7 +43,7 @@ func TestPersister(p interface {

require.NoError(t, p.CreateIdentity(context.Background(), &i))

return &Token{Token: x.NewUUID().String(), Request: &req, RecoveryAddress: &i.RecoveryAddresses[0]}
return &Token{Token: x.NewUUID().String(), Flow: &req, RecoveryAddress: &i.RecoveryAddresses[0]}
}

t.Run("case=should error when the recovery token does not exist", func(t *testing.T) {
Expand All @@ -65,10 +65,10 @@ func TestPersister(p interface {
assertx.EqualAsJSON(t, expected.RecoveryAddress, actual.RecoveryAddress)
assert.Equal(t, expected.RecoveryAddress.IdentityID, actual.RecoveryAddress.IdentityID)
assert.NotEqual(t, expected.Token, actual.Token)
assert.EqualValues(t, expected.Request.ID, actual.Request.ID)
assert.NotEmpty(t, actual.Request.Methods)
assert.NotEmpty(t, expected.Request.Methods)
assert.Len(t, actual.Request.Methods, len(expected.Request.Methods))
assert.EqualValues(t, expected.Flow.ID, actual.Flow.ID)
assert.NotEmpty(t, actual.Flow.Methods)
assert.NotEmpty(t, expected.Flow.Methods)
assert.Len(t, actual.Flow.Methods, len(expected.Flow.Methods))

_, err = p.UseRecoveryToken(context.Background(), expected.Token)
require.Error(t, err)
Expand Down
6 changes: 3 additions & 3 deletions selfservice/strategy/link/strategy.go
Expand Up @@ -408,12 +408,12 @@ func (s *Strategy) verifyToken(w http.ResponseWriter, r *http.Request, body *com
return
}

if err := token.Request.Valid(); err != nil {
s.handleError(w, r, token.Request, body, err)
if err := token.Flow.Valid(); err != nil {
s.handleError(w, r, token.Flow, body, err)
return
}

req := token.Request
req := token.Flow
req.Messages.Clear()
req.State = recovery.StatePassedChallenge
req.RecoveredIdentityID = uuid.NullUUID{UUID: token.RecoveryAddress.IdentityID, Valid: true}
Expand Down
2 changes: 1 addition & 1 deletion selfservice/strategy/link/strategy_test.go
Expand Up @@ -344,6 +344,6 @@ func TestStrategy(t *testing.T) {
require.NoError(t, err)

require.Len(t, sr.Payload.Messages, 1)
assert.Equal(t, "The recovery flow expired 0.00 minutes ago, please try again.", sr.Payload.Messages[0].Text)
assert.Contains(t, sr.Payload.Messages[0].Text, "The recovery flow expired")
})
}
8 changes: 4 additions & 4 deletions selfservice/strategy/link/token.go
Expand Up @@ -27,16 +27,16 @@ type Token struct {
RecoveryAddress *identity.RecoveryAddress `json:"recovery_address" belongs_to:"identity_recovery_addresses" fk_id:"RecoveryAddressID"`

// RecoveryAddress links this token to a recovery request.
Request *recovery.Flow `json:"request" belongs_to:"identity_recovery_requests" fk_id:"FlowID"`
Flow *recovery.Flow `json:"flow" belongs_to:"selfservice_recovery_flows" fk_id:"FlowID"`

// CreatedAt is a helper struct field for gobuffalo.pop.
CreatedAt time.Time `json:"-" faker:"-" db:"created_at"`
// UpdatedAt is a helper struct field for gobuffalo.pop.
UpdatedAt time.Time `json:"-" faker:"-" db:"updated_at"`
// RecoveryAddressID is a helper struct field for gobuffalo.pop.
RecoveryAddressID uuid.UUID `json:"-" faker:"-" db:"identity_recovery_address_id"`
// RequestID is a helper struct field for gobuffalo.pop.
RequestID uuid.UUID `json:"-" faker:"-" db:"selfservice_recovery_request_id"`
// FlowID is a helper struct field for gobuffalo.pop.
FlowID uuid.UUID `json:"-" faker:"-" db:"selfservice_recovery_flow_id"`
}

func (Token) TableName() string {
Expand All @@ -48,6 +48,6 @@ func NewToken(ra *identity.RecoveryAddress, req *recovery.Flow) *Token {
ID: x.NewUUID(),
Token: randx.MustString(32, randx.AlphaNum),
RecoveryAddress: ra,
Request: req,
Flow: req,
}
}

0 comments on commit 42abfa1

Please sign in to comment.