@@ -10,41 +10,40 @@ import (
1010 "go.mongodb.org/mongo-driver/mongo/options"
1111)
1212
13- // SMS verification Request
13+ // UpsertSMSRequest adds/updates SMS verification request
1414func (p * provider ) UpsertSMSRequest (ctx context.Context , smsRequest * models.SMSVerificationRequest ) (* models.SMSVerificationRequest , error ) {
15- smsVerificationRequest , _ := p .GetCodeByPhone (ctx , smsRequest .PhoneNumber )
15+ smsVerificationRequest , err := p .GetCodeByPhone (ctx , smsRequest .PhoneNumber )
16+ if err != nil {
17+ return nil , err
18+ }
19+ // Boolean to check if we should create a new record or update the existing one
1620 shouldCreate := false
17-
1821 if smsVerificationRequest == nil {
1922 id := uuid .NewString ()
20-
2123 smsVerificationRequest = & models.SMSVerificationRequest {
22- ID : id ,
23- CreatedAt : time .Now ().Unix (),
24- Code : smsRequest .Code ,
25- PhoneNumber : smsRequest .PhoneNumber ,
24+ ID : id ,
25+ CreatedAt : time .Now ().Unix (),
26+ Code : smsRequest .Code ,
27+ PhoneNumber : smsRequest .PhoneNumber ,
2628 CodeExpiresAt : smsRequest .CodeExpiresAt ,
2729 }
2830 shouldCreate = true
2931 }
30-
32+
3133 smsVerificationRequest .UpdatedAt = time .Now ().Unix ()
3234 smsRequestCollection := p .db .Collection (models .Collections .SMSVerificationRequest , options .Collection ())
33-
34- var err error
3535 if shouldCreate {
3636 _ , err = smsRequestCollection .InsertOne (ctx , smsVerificationRequest )
3737 } else {
3838 _ , err = smsRequestCollection .UpdateOne (ctx , bson.M {"phone_number" : bson.M {"$eq" : smsRequest .PhoneNumber }}, bson.M {"$set" : smsVerificationRequest }, options .MergeUpdateOptions ())
3939 }
40-
4140 if err != nil {
4241 return nil , err
4342 }
44-
4543 return smsVerificationRequest , nil
4644}
4745
46+ // GetCodeByPhone to get code for a given phone number
4847func (p * provider ) GetCodeByPhone (ctx context.Context , phoneNumber string ) (* models.SMSVerificationRequest , error ) {
4948 var smsVerificationRequest models.SMSVerificationRequest
5049
@@ -58,6 +57,7 @@ func (p *provider) GetCodeByPhone(ctx context.Context, phoneNumber string) (*mod
5857 return & smsVerificationRequest , nil
5958}
6059
60+ // DeleteSMSRequest to delete SMS verification request
6161func (p * provider ) DeleteSMSRequest (ctx context.Context , smsRequest * models.SMSVerificationRequest ) error {
6262 smsVerificationRequests := p .db .Collection (models .Collections .SMSVerificationRequest , options .Collection ())
6363 _ , err := smsVerificationRequests .DeleteOne (nil , bson.M {"_id" : smsRequest .ID }, options .Delete ())
0 commit comments