Packages
ami
0.1.8
0.3.9
0.3.8
retired
0.3.7
retired
0.3.6
retired
0.3.5
retired
0.3.4
retired
0.3.3
retired
0.3.2
retired
0.3.1
retired
0.3.0
retired
0.2.9
retired
0.2.8
retired
0.2.7
retired
0.2.6
retired
0.2.5
retired
0.2.3
retired
0.2.2
retired
0.2.1
retired
0.2.0
retired
0.1.9
retired
0.1.8
retired
0.1.7
retired
0.1.6
retired
0.1.5
retired
0.1.4
retired
Package containing all AMI Models shared between micro-services.
Retired package: Security issue - retiring
Current section
Files
Jump to
Current section
Files
lib/ami/score.ex
defmodule Ami.Score do
use Ecto.Schema
import Ecto.Changeset
alias Ami.{
Enrollment,
Course,
CoursePeriod,
Quiz,
User,
Repo
}
schema "scores" do
@timestamps_opts [type: :naive_datetime_usec]
field(:value, :integer)
field(:answers_correct, :integer)
field(:total_questions, :integer)
field(:results, :string)
field(:created_at, :utc_datetime_usec)
field(:updated_at, :utc_datetime_usec)
belongs_to(:quiz, Quiz)
belongs_to(:user, User)
belongs_to(:enrollment, Enrollment)
belongs_to(:course, Course)
belongs_to(:course_period, CoursePeriod)
end
def find(quiz_id, enrollment_id),
do: Repo.get_by(__MODULE__, quiz_id: quiz_id, enrollment_id: enrollment_id)
def insert_changeset(struct, params) do
struct
|> cast(
%{
value: params[:value],
answers_correct: params[:answers_correct],
total_questions: params[:total_questions]
},
[:value, :answers_correct, :total_questions]
)
|> cast(%{created_at: DateTime.utc_now(), updated_at: DateTime.utc_now()}, [
:created_at,
:updated_at
])
|> cast(
%{
quiz_id: params[:quiz_id],
user_id: params[:user_id],
enrollment_id: params[:enrollment_id]
},
[:quiz_id, :user_id, :enrollment_id]
)
|> cast(%{course_id: params[:course_id], course_period_id: params[:course_period_id]}, [
:course_id,
:course_period_id
])
end
def update_changeset(struct, params) do
struct
|> cast(
%{
value: params[:value],
answers_correct: params[:answers_correct],
total_questions: params[:total_questions]
},
[:value, :answers_correct, :total_questions]
)
|> cast(%{updated_at: DateTime.utc_now()}, [:updated_at])
end
end