Skip to content

Commit 15a4be5

Browse files
committed
fix: refs for db provider and few utils
1 parent 146561b commit 15a4be5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+394
-533
lines changed

server/db/providers/arangodb/email_template.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
)
1313

1414
// AddEmailTemplate to add EmailTemplate
15-
func (p *provider) AddEmailTemplate(ctx context.Context, emailTemplate models.EmailTemplate) (*model.EmailTemplate, error) {
15+
func (p *provider) AddEmailTemplate(ctx context.Context, emailTemplate *models.EmailTemplate) (*model.EmailTemplate, error) {
1616
if emailTemplate.ID == "" {
1717
emailTemplate.ID = uuid.New().String()
1818
emailTemplate.Key = emailTemplate.ID
@@ -31,7 +31,7 @@ func (p *provider) AddEmailTemplate(ctx context.Context, emailTemplate models.Em
3131
}
3232

3333
// UpdateEmailTemplate to update EmailTemplate
34-
func (p *provider) UpdateEmailTemplate(ctx context.Context, emailTemplate models.EmailTemplate) (*model.EmailTemplate, error) {
34+
func (p *provider) UpdateEmailTemplate(ctx context.Context, emailTemplate *models.EmailTemplate) (*model.EmailTemplate, error) {
3535
emailTemplate.UpdatedAt = time.Now().Unix()
3636

3737
emailTemplateCollection, _ := p.db.Collection(ctx, models.Collections.EmailTemplate)
@@ -46,23 +46,20 @@ func (p *provider) UpdateEmailTemplate(ctx context.Context, emailTemplate models
4646
}
4747

4848
// ListEmailTemplates to list EmailTemplate
49-
func (p *provider) ListEmailTemplate(ctx context.Context, pagination model.Pagination) (*model.EmailTemplates, error) {
49+
func (p *provider) ListEmailTemplate(ctx context.Context, pagination *model.Pagination) (*model.EmailTemplates, error) {
5050
emailTemplates := []*model.EmailTemplate{}
51-
5251
query := fmt.Sprintf("FOR d in %s SORT d.created_at DESC LIMIT %d, %d RETURN d", models.Collections.EmailTemplate, pagination.Offset, pagination.Limit)
53-
5452
sctx := arangoDriver.WithQueryFullCount(ctx)
5553
cursor, err := p.db.Query(sctx, query, nil)
5654
if err != nil {
5755
return nil, err
5856
}
5957
defer cursor.Close()
60-
6158
paginationClone := pagination
6259
paginationClone.Total = cursor.Statistics().FullCount()
6360

6461
for {
65-
var emailTemplate models.EmailTemplate
62+
var emailTemplate *models.EmailTemplate
6663
meta, err := cursor.ReadDocument(ctx, &emailTemplate)
6764

6865
if arangoDriver.IsNoMoreDocuments(err) {
@@ -77,14 +74,14 @@ func (p *provider) ListEmailTemplate(ctx context.Context, pagination model.Pagin
7774
}
7875

7976
return &model.EmailTemplates{
80-
Pagination: &paginationClone,
77+
Pagination: paginationClone,
8178
EmailTemplates: emailTemplates,
8279
}, nil
8380
}
8481

8582
// GetEmailTemplateByID to get EmailTemplate by id
8683
func (p *provider) GetEmailTemplateByID(ctx context.Context, emailTemplateID string) (*model.EmailTemplate, error) {
87-
var emailTemplate models.EmailTemplate
84+
var emailTemplate *models.EmailTemplate
8885
query := fmt.Sprintf("FOR d in %s FILTER d._key == @email_template_id RETURN d", models.Collections.EmailTemplate)
8986
bindVars := map[string]interface{}{
9087
"email_template_id": emailTemplateID,
@@ -113,7 +110,7 @@ func (p *provider) GetEmailTemplateByID(ctx context.Context, emailTemplateID str
113110

114111
// GetEmailTemplateByEventName to get EmailTemplate by event_name
115112
func (p *provider) GetEmailTemplateByEventName(ctx context.Context, eventName string) (*model.EmailTemplate, error) {
116-
var emailTemplate models.EmailTemplate
113+
var emailTemplate *models.EmailTemplate
117114
query := fmt.Sprintf("FOR d in %s FILTER d.event_name == @event_name RETURN d", models.Collections.EmailTemplate)
118115
bindVars := map[string]interface{}{
119116
"event_name": eventName,

server/db/providers/arangodb/env.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
)
1313

1414
// AddEnv to save environment information in database
15-
func (p *provider) AddEnv(ctx context.Context, env models.Env) (models.Env, error) {
15+
func (p *provider) AddEnv(ctx context.Context, env *models.Env) (*models.Env, error) {
1616
if env.ID == "" {
1717
env.ID = uuid.New().String()
1818
env.Key = env.ID
@@ -31,7 +31,7 @@ func (p *provider) AddEnv(ctx context.Context, env models.Env) (models.Env, erro
3131
}
3232

3333
// UpdateEnv to update environment information in database
34-
func (p *provider) UpdateEnv(ctx context.Context, env models.Env) (models.Env, error) {
34+
func (p *provider) UpdateEnv(ctx context.Context, env *models.Env) (*models.Env, error) {
3535
env.UpdatedAt = time.Now().Unix()
3636
collection, _ := p.db.Collection(ctx, models.Collections.Env)
3737
meta, err := collection.UpdateDocument(ctx, env.Key, env)
@@ -45,8 +45,8 @@ func (p *provider) UpdateEnv(ctx context.Context, env models.Env) (models.Env, e
4545
}
4646

4747
// GetEnv to get environment information from database
48-
func (p *provider) GetEnv(ctx context.Context) (models.Env, error) {
49-
var env models.Env
48+
func (p *provider) GetEnv(ctx context.Context) (*models.Env, error) {
49+
var env *models.Env
5050
query := fmt.Sprintf("FOR d in %s RETURN d", models.Collections.Env)
5151

5252
cursor, err := p.db.Query(ctx, query, nil)

server/db/providers/arangodb/session.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
)
1010

1111
// AddSession to save session information in database
12-
func (p *provider) AddSession(ctx context.Context, session models.Session) error {
12+
func (p *provider) AddSession(ctx context.Context, session *models.Session) error {
1313
if session.ID == "" {
1414
session.ID = uuid.New().String()
1515
session.Key = session.ID

server/db/providers/arangodb/user.go

Lines changed: 12 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
)
1919

2020
// AddUser to save user information in database
21-
func (p *provider) AddUser(ctx context.Context, user models.User) (models.User, error) {
21+
func (p *provider) AddUser(ctx context.Context, user *models.User) (*models.User, error) {
2222
if user.ID == "" {
2323
user.ID = uuid.New().String()
2424
user.Key = user.ID
@@ -52,7 +52,7 @@ func (p *provider) AddUser(ctx context.Context, user models.User) (models.User,
5252
}
5353

5454
// UpdateUser to update user information in database
55-
func (p *provider) UpdateUser(ctx context.Context, user models.User) (models.User, error) {
55+
func (p *provider) UpdateUser(ctx context.Context, user *models.User) (*models.User, error) {
5656
user.UpdatedAt = time.Now().Unix()
5757

5858
collection, _ := p.db.Collection(ctx, models.Collections.User)
@@ -67,7 +67,7 @@ func (p *provider) UpdateUser(ctx context.Context, user models.User) (models.Use
6767
}
6868

6969
// DeleteUser to delete user information from database
70-
func (p *provider) DeleteUser(ctx context.Context, user models.User) error {
70+
func (p *provider) DeleteUser(ctx context.Context, user *models.User) error {
7171
collection, _ := p.db.Collection(ctx, models.Collections.User)
7272
_, err := collection.RemoveDocument(ctx, user.Key)
7373
if err != nil {
@@ -88,7 +88,7 @@ func (p *provider) DeleteUser(ctx context.Context, user models.User) error {
8888
}
8989

9090
// ListUsers to get list of users from database
91-
func (p *provider) ListUsers(ctx context.Context, pagination model.Pagination) (*model.Users, error) {
91+
func (p *provider) ListUsers(ctx context.Context, pagination *model.Pagination) (*model.Users, error) {
9292
var users []*model.User
9393
sctx := arangoDriver.WithQueryFullCount(ctx)
9494

@@ -104,41 +104,36 @@ func (p *provider) ListUsers(ctx context.Context, pagination model.Pagination) (
104104
paginationClone.Total = cursor.Statistics().FullCount()
105105

106106
for {
107-
var user models.User
107+
var user *models.User
108108
meta, err := cursor.ReadDocument(ctx, &user)
109-
110109
if arangoDriver.IsNoMoreDocuments(err) {
111110
break
112111
} else if err != nil {
113112
return nil, err
114113
}
115-
116114
if meta.Key != "" {
117115
users = append(users, user.AsAPIUser())
118116
}
119117
}
120118

121119
return &model.Users{
122-
Pagination: &paginationClone,
120+
Pagination: paginationClone,
123121
Users: users,
124122
}, nil
125123
}
126124

127125
// GetUserByEmail to get user information from database using email address
128-
func (p *provider) GetUserByEmail(ctx context.Context, email string) (models.User, error) {
129-
var user models.User
130-
126+
func (p *provider) GetUserByEmail(ctx context.Context, email string) (*models.User, error) {
127+
var user *models.User
131128
query := fmt.Sprintf("FOR d in %s FILTER d.email == @email RETURN d", models.Collections.User)
132129
bindVars := map[string]interface{}{
133130
"email": email,
134131
}
135-
136132
cursor, err := p.db.Query(ctx, query, bindVars)
137133
if err != nil {
138134
return user, err
139135
}
140136
defer cursor.Close()
141-
142137
for {
143138
if !cursor.HasMore() {
144139
if user.Key == "" {
@@ -151,25 +146,21 @@ func (p *provider) GetUserByEmail(ctx context.Context, email string) (models.Use
151146
return user, err
152147
}
153148
}
154-
155149
return user, nil
156150
}
157151

158152
// GetUserByID to get user information from database using user ID
159-
func (p *provider) GetUserByID(ctx context.Context, id string) (models.User, error) {
160-
var user models.User
161-
153+
func (p *provider) GetUserByID(ctx context.Context, id string) (*models.User, error) {
154+
var user *models.User
162155
query := fmt.Sprintf("FOR d in %s FILTER d._id == @id LIMIT 1 RETURN d", models.Collections.User)
163156
bindVars := map[string]interface{}{
164157
"id": id,
165158
}
166-
167159
cursor, err := p.db.Query(ctx, query, bindVars)
168160
if err != nil {
169161
return user, err
170162
}
171163
defer cursor.Close()
172-
173164
for {
174165
if !cursor.HasMore() {
175166
if user.Key == "" {
@@ -182,7 +173,6 @@ func (p *provider) GetUserByID(ctx context.Context, id string) (models.User, err
182173
return user, err
183174
}
184175
}
185-
186176
return user, nil
187177
}
188178

@@ -191,12 +181,10 @@ func (p *provider) GetUserByID(ctx context.Context, id string) (models.User, err
191181
func (p *provider) UpdateUsers(ctx context.Context, data map[string]interface{}, ids []string) error {
192182
// set updated_at time for all users
193183
data["updated_at"] = time.Now().Unix()
194-
195184
userInfoBytes, err := json.Marshal(data)
196185
if err != nil {
197186
return err
198187
}
199-
200188
query := ""
201189
if len(ids) > 0 {
202190
keysArray := ""
@@ -209,30 +197,25 @@ func (p *provider) UpdateUsers(ctx context.Context, data map[string]interface{},
209197
} else {
210198
query = fmt.Sprintf("FOR u IN %s UPDATE u._key with %s IN %s", models.Collections.User, string(userInfoBytes), models.Collections.User)
211199
}
212-
213200
_, err = p.db.Query(ctx, query, nil)
214201
if err != nil {
215202
return err
216203
}
217-
218204
return nil
219205
}
220206

221207
// GetUserByPhoneNumber to get user information from database using phone number
222208
func (p *provider) GetUserByPhoneNumber(ctx context.Context, phoneNumber string) (*models.User, error) {
223-
var user models.User
224-
209+
var user *models.User
225210
query := fmt.Sprintf("FOR d in %s FILTER d.phone_number == @phone_number RETURN d", models.Collections.User)
226211
bindVars := map[string]interface{}{
227212
"phone_number": phoneNumber,
228213
}
229-
230214
cursor, err := p.db.Query(ctx, query, bindVars)
231215
if err != nil {
232216
return nil, err
233217
}
234218
defer cursor.Close()
235-
236219
for {
237220
if !cursor.HasMore() {
238221
if user.Key == "" {
@@ -245,6 +228,5 @@ func (p *provider) GetUserByPhoneNumber(ctx context.Context, phoneNumber string)
245228
return nil, err
246229
}
247230
}
248-
249-
return &user, nil
231+
return user, nil
250232
}

server/db/providers/arangodb/verification_requests.go

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212
)
1313

1414
// AddVerification to save verification request in database
15-
func (p *provider) AddVerificationRequest(ctx context.Context, verificationRequest models.VerificationRequest) (models.VerificationRequest, error) {
15+
func (p *provider) AddVerificationRequest(ctx context.Context, verificationRequest *models.VerificationRequest) (*models.VerificationRequest, error) {
1616
if verificationRequest.ID == "" {
1717
verificationRequest.ID = uuid.New().String()
1818
verificationRequest.Key = verificationRequest.ID
@@ -32,8 +32,8 @@ func (p *provider) AddVerificationRequest(ctx context.Context, verificationReque
3232
}
3333

3434
// GetVerificationRequestByToken to get verification request from database using token
35-
func (p *provider) GetVerificationRequestByToken(ctx context.Context, token string) (models.VerificationRequest, error) {
36-
var verificationRequest models.VerificationRequest
35+
func (p *provider) GetVerificationRequestByToken(ctx context.Context, token string) (*models.VerificationRequest, error) {
36+
var verificationRequest *models.VerificationRequest
3737
query := fmt.Sprintf("FOR d in %s FILTER d.token == @token LIMIT 1 RETURN d", models.Collections.VerificationRequest)
3838
bindVars := map[string]interface{}{
3939
"token": token,
@@ -62,8 +62,8 @@ func (p *provider) GetVerificationRequestByToken(ctx context.Context, token stri
6262
}
6363

6464
// GetVerificationRequestByEmail to get verification request by email from database
65-
func (p *provider) GetVerificationRequestByEmail(ctx context.Context, email string, identifier string) (models.VerificationRequest, error) {
66-
var verificationRequest models.VerificationRequest
65+
func (p *provider) GetVerificationRequestByEmail(ctx context.Context, email string, identifier string) (*models.VerificationRequest, error) {
66+
var verificationRequest *models.VerificationRequest
6767

6868
query := fmt.Sprintf("FOR d in %s FILTER d.email == @email FILTER d.identifier == @identifier LIMIT 1 RETURN d", models.Collections.VerificationRequest)
6969
bindVars := map[string]interface{}{
@@ -94,22 +94,19 @@ func (p *provider) GetVerificationRequestByEmail(ctx context.Context, email stri
9494
}
9595

9696
// ListVerificationRequests to get list of verification requests from database
97-
func (p *provider) ListVerificationRequests(ctx context.Context, pagination model.Pagination) (*model.VerificationRequests, error) {
97+
func (p *provider) ListVerificationRequests(ctx context.Context, pagination *model.Pagination) (*model.VerificationRequests, error) {
9898
var verificationRequests []*model.VerificationRequest
9999
sctx := arangoDriver.WithQueryFullCount(ctx)
100100
query := fmt.Sprintf("FOR d in %s SORT d.created_at DESC LIMIT %d, %d RETURN d", models.Collections.VerificationRequest, pagination.Offset, pagination.Limit)
101-
102101
cursor, err := p.db.Query(sctx, query, nil)
103102
if err != nil {
104103
return nil, err
105104
}
106105
defer cursor.Close()
107-
108106
paginationClone := pagination
109107
paginationClone.Total = cursor.Statistics().FullCount()
110-
111108
for {
112-
var verificationRequest models.VerificationRequest
109+
var verificationRequest *models.VerificationRequest
113110
meta, err := cursor.ReadDocument(ctx, &verificationRequest)
114111

115112
if arangoDriver.IsNoMoreDocuments(err) {
@@ -126,12 +123,12 @@ func (p *provider) ListVerificationRequests(ctx context.Context, pagination mode
126123

127124
return &model.VerificationRequests{
128125
VerificationRequests: verificationRequests,
129-
Pagination: &paginationClone,
126+
Pagination: paginationClone,
130127
}, nil
131128
}
132129

133130
// DeleteVerificationRequest to delete verification request from database
134-
func (p *provider) DeleteVerificationRequest(ctx context.Context, verificationRequest models.VerificationRequest) error {
131+
func (p *provider) DeleteVerificationRequest(ctx context.Context, verificationRequest *models.VerificationRequest) error {
135132
collection, _ := p.db.Collection(ctx, models.Collections.VerificationRequest)
136133
_, err := collection.RemoveDocument(ctx, verificationRequest.Key)
137134
if err != nil {

0 commit comments

Comments
 (0)