From 448d1621e918363e5680d5ab2c09ae68c64dc80a Mon Sep 17 00:00:00 2001 From: Marcela Ribeiro de Oliveira <mro15@inf.ufpr.br> Date: Mon, 3 Jul 2017 15:55:20 -0300 Subject: [PATCH] create field and route submitter request --- app/controllers/v1/users_controller.rb | 9 ++++++++- app/models/user.rb | 2 ++ app/serializers/user_devise_serializer.rb | 6 +++--- app/serializers/user_serializer.rb | 2 +- .../20170703175829_add_submitter_request_to_users.rb | 5 +++++ 5 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 db/migrate/20170703175829_add_submitter_request_to_users.rb diff --git a/app/controllers/v1/users_controller.rb b/app/controllers/v1/users_controller.rb index 6405a2a8f..cd094fab8 100644 --- a/app/controllers/v1/users_controller.rb +++ b/app/controllers/v1/users_controller.rb @@ -6,7 +6,7 @@ class V1::UsersController < ApplicationController include ::SubjectableController before_action :set_user, only: [:show, :update, :destroy, :following, :own_reviews, :received_reviews, :followers] - before_action :authenticate_user!, only: [:create, :update, :destroy, :following, :own_reviews, :received_reviews, :followers] + before_action :authenticate_user!, only: [:create, :update, :destroy, :following, :own_reviews, :received_reviews, :followers, :submitter_request] before_action :authorize_user, only: [:own_reviews, :received_reviews, :update, :destroy] # GET /v1/users @@ -58,6 +58,13 @@ class V1::UsersController < ApplicationController render status: :ok end + # POST /v1/users/submitter_request + # POST /v1/users/submitter_request.json + def submitter_request + current_user.update(submitter_request: User.submitter_requests[:requested]) + render status: :ok + end + def following type = params[:object_type] is_current = (@user.id == current_user.id) unless current_user.nil? diff --git a/app/models/user.rb b/app/models/user.rb index 207a797fc..118478ace 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -78,6 +78,8 @@ class User < ApplicationRecord validates :terms_of_service, acceptance: true + enum submitter_request: { default: 0, requested: 1, accepted: 2, rejected: 3 } + searchkick language: 'brazilian', match: :word_start, searchable: [:name], callbacks: :async acts_as_paranoid diff --git a/app/serializers/user_devise_serializer.rb b/app/serializers/user_devise_serializer.rb index c2547fc44..f64debf65 100644 --- a/app/serializers/user_devise_serializer.rb +++ b/app/serializers/user_devise_serializer.rb @@ -1,15 +1,15 @@ class UserDeviseSerializer < ActiveModel::Serializer - + def avatar_file_name object.avatar.url - end + end def cover_file_name object.cover.url end - attributes :id, :email, :provider, :avatar_file_name, :avatar_content_type, :uid, :name, :avatar_file_size, :avatar_updated_at, + attributes :id, :email, :provider, :avatar_file_name, :avatar_content_type, :uid, :name, :submitter_request, :avatar_file_size, :avatar_updated_at, :bookmarks_count, :user_category_id, :score, :follows_count, :deleted_at, :description, :likes_count, :learning_objects_count, :collections_count, :cover_file_name, :cover_content_type, :cover_file_size, :cover_updated_at end diff --git a/app/serializers/user_serializer.rb b/app/serializers/user_serializer.rb index 8a840883f..ef205bbda 100644 --- a/app/serializers/user_serializer.rb +++ b/app/serializers/user_serializer.rb @@ -17,6 +17,6 @@ class UserSerializer < ActiveModel::Serializer object.learning_objects.where('state = ?', LearningObject.states[:published]).count end - attributes :id, :email, :provider, :name, :description, :education, :score, :cover, :role_ids, :institution_ids, :avatar, :likes_count, :followed, :complained, :follows_count, :learning_objects_count, :collections_count, :created_at, :updated_at + attributes :id, :email, :provider, :name, :description, :submitter_request, :education, :score, :cover, :role_ids, :institution_ids, :avatar, :likes_count, :followed, :complained, :follows_count, :learning_objects_count, :collections_count, :created_at, :updated_at has_many :subjects end diff --git a/db/migrate/20170703175829_add_submitter_request_to_users.rb b/db/migrate/20170703175829_add_submitter_request_to_users.rb new file mode 100644 index 000000000..305eab651 --- /dev/null +++ b/db/migrate/20170703175829_add_submitter_request_to_users.rb @@ -0,0 +1,5 @@ +class AddSubmitterRequestToUsers < ActiveRecord::Migration[5.0] + def change + add_column :users, :submitter_request, :integer, default: 0 + end +end -- GitLab