@@ -97,8 +97,8 @@ func (api *API) repositoriesManagerAuthorizeHandler() service.Handler {
97
97
}
98
98
99
99
keyr := cache .Key ("reposmanager" , "oauth" , token )
100
- if err := api .Cache .Set (keyr , data ); err != nil {
101
- log . Error ( ctx , "unable to cache set %v: %v" , keyr , err )
100
+ if err := api .Cache .SetWithTTL (keyr , data , int ( time . Duration ( 5 * time . Minute ). Seconds ()) ); err != nil {
101
+ return sdk . WrapError ( err , "unable to store oauth state in cache" )
102
102
}
103
103
return service .WriteJSON (w , data , http .StatusOK )
104
104
}
@@ -126,8 +126,9 @@ func (api *API) repositoriesManagerOAuthCallbackHandler() service.Handler {
126
126
log .Error (ctx , "cannot get from cache %s: %v" , key , err )
127
127
}
128
128
if ! find {
129
- return sdk .WrapError (sdk .ErrForbidden , "repositoriesManagerAuthorizeCallback> Error " )
129
+ return sdk .WrapError (sdk .ErrForbidden , "no matching oauth state in cache " )
130
130
}
131
+
131
132
projectKey := data ["project_key" ]
132
133
rmName := data ["repositories_manager" ]
133
134
username := data ["username" ]
@@ -136,12 +137,12 @@ func (api *API) repositoriesManagerOAuthCallbackHandler() service.Handler {
136
137
authConsumer , err := authentication .LoadConsumerByID (ctx , api .mustDB (), consumerID ,
137
138
authentication .LoadConsumerOptions .WithAuthentifiedUser )
138
139
if err != nil {
139
- return sdk .WrapError (sdk .ErrForbidden , "repositoriesManagerAuthorizeCallback> Error" )
140
+ return sdk .WrapError (sdk .ErrForbidden , "cannot load consumer with id: %s" , consumerID )
140
141
}
141
142
142
- proj , errP := project .Load (ctx , api .mustDB (), projectKey )
143
- if errP != nil {
144
- return sdk .WrapError (errP , "repositoriesManagerAuthorizeCallback> Cannot load project" )
143
+ proj , err := project .Load (ctx , api .mustDB (), projectKey )
144
+ if err != nil {
145
+ return sdk .WrapError (err , "cannot load project" )
145
146
}
146
147
147
148
// initialize a tx, but this tx is only used to READ.
@@ -152,23 +153,23 @@ func (api *API) repositoriesManagerOAuthCallbackHandler() service.Handler {
152
153
}
153
154
defer txRead .Rollback () // nolint
154
155
155
- vcsServer , errVCSServer := repositoriesmanager .NewVCSServerConsumer (txRead , api .Cache , rmName )
156
- if errVCSServer != nil {
157
- return sdk .WrapError (errVCSServer , "repositoriesManagerAuthorizeCallback> Cannot load project" )
156
+ vcsServer , err := repositoriesmanager .NewVCSServerConsumer (txRead , api .Cache , rmName )
157
+ if err != nil {
158
+ return sdk .WrapError (err , "cannot load vcs server with name %s" , rmName )
158
159
}
159
160
160
161
token , secret , err := vcsServer .AuthorizeToken (ctx , state , code )
161
162
if err != nil {
162
- return sdk .WrapError ( sdk .ErrNoReposManagerClientAuth , "repositoriesManagerAuthorizeCallback> Error with AuthorizeToken: %s" , err )
163
+ return sdk .NewErrorWithStack ( err , sdk .ErrNoReposManagerClientAuth )
163
164
}
164
165
165
166
if token == "" || secret == "" {
166
- return sdk .WrapError (sdk .ErrNoReposManagerClientAuth , "repositoriesManagerAuthorizeCallback> token or secret is empty" )
167
+ return sdk .WrapError (sdk .ErrNoReposManagerClientAuth , "token or secret is empty" )
167
168
}
168
169
169
- tx , errT := api .mustDB ().Begin ()
170
- if errT != nil {
171
- return sdk .WrapError (errT , "repositoriesManagerAuthorizeCallback> Cannot start transaction" )
170
+ tx , err := api .mustDB ().Begin ()
171
+ if err != nil {
172
+ return sdk .WrapError (err , "cannot start transaction" )
172
173
}
173
174
defer tx .Rollback () // nolint
174
175
@@ -182,11 +183,11 @@ func (api *API) repositoriesManagerOAuthCallbackHandler() service.Handler {
182
183
vcsServerForProject .Set ("created" , strconv .FormatInt (time .Now ().Unix (), 10 ))
183
184
184
185
if err := repositoriesmanager .InsertProjectVCSServerLink (ctx , tx , vcsServerForProject ); err != nil {
185
- return sdk .WrapError (err , "Error with InsertForProject " )
186
+ return sdk .WrapError (err , "error inserting vcs server link " )
186
187
}
187
188
188
189
if err := tx .Commit (); err != nil {
189
- return sdk .WrapError (errT , "repositoriesManagerAuthorizeCallback> Cannot commit transaction" )
190
+ return sdk .WrapError (err , "cannot commit transaction" )
190
191
}
191
192
192
193
event .PublishAddVCSServer (ctx , proj , vcsServerForProject .Name , authConsumer )
@@ -222,14 +223,14 @@ func (api *API) repositoriesManagerAuthorizeBasicHandler() service.Handler {
222
223
return sdk .WrapError (sdk .ErrWrongRequest , "cannot get token nor verifier from data" )
223
224
}
224
225
225
- proj , errP := project .Load (ctx , api .mustDB (), projectKey )
226
- if errP != nil {
227
- return sdk .WrapError (errP , "cannot load project %s" , projectKey )
226
+ proj , err := project .Load (ctx , api .mustDB (), projectKey )
227
+ if err != nil {
228
+ return sdk .WrapError (err , "cannot load project %s" , projectKey )
228
229
}
229
230
230
- tx , errT := api .mustDB ().Begin ()
231
- if errT != nil {
232
- return sdk .WrapError (errT , "cannot start transaction" )
231
+ tx , err := api .mustDB ().Begin ()
232
+ if err != nil {
233
+ return sdk .WrapError (err , "cannot start transaction" )
233
234
}
234
235
defer tx .Rollback () // nolint
235
236
@@ -243,12 +244,12 @@ func (api *API) repositoriesManagerAuthorizeBasicHandler() service.Handler {
243
244
vcsServerForProject .Set ("created" , strconv .FormatInt (time .Now ().Unix (), 10 ))
244
245
245
246
if err := repositoriesmanager .InsertProjectVCSServerLink (ctx , tx , vcsServerForProject ); err != nil {
246
- return sdk .WrapError (err , "Error with InsertForProject " )
247
+ return sdk .WrapError (err , "error inserting vcs server link " )
247
248
}
248
249
249
250
client , err := repositoriesmanager .AuthorizedClient (ctx , tx , api .Cache , proj .Key , * vcsServerForProject )
250
251
if err != nil {
251
- return sdk .WrapError (sdk .ErrNoReposManagerClientAuth , "cannot get client for project %s: %v " , proj .Key , err )
252
+ return sdk .NewErrorWithStack (sdk .WrapError ( err , "cannot get client for project %s" , proj .Key ), sdk . ErrNoReposManagerClientAuth )
252
253
}
253
254
254
255
if _ , err = client .Repos (ctx ); err != nil {
@@ -262,7 +263,6 @@ func (api *API) repositoriesManagerAuthorizeBasicHandler() service.Handler {
262
263
event .PublishAddVCSServer (ctx , proj , vcsServerForProject .Name , getAPIConsumer (ctx ))
263
264
264
265
return service .WriteJSON (w , proj , http .StatusOK )
265
-
266
266
}
267
267
}
268
268
0 commit comments