update the classes from leave to leave record

This commit is contained in:
Tanmay Deep Sharma
2025-08-18 17:43:45 +05:30
parent 857c8d90d2
commit 5ce8533e9f
23 changed files with 781 additions and 1017 deletions
@@ -0,0 +1,48 @@
class Api::V1::Accounts::LeaveRecordsController < Api::V1::Accounts::EnterpriseAccountsController
before_action :fetch_leave_record, only: [:show, :update, :destroy, :approve, :reject]
before_action :check_authorization, only: [:index, :create]
before_action :check_record_authorization, only: [:show, :update, :destroy, :approve, :reject]
def index
@leave_records = policy_scope(Current.account.leave_records)
end
def show; end
def create
@leave_record = Current.account.leave_records.create!(permitted_params.merge(user: current_user))
end
def update
@leave_record.update!(permitted_params)
end
def destroy
@leave_record.destroy!
head :ok
end
def approve
@leave_record.approve!(current_user)
render :show
end
def reject
@leave_record.reject!(current_user)
render :show
end
private
def permitted_params
params.require(:leave_record).permit(:start_date, :end_date, :leave_type, :reason)
end
def fetch_leave_record
@leave_record = policy_scope(Current.account.leave_records).find(params[:id])
end
def check_record_authorization
authorize(@leave_record)
end
end
@@ -1,43 +0,0 @@
class Api::V1::Accounts::LeavesController < Api::V1::Accounts::EnterpriseAccountsController
before_action :fetch_leave, only: [:show, :update, :destroy, :approve, :reject]
before_action :check_authorization
def index
@leaves = policy_scope(Current.account.leaves)
end
def show; end
def create
@leave = Current.account.leaves.create!(permitted_params.merge(user: current_user))
end
def update
@leave.update!(permitted_params)
end
def destroy
@leave.destroy!
head :ok
end
def approve
@leave.approve!(current_user)
render :show
end
def reject
@leave.reject!(current_user)
render :show
end
private
def permitted_params
params.require(:leave).permit(:start_date, :end_date, :leave_type, :reason)
end
def fetch_leave
@leave = Current.account.leaves.find_by(id: params[:id])
end
end