@@ -44,13 +44,13 @@ func (repository *gormPhoneAPIKeyRepository) RemovePhoneByID(ctx context.Context
4444 defer span .End ()
4545
4646 query := `
47- UPDATE ?
47+ UPDATE phone_api_keys
4848SET phone_ids = array_remove(phone_ids, ?),
4949 phone_numbers = array_remove(phone_numbers, ?)
5050WHERE user_id = ? AND array_position(phone_ids, ?) IS NOT NULL;
5151`
5252 err := repository .db .WithContext (ctx ).
53- Raw (query , (entities. PhoneAPIKey {}). TableName () , phoneID , phoneNumber , userID , phoneID ).
53+ Exec (query , phoneID , phoneNumber , userID , phoneID ).
5454 Error
5555 if err != nil {
5656 msg := fmt .Sprintf ("cannot remove phone with ID [%s] and number [%s] for user with ID [%s] " , phoneID , phoneNumber , userID )
@@ -103,7 +103,7 @@ func (repository *gormPhoneAPIKeyRepository) LoadAuthContext(ctx context.Context
103103 }
104104
105105 phoneAPIKey := new (entities.PhoneAPIKey )
106- err := repository .db .WithContext (ctx ).Where ("api_key = ?" , phoneAPIKey ).First (apiKey ).Error
106+ err := repository .db .WithContext (ctx ).Where ("api_key = ?" , apiKey ).First (phoneAPIKey ).Error
107107 if errors .Is (err , gorm .ErrRecordNotFound ) {
108108 msg := fmt .Sprintf ("phone api key [%s] does not exist" , apiKey )
109109 return entities.AuthContext {}, repository .tracer .WrapErrorSpan (span , stacktrace .PropagateWithCode (err , ErrCodeNotFound , msg ))
@@ -121,7 +121,7 @@ func (repository *gormPhoneAPIKeyRepository) LoadAuthContext(ctx context.Context
121121 PhoneNumbers : phoneAPIKey .PhoneNumbers ,
122122 }
123123
124- if result := repository .cache .SetWithTTL (apiKey , authUser , 1 , 1 * time .Hour ); ! result {
124+ if result := repository .cache .SetWithTTL (apiKey , authUser , 1 , 15 * time .Second ); ! result {
125125 msg := fmt .Sprintf ("cannot cache [%T] with ID [%s] and result [%t]" , authUser , phoneAPIKey .ID , result )
126126 ctxLogger .Error (repository .tracer .WrapErrorSpan (span , stacktrace .NewError (msg )))
127127 }
@@ -168,32 +168,33 @@ func (repository *gormPhoneAPIKeyRepository) AddPhone(ctx context.Context, phone
168168
169169 err := crdbgorm .ExecuteTx (ctx , repository .db , nil , func (tx * gorm.DB ) error {
170170 query := `
171- UPDATE ?
171+ UPDATE phone_api_keys
172172SET phone_ids = array_remove(phone_ids, ?),
173173 phone_numbers = array_remove(phone_numbers, ?)
174174WHERE user_id = ?;
175175`
176176 err := tx .WithContext (ctx ).
177- Raw (query , phoneAPIKey . TableName () , phone .ID , phone .PhoneNumber , phone .UserID ).
177+ Exec (query , phone .ID , phone .PhoneNumber , phone .UserID ).
178178 Error
179179 if err != nil {
180180 msg := fmt .Sprintf ("cannot remove phone with ID [%s] from API Key with ID [%s] for user with ID [%s]" , phone .ID , phoneAPIKey .ID , phone .UserID )
181181 return repository .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
182182 }
183183
184184 query = `
185- UPDATE ?
185+ UPDATE phone_api_keys
186186SET phone_ids = array_append(phone_ids, ?),
187187 phone_numbers = array_append(phone_numbers, ?)
188188WHERE array_position(phone_ids, ?) IS NULL AND id = ?;
189189`
190- err = repository . db .WithContext (ctx ).
191- Raw (query , phoneAPIKey . TableName () , phone .ID , phone .PhoneNumber , phoneAPIKey .ID ).
190+ err = tx .WithContext (ctx ).
191+ Exec (query , phone . ID , phone .PhoneNumber , phone .ID , phoneAPIKey .ID ).
192192 Error
193193 if err != nil {
194194 msg := fmt .Sprintf ("cannot add [%T] with ID [%s] from API Key with ID [%s] for user with ID [%s]" , phone , phone .ID , phoneAPIKey .ID , phone .UserID )
195195 return repository .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
196196 }
197+
197198 return nil
198199 })
199200 if err != nil {
@@ -209,21 +210,19 @@ func (repository *gormPhoneAPIKeyRepository) RemovePhone(ctx context.Context, ph
209210 defer span .End ()
210211
211212 query := `
212- UPDATE ?
213+ UPDATE phone_api_keys
213214SET phone_ids = array_remove(phone_ids, ?),
214215 phone_numbers = array_remove(phone_numbers, ?)
215216WHERE id = ?;
216217`
217218 err := repository .db .WithContext (ctx ).
218- Raw (query , phoneAPIKey . TableName () , phone .ID , phone .PhoneNumber , phoneAPIKey .ID ).
219+ Exec (query , phone .ID , phone .PhoneNumber , phoneAPIKey .ID ).
219220 Error
220221 if err != nil {
221222 msg := fmt .Sprintf ("cannot remove phone with ID [%s] from phone API key with ID [%s]" , phone .ID , phoneAPIKey .ID )
222223 return repository .tracer .WrapErrorSpan (span , stacktrace .Propagate (err , msg ))
223224 }
224225
225- repository .cache .Del (phoneAPIKey .APIKey )
226-
227226 return nil
228227}
229228
0 commit comments