diff --git a/app/controllers/api/v1/users_controller.rb b/app/controllers/api/v1/users_controller.rb index 2cf6eb9..8d2e28d 100644 --- a/app/controllers/api/v1/users_controller.rb +++ b/app/controllers/api/v1/users_controller.rb @@ -1,6 +1,8 @@ class Api::V1::UsersController < Api::V1::ApiController class ForbiddenError < StandardError; end + before_action :set, except: ['create', 'check_email', 'check_username'] + def create @user = User.new(user_params) @@ -22,6 +24,11 @@ class Api::V1::UsersController < Api::V1::ApiController end end + def show + @parties = @user.parties + ap "Hello world" + end + def check_email if params[:email].present? @available = User.where("email = ?", params[:email]).count == 0 @@ -43,6 +50,7 @@ class Api::V1::UsersController < Api::V1::ApiController end def show + @parties = @user.parties end def update @@ -54,6 +62,10 @@ class Api::V1::UsersController < Api::V1::ApiController private # Specify whitelisted properties that can be modified. + def set + @user = User.where("username = ?", params[:id]).first + end + def user_params params.require(:user).permit(:username, :email, :password, :password_confirmation, :granblue_id) end diff --git a/app/models/user.rb b/app/models/user.rb index 1ed856a..1ee9154 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,6 +1,9 @@ class User < ApplicationRecord before_save { self.email = email.downcase } + ##### ActiveRecord Associations + has_many :parties + ##### ActiveRecord Validations validates :username, presence: true, diff --git a/app/views/api/v1/users/show.json.rabl b/app/views/api/v1/users/show.json.rabl new file mode 100644 index 0000000..2c35693 --- /dev/null +++ b/app/views/api/v1/users/show.json.rabl @@ -0,0 +1,7 @@ +object @user + +extends 'api/v1/users/base' + +node(:parties) { + partial('parties/base', object: @parties) +} unless @parties.empty? \ No newline at end of file