@@ -90,7 +90,10 @@ def create
90
90
if remote_repo . organization
91
91
#if the org exists on database
92
92
if Organization . where ( github_id : remote_repo . organization . id ) . any?
93
- self . organization = Organization . where ( github_id : remote_repo . organization . id ) . first
93
+ org_t = Organization . where ( github_id : remote_repo . organization . id ) . first
94
+ current_user . organizations << org_t
95
+ current_user . save!
96
+ @repository . organization = org_t
94
97
else
95
98
org = Organization . new
96
99
remote_org = github . org remote_repo . organization . login
@@ -101,26 +104,32 @@ def create
101
104
org . private_repos = remote_org . total_private_repos
102
105
org . total_repos = org . public_repos + org . private_repos
103
106
org . collaborators = remote_org . collaborators
104
- org . save
107
+ org . save!
105
108
current_user . organizations << org
106
- current_user . save
107
-
109
+ current_user . save!
110
+
108
111
@repository . organization = org
112
+ #@repository.save!
109
113
end
110
114
else
111
115
@repository . organization = Organization . where ( name : username ) . first
112
116
end
113
117
114
- @repository . save
115
- @repository . delay . deliver ( current_user . id )
118
+ #@repository.delay.deliver(current_user.id)
119
+
120
+
121
+
116
122
@name_repo = @repository &.full_name || nil
117
123
respond_to do |format |
118
- if @repository . save
119
- format . html { redirect_to @repository , notice : 'Repository was successfully created.' }
120
- format . json { render :show , status : :created , location : @repository }
124
+ if @repository . save!
125
+ #EXECUTE CUSTOM job
126
+ Delayed ::Job . enqueue RepoUpdater ::ProcessNewReposContentJob . new ( @repository . id , current_user . id )
127
+
128
+ format . html { redirect_to @repository , notice : 'Repository was successfully created.' }
129
+ format . json { render :show , status : :created , location : @repository }
121
130
else
122
- format . html { render :new }
123
- format . json { render json : @repository . errors , status : :unprocessable_entity }
131
+ format . html { redirect_to repositories_path , notice : 'Repository was not able to be created' }
132
+ format . json { render json : @repository . errors , status : :unprocessable_entity }
124
133
end
125
134
end
126
135
end
@@ -190,18 +199,37 @@ def update
190
199
# DELETE /repositories/1
191
200
# DELETE /repositories/1.json
192
201
def destroy
193
-
202
+
194
203
@repository . destroy
195
204
respond_to do |format |
196
205
format . html { redirect_to repositories_path , notice : 'Repository was successfully destroyed.' }
197
206
format . json { head :no_content }
198
207
end
199
208
end
200
209
201
- def profile
202
- #author.find
203
- puts ( "saludos Oscar---------------------------------------------------------" )
204
- #params[id]
210
+ def check_if_its_updating
211
+ repo_id = params [ :repo_id ]
212
+
213
+ if Delayed ::Job . where ( delayed_reference_id : repo_id . to_i , delayed_reference_type : 'RepoUpdater::NewReposContent' ) . any?
214
+ render json :{ updating : "yes" }
215
+ else
216
+ render json :{ updating : "no" }
217
+ end
218
+ # respond_to do |format|
219
+ # if Delayed::Job.where(delayed_reference_id: repo_id.to_i, delayed_reference_type: 'RepoUpdater::NewReposContent').any?
220
+ # format.json do
221
+ # render json{updating:'true'}.to_json
222
+ # end
223
+ # else
224
+ # format.json do
225
+ # render json{updating:'false'}.to_json
226
+ # end
227
+ # end
228
+ # end
229
+ end
230
+
231
+
232
+ def profile
205
233
@repository = Repository . find ( params [ :repository_id ] )
206
234
@author = Author . find ( params [ :id ] )
207
235
@@ -275,5 +303,5 @@ def set_initial_variables
275
303
276
304
277
305
end
278
-
306
+
279
307
end
0 commit comments