add QualificationInput sanitization

This commit is contained in:
Dawid Wysokiński 2021-03-06 09:01:22 +01:00
parent 75253f2c02
commit b066446051
2 changed files with 24 additions and 2 deletions

View File

@ -2,6 +2,7 @@ package models
import (
"context"
"strings"
"time"
"github.com/go-pg/pg/v10"
@ -63,6 +64,27 @@ func (input *QualificationInput) IsEmpty() bool {
len(input.DissociateProfession) == 0
}
func (input *QualificationInput) Sanitize() *QualificationInput {
if input.Name != nil {
trimmed := strings.TrimSpace(*input.Name)
input.Name = &trimmed
}
if input.Description != nil {
trimmed := strings.TrimSpace(*input.Description)
input.Description = &trimmed
}
if input.Code != nil {
trimmed := strings.TrimSpace(*input.Code)
input.Code = &trimmed
}
if input.Formula != nil {
trimmed := strings.TrimSpace(*input.Formula)
input.Formula = &trimmed
}
return input
}
func (input *QualificationInput) ToQualification() *Qualification {
q := &Qualification{}
if input.Name != nil {

View File

@ -27,7 +27,7 @@ func New(cfg *Config) (qualification.Usecase, error) {
}
func (ucase *usecase) Store(ctx context.Context, input *models.QualificationInput) (*models.Qualification, error) {
if err := ucase.validateInput(input, validateOptions{false}); err != nil {
if err := ucase.validateInput(input.Sanitize(), validateOptions{false}); err != nil {
return nil, err
}
return ucase.qualificationRepository.Store(ctx, input)
@ -37,7 +37,7 @@ func (ucase *usecase) UpdateOneByID(ctx context.Context, id int, input *models.Q
if id <= 0 {
return nil, fmt.Errorf(messageInvalidID)
}
if err := ucase.validateInput(input, validateOptions{true}); err != nil {
if err := ucase.validateInput(input.Sanitize(), validateOptions{true}); err != nil {
return nil, err
}
items, err := ucase.qualificationRepository.UpdateMany(ctx,