replace hardcoded sql statements with corresponding sqlutils in models

This commit is contained in:
Dawid Wysokiński 2021-03-13 18:40:06 +01:00
parent 5303afc6e8
commit d8e838c6b7
4 changed files with 26 additions and 20 deletions

View File

@ -70,10 +70,10 @@ func (input *ProfessionInput) ToProfession() *Profession {
func (input *ProfessionInput) ApplyUpdate(q *orm.Query) (*orm.Query, error) {
if !input.IsEmpty() {
if input.Name != nil {
q = q.Set("name = ?", *input.Name)
q = q.Set(sqlutils.BuildConditionEquals("name"), *input.Name)
}
if input.Description != nil {
q = q.Set("description = ?", *input.Description)
q = q.Set(sqlutils.BuildConditionEquals("description"), *input.Description)
}
}

View File

@ -109,16 +109,16 @@ func (input *QualificationInput) ToQualification() *Qualification {
func (input *QualificationInput) ApplyUpdate(q *orm.Query) (*orm.Query, error) {
if !input.IsEmpty() {
if input.Name != nil {
q = q.Set("name = ?", *input.Name)
q = q.Set(sqlutils.BuildConditionEquals("name"), *input.Name)
}
if input.Code != nil {
q = q.Set("code = ?", *input.Code)
q = q.Set(sqlutils.BuildConditionEquals("code"), *input.Code)
}
if input.Formula != nil {
q = q.Set("formula = ?", *input.Formula)
q = q.Set(sqlutils.BuildConditionEquals("formula"), *input.Formula)
}
if input.Description != nil {
q = q.Set("description = ?", *input.Description)
q = q.Set(sqlutils.BuildConditionEquals("description"), *input.Description)
}
}

View File

@ -154,31 +154,37 @@ func (input *QuestionInput) ToQuestion() *Question {
func (input *QuestionInput) ApplyUpdate(q *orm.Query) (*orm.Query, error) {
if !input.IsEmpty() {
if input.Content != nil {
q = q.Set("content = ?", *input.Content)
q = q.Set(
sqlutils.BuildConditionEquals(sqlutils.WrapStringInDoubleQuotes("content")),
*input.Content,
)
}
if input.From != nil {
q = q.Set("from = ?", *input.From)
q = q.Set(
sqlutils.BuildConditionEquals(sqlutils.WrapStringInDoubleQuotes("from")),
*input.From,
)
}
if input.Explanation != nil {
q = q.Set("explanation = ?", *input.Explanation)
q = q.Set(sqlutils.BuildConditionEquals("explanation"), *input.Explanation)
}
if input.CorrectAnswer != nil {
q = q.Set("correct_answer = ?", *input.CorrectAnswer)
q = q.Set(sqlutils.BuildConditionEquals("correct_answer"), *input.CorrectAnswer)
}
if input.AnswerA != nil {
q = q.Set("answer_a = ?", *input.AnswerA)
q = q.Set(sqlutils.BuildConditionEquals("answer_a"), *input.AnswerA)
}
if input.AnswerB != nil {
q = q.Set("answer_b = ?", *input.AnswerB)
q = q.Set(sqlutils.BuildConditionEquals("answer_b"), *input.AnswerB)
}
if input.AnswerC != nil {
q = q.Set("answer_c = ?", *input.AnswerC)
q = q.Set(sqlutils.BuildConditionEquals("answer_c"), *input.AnswerC)
}
if input.AnswerD != nil {
q = q.Set("answer_d = ?", *input.AnswerD)
q = q.Set(sqlutils.BuildConditionEquals("answer_d"), *input.AnswerD)
}
if input.QualificationID != nil {
q = q.Set("qualification_id = ?", *input.QualificationID)
q = q.Set(sqlutils.BuildConditionEquals("qualification_id"), *input.QualificationID)
}
}

View File

@ -104,7 +104,7 @@ func (input *UserInput) ToUser() *User {
func (input *UserInput) ApplyUpdate(q *orm.Query) (*orm.Query, error) {
if !input.IsEmpty() {
if input.DisplayName != nil {
q = q.Set("display_name = ?", *input.DisplayName)
q = q.Set(sqlutils.BuildConditionEquals("display_name"), *input.DisplayName)
}
if input.Password != nil {
@ -112,19 +112,19 @@ func (input *UserInput) ApplyUpdate(q *orm.Query) (*orm.Query, error) {
if err != nil {
return q, err
}
q = q.Set("password = ?", string(hashedPassword))
q = q.Set(sqlutils.BuildConditionEquals("password"), string(hashedPassword))
}
if input.Email != nil {
q = q.Set("email = ?", *input.Email)
q = q.Set(sqlutils.BuildConditionEquals("email"), *input.Email)
}
if input.Role != nil {
q = q.Set("role = ?", *input.Role)
q = q.Set(sqlutils.BuildConditionEquals("role"), *input.Role)
}
if input.Activated != nil {
q = q.Set("activated = ?", *input.Activated)
q = q.Set(sqlutils.BuildConditionEquals("activated"), *input.Activated)
}
}