| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package test
- import (
- "errors"
- "github.com/porter-dev/porter/internal/models"
- "github.com/porter-dev/porter/internal/repository"
- "gorm.io/gorm"
- )
- // PWResetTokenRepository uses gorm.DB for querying the database
- type PWResetTokenRepository struct {
- canQuery bool
- pwResetTokens []*models.PWResetToken
- }
- // NewPWResetTokenRepository returns a PWResetTokenRepository which uses
- // gorm.DB for querying the database
- func NewPWResetTokenRepository(canQuery bool) repository.PWResetTokenRepository {
- return &PWResetTokenRepository{canQuery, []*models.PWResetToken{}}
- }
- // CreatePWResetToken creates a new invite
- func (repo *PWResetTokenRepository) CreatePWResetToken(a *models.PWResetToken) (*models.PWResetToken, error) {
- if !repo.canQuery {
- return nil, errors.New("Cannot write database")
- }
- repo.pwResetTokens = append(repo.pwResetTokens, a)
- a.ID = uint(len(repo.pwResetTokens))
- return a, nil
- }
- // ReadPWResetToken gets an auth code object specified by the unique code
- func (repo *PWResetTokenRepository) ReadPWResetToken(id uint) (*models.PWResetToken, error) {
- if !repo.canQuery {
- return nil, errors.New("Cannot read from database")
- }
- if int(id-1) >= len(repo.pwResetTokens) || repo.pwResetTokens[id-1] == nil {
- return nil, gorm.ErrRecordNotFound
- }
- index := int(id - 1)
- return repo.pwResetTokens[index], nil
- }
- // UpdatePWResetToken modifies an existing PWResetToken in the database
- func (repo *PWResetTokenRepository) UpdatePWResetToken(
- pwToken *models.PWResetToken,
- ) (*models.PWResetToken, error) {
- if !repo.canQuery {
- return nil, errors.New("Cannot write database")
- }
- if int(pwToken.ID-1) >= len(repo.pwResetTokens) || repo.pwResetTokens[pwToken.ID-1] == nil {
- return nil, gorm.ErrRecordNotFound
- }
- index := int(pwToken.ID - 1)
- repo.pwResetTokens[index] = pwToken
- return pwToken, nil
- }
|