Skip to content

Commit 674296c

Browse files
committed
Merge branch 'master' of github.com:muety/wakapi
2 parents c86419f + a75f177 commit 674296c

26 files changed

+5870
-5477
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ pkged.go
1313
package-lock.json
1414
node_modules
1515
.DS_Store
16+
.venv
17+
venv

coverage/coverage.out

Lines changed: 5622 additions & 5444 deletions
Large diffs are not rendered by default.

main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,14 +175,14 @@ func main() {
175175
// Services
176176
mailService = mail.NewMailService()
177177
aliasService = services.NewAliasService(aliasRepository)
178-
userService = services.NewUserService(mailService, userRepository)
178+
keyValueService = services.NewKeyValueService(keyValueRepository)
179+
userService = services.NewUserService(keyValueService, mailService, userRepository)
179180
languageMappingService = services.NewLanguageMappingService(languageMappingRepository)
180181
projectLabelService = services.NewProjectLabelService(projectLabelRepository)
181182
heartbeatService = services.NewHeartbeatService(heartbeatRepository, languageMappingService)
182183
durationService = services.NewDurationService(heartbeatService)
183184
summaryService = services.NewSummaryService(summaryRepository, heartbeatService, durationService, aliasService, projectLabelService)
184185
aggregationService = services.NewAggregationService(userService, summaryService, heartbeatService)
185-
keyValueService = services.NewKeyValueService(keyValueRepository)
186186
reportService = services.NewReportService(summaryService, userService, mailService)
187187
activityService = services.NewActivityService(summaryService)
188188
diagnosticsService = services.NewDiagnosticsService(diagnosticsRepository)

mocks/alias_repository.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
)
77

88
type AliasRepositoryMock struct {
9+
BaseRepositoryMock
910
mock.Mock
1011
}
1112

mocks/base_repository.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package mocks
2+
3+
import (
4+
"github.com/stretchr/testify/mock"
5+
)
6+
7+
type BaseRepositoryMock struct {
8+
mock.Mock
9+
}
10+
11+
func (m *BaseRepositoryMock) GetDialector() string {
12+
args := m.Called()
13+
return args.Get(0).(string)
14+
}
15+
16+
func (m *BaseRepositoryMock) GetTableDDLMysql(s string) (string, error) {
17+
args := m.Called(s)
18+
return args.Get(0).(string), args.Error(1)
19+
}
20+
21+
func (m *BaseRepositoryMock) GetTableDDLSqlite(s string) (string, error) {
22+
args := m.Called(s)
23+
return args.Get(0).(string), args.Error(1)
24+
}

mocks/key_value_service.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,8 @@ func (m *KeyValueServiceMock) DeleteString(s string) error {
3333
args := m.Called(s)
3434
return args.Error(0)
3535
}
36+
37+
func (m *KeyValueServiceMock) ReplaceKeySuffix(s1, s2 string) error {
38+
args := m.Called(s1, s2)
39+
return args.Error(0)
40+
}

mocks/summary_repository.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
)
88

99
type SummaryRepositoryMock struct {
10+
BaseRepositoryMock
1011
mock.Mock
1112
}
1213

mocks/user_service.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ func (m *UserServiceMock) GenerateResetToken(user *models.User) (*models.User, e
109109
return args.Get(0).(*models.User), args.Error(1)
110110
}
111111

112+
func (m *UserServiceMock) ChangeUserId(user *models.User, s1 string) (*models.User, error) {
113+
args := m.Called(user, s1)
114+
return args.Get(0).(*models.User), args.Error(1)
115+
}
116+
112117
func (m *UserServiceMock) FlushCache() {
113118
m.Called()
114119
}

repositories/alias.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import (
77
)
88

99
type AliasRepository struct {
10-
db *gorm.DB
10+
BaseRepository
1111
}
1212

1313
func NewAliasRepository(db *gorm.DB) *AliasRepository {
14-
return &AliasRepository{db: db}
14+
return &AliasRepository{BaseRepository: NewBaseRepository(db)}
1515
}
1616

1717
func (r *AliasRepository) GetAll() ([]*models.Alias, error) {

repositories/base.go

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package repositories
2+
3+
import (
4+
"errors"
5+
"gorm.io/gorm"
6+
)
7+
8+
type BaseRepository struct {
9+
db *gorm.DB
10+
}
11+
12+
func NewBaseRepository(db *gorm.DB) BaseRepository {
13+
return BaseRepository{db: db}
14+
}
15+
16+
func (r *BaseRepository) GetDialector() string {
17+
return r.db.Dialector.Name()
18+
}
19+
20+
func (r *BaseRepository) GetTableDDLMysql(tableName string) (result string, err error) {
21+
if dialector := r.GetDialector(); dialector == "sqlite" || dialector == "sqlite3" {
22+
err = r.db.Raw("show create table ?", tableName).Scan(&result).Error
23+
} else {
24+
err = errors.New("not a mysql database")
25+
}
26+
return result, err
27+
}
28+
29+
func (r *BaseRepository) GetTableDDLSqlite(tableName string) (result string, err error) {
30+
if dialector := r.GetDialector(); dialector == "sqlite" || dialector == "sqlite3" {
31+
err = r.db.Table("sqlite_master").
32+
Select("sql").
33+
Where("type = ?", "table").
34+
Where("name = ?", tableName).
35+
Take(&result).Error
36+
} else {
37+
err = errors.New("not an sqlite database")
38+
}
39+
return result, err
40+
}

0 commit comments

Comments
 (0)