Skip to content

Commit 8212e81

Browse files
committed
[server] common util for couchbase syntax
1 parent 642581e commit 8212e81

File tree

6 files changed

+29
-31
lines changed

6 files changed

+29
-31
lines changed

server/db/providers/couchbase/email_template.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,11 @@ func (p *provider) UpdateEmailTemplate(ctx context.Context, emailTemplate models
7070
func (p *provider) ListEmailTemplate(ctx context.Context, pagination model.Pagination) (*model.EmailTemplates, error) {
7171
emailTemplates := []*model.EmailTemplate{}
7272
paginationClone := pagination
73-
74-
_, paginationClone.Total = p.GetTotalDocs(ctx, models.Collections.EmailTemplate)
75-
73+
total, err := p.GetTotalDocs(ctx, models.Collections.EmailTemplate)
74+
if err != nil {
75+
return nil, err
76+
}
77+
paginationClone.Total = total
7678
userQuery := fmt.Sprintf("SELECT _id, event_name, subject, design, template, created_at, updated_at FROM %s.%s ORDER BY _id OFFSET $1 LIMIT $2", p.scopeName, models.Collections.EmailTemplate)
7779

7880
queryResult, err := p.db.Query(userQuery, &gocb.QueryOptions{

server/db/providers/couchbase/shared.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func GetSetFields(webhookMap map[string]interface{}) (string, map[string]interfa
4444
return updateFields, params
4545
}
4646

47-
func (p *provider) GetTotalDocs(ctx context.Context, collection string) (error, int64) {
47+
func (p *provider) GetTotalDocs(ctx context.Context, collection string) (int64, error) {
4848
totalDocs := TotalDocs{}
4949

5050
countQuery := fmt.Sprintf("SELECT COUNT(*) as Total FROM %s.%s", p.scopeName, collection)
@@ -55,9 +55,9 @@ func (p *provider) GetTotalDocs(ctx context.Context, collection string) (error,
5555
queryRes.One(&totalDocs)
5656

5757
if err != nil {
58-
return err, totalDocs.Total
58+
return totalDocs.Total, err
5959
}
60-
return nil, totalDocs.Total
60+
return totalDocs.Total, nil
6161
}
6262

6363
type TotalDocs struct {

server/db/providers/couchbase/user.go

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,14 @@ func (p *provider) ListUsers(ctx context.Context, pagination model.Pagination) (
7777
Context: ctx,
7878
PositionalParameters: []interface{}{paginationClone.Offset, paginationClone.Limit},
7979
})
80-
81-
_, paginationClone.Total = p.GetTotalDocs(ctx, models.Collections.User)
82-
8380
if err != nil {
8481
return nil, err
8582
}
86-
83+
total, err := p.GetTotalDocs(ctx, models.Collections.User)
84+
if err != nil {
85+
return nil, err
86+
}
87+
paginationClone.Total = total
8788
for queryResult.Next() {
8889
var user models.User
8990
err := queryResult.Row(&user)
@@ -92,12 +93,9 @@ func (p *provider) ListUsers(ctx context.Context, pagination model.Pagination) (
9293
}
9394
users = append(users, user.AsAPIUser())
9495
}
95-
9696
if err := queryResult.Err(); err != nil {
9797
return nil, err
98-
9998
}
100-
10199
return &model.Users{
102100
Pagination: &paginationClone,
103101
Users: users,
@@ -150,10 +148,8 @@ func (p *provider) GetUserByID(ctx context.Context, id string) (models.User, err
150148
func (p *provider) UpdateUsers(ctx context.Context, data map[string]interface{}, ids []string) error {
151149
// set updated_at time for all users
152150
data["updated_at"] = time.Now().Unix()
153-
154151
updateFields, params := GetSetFields(data)
155-
156-
if ids != nil && len(ids) > 0 {
152+
if len(ids) > 0 {
157153
for _, id := range ids {
158154
params["id"] = id
159155
userQuery := fmt.Sprintf("UPDATE %s.%s SET %s WHERE _id = $id", p.scopeName, models.Collections.User, updateFields)

server/db/providers/couchbase/verification_requests.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,17 @@ func (p *provider) GetVerificationRequestByEmail(ctx context.Context, email stri
8383
func (p *provider) ListVerificationRequests(ctx context.Context, pagination model.Pagination) (*model.VerificationRequests, error) {
8484
var verificationRequests []*model.VerificationRequest
8585
paginationClone := pagination
86-
87-
_, paginationClone.Total = p.GetTotalDocs(ctx, models.Collections.VerificationRequest)
88-
86+
total, err := p.GetTotalDocs(ctx, models.Collections.VerificationRequest)
87+
if err != nil {
88+
return nil, err
89+
}
90+
paginationClone.Total = total
8991
query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM %s.%s OFFSET $1 LIMIT $2", p.scopeName, models.Collections.VerificationRequest)
9092
queryResult, err := p.db.Query(query, &gocb.QueryOptions{
9193
Context: ctx,
9294
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
9395
PositionalParameters: []interface{}{paginationClone.Offset, paginationClone.Limit},
9496
})
95-
9697
if err != nil {
9798
return nil, err
9899
}
@@ -104,7 +105,6 @@ func (p *provider) ListVerificationRequests(ctx context.Context, pagination mode
104105
}
105106
verificationRequests = append(verificationRequests, verificationRequest.AsAPIVerificationRequest())
106107
}
107-
108108
if err := queryResult.Err(); err != nil {
109109
return nil, err
110110

server/db/providers/couchbase/webhook.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,17 @@ func (p *provider) ListWebhook(ctx context.Context, pagination model.Pagination)
7676
params := make(map[string]interface{}, 1)
7777
params["offset"] = paginationClone.Offset
7878
params["limit"] = paginationClone.Limit
79-
79+
total, err := p.GetTotalDocs(ctx, models.Collections.Webhook)
80+
if err != nil {
81+
return nil, err
82+
}
83+
paginationClone.Total = total
8084
query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM %s.%s OFFSET $offset LIMIT $limit", p.scopeName, models.Collections.Webhook)
81-
82-
_, paginationClone.Total = p.GetTotalDocs(ctx, models.Collections.Webhook)
83-
8485
queryResult, err := p.db.Query(query, &gocb.QueryOptions{
8586
Context: ctx,
8687
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
8788
NamedParameters: params,
8889
})
89-
9090
if err != nil {
9191
return nil, err
9292
}
@@ -98,10 +98,8 @@ func (p *provider) ListWebhook(ctx context.Context, pagination model.Pagination)
9898
}
9999
webhooks = append(webhooks, webhook.AsAPIWebhook())
100100
}
101-
102101
if err := queryResult.Err(); err != nil {
103102
return nil, err
104-
105103
}
106104
return &model.Webhooks{
107105
Pagination: &paginationClone,

server/db/providers/couchbase/webhook_log.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@ func (p *provider) ListWebhookLogs(ctx context.Context, pagination model.Paginat
4545
params["webhookID"] = webhookID
4646
params["offset"] = paginationClone.Offset
4747
params["limit"] = paginationClone.Limit
48-
49-
_, paginationClone.Total = p.GetTotalDocs(ctx, models.Collections.WebhookLog)
50-
48+
total, err := p.GetTotalDocs(ctx, models.Collections.WebhookLog)
49+
if err != nil {
50+
return nil, err
51+
}
52+
paginationClone.Total = total
5153
if webhookID != "" {
5254
query = fmt.Sprintf(`SELECT _id, http_status, response, request, webhook_id, created_at, updated_at FROM %s.%s WHERE webhook_id=$webhookID`, p.scopeName, models.Collections.WebhookLog)
5355
} else {

0 commit comments

Comments
 (0)