| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package test
- import (
- "errors"
- "github.com/porter-dev/porter/internal/models"
- "github.com/porter-dev/porter/internal/repository"
- "gorm.io/gorm"
- )
- // GitActionConfigRepository uses gorm.DB for querying the database
- type GitActionConfigRepository struct {
- canQuery bool
- gitActionConfigs []*models.GitActionConfig
- }
- func NewGitActionConfigRepository(canQuery bool) repository.GitActionConfigRepository {
- return &GitActionConfigRepository{
- canQuery,
- []*models.GitActionConfig{},
- }
- }
- // CreateGitActionConfig creates a new git repo
- func (repo *GitActionConfigRepository) CreateGitActionConfig(gac *models.GitActionConfig) (*models.GitActionConfig, error) {
- if !repo.canQuery {
- return nil, errors.New("Cannot write database")
- }
- repo.gitActionConfigs = append(repo.gitActionConfigs, gac)
- gac.ID = uint(len(repo.gitActionConfigs))
- return gac, nil
- }
- // ReadGitActionConfig gets a git repo specified by a unique id
- func (repo *GitActionConfigRepository) ReadGitActionConfig(id uint) (*models.GitActionConfig, error) {
- if !repo.canQuery {
- return nil, errors.New("Cannot read from database")
- }
- if int(id-1) >= len(repo.gitActionConfigs) || repo.gitActionConfigs[id-1] == nil {
- return nil, gorm.ErrRecordNotFound
- }
- index := int(id - 1)
- return repo.gitActionConfigs[index], nil
- }
- func (repo *GitActionConfigRepository) UpdateGitActionConfig(gac *models.GitActionConfig) error {
- if !repo.canQuery {
- return errors.New("Cannot write database")
- }
- if int(gac.ID-1) >= len(repo.gitActionConfigs) || repo.gitActionConfigs[gac.ID-1] == nil {
- return gorm.ErrRecordNotFound
- }
- index := int(gac.ID - 1)
- repo.gitActionConfigs[index] = gac
- return nil
- }
|