From 64e8b8ecfd4b8243a262287c941c9a0682c8c4aa Mon Sep 17 00:00:00 2001
From: Gustavo S Frehse <gsf20@inf.ufpr.br>
Date: Tue, 24 Oct 2023 10:54:39 -0300
Subject: [PATCH] Add Route

---
 app/controllers/v1/submissions_controller.rb               | 7 +++++++
 app/models/curator_assignment.rb                           | 1 +
 config/routes.rb                                           | 1 +
 .../20231010135928_add_type_to_curator_assignment.rb       | 5 +++++
 4 files changed, 14 insertions(+)
 create mode 100644 db/migrate/20231010135928_add_type_to_curator_assignment.rb

diff --git a/app/controllers/v1/submissions_controller.rb b/app/controllers/v1/submissions_controller.rb
index 14d42b33c..f7705a24d 100644
--- a/app/controllers/v1/submissions_controller.rb
+++ b/app/controllers/v1/submissions_controller.rb
@@ -48,6 +48,13 @@ class V1::SubmissionsController < ApplicationController
     all_submissions_users = paginate submissions_users
     render json: all_submissions_users
   end
+  
+  def next_submissions_to_metadata_curate
+    # next submissions to curate from the queue
+    next_submissions = Submission.where.not(submitter_id: params[:user_id]).order(metadata_curations_count: :asc)
+    paginated = paginate next_submissions
+    render json: paginated
+  end
 
   def create
     learning_object = LearningObject.where(id: submission_params[:learning_object_id]).first
diff --git a/app/models/curator_assignment.rb b/app/models/curator_assignment.rb
index c5b9ce35d..591e32923 100644
--- a/app/models/curator_assignment.rb
+++ b/app/models/curator_assignment.rb
@@ -32,6 +32,7 @@ class CuratorAssignment < ApplicationRecord
   include Trackable
 
   enum status: [:assigned, :answered, :ignored]
+  enum type: [:homologation, :metadata]
 
   belongs_to :submission
   belongs_to :user
diff --git a/config/routes.rb b/config/routes.rb
index 39b68f8a5..02a5052ea 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -246,6 +246,7 @@ Rails.application.routes.draw do
     get 'learning_objects/magnetlink/:magnetlink', to: 'learning_objects#magnetlink', as: 'magnetlink_learning_objects'
     get 'submissions/user_submissions/:user_id', to: 'submissions#user_submissions'
     get 'submissions/all_users_submissions/:user_id', to: 'submissions#all_users_submissions'
+    get 'submissions/non_curated_submissions/:user_id', to: 'submissions#non_curated_submissions'
     get 'learning_objects_complaints/queue_user/:user_id', to: 'learning_objects_complaints#queue_user'
     get 'user_progresses/:user_id', to: 'user_progresses#index'
     get '/top_users', to: 'users#show_top_users'
diff --git a/db/migrate/20231010135928_add_type_to_curator_assignment.rb b/db/migrate/20231010135928_add_type_to_curator_assignment.rb
new file mode 100644
index 000000000..08362ee45
--- /dev/null
+++ b/db/migrate/20231010135928_add_type_to_curator_assignment.rb
@@ -0,0 +1,5 @@
+class AddTypeToCuratorAssignment < ActiveRecord::Migration[7.0]
+  def change
+    add_column :curator_assignments, :curation_type, :integer, :default => 0
+  end
+end
-- 
GitLab