From 6244cbf2156cfdfa417826cf5017f6c73799dd89 Mon Sep 17 00:00:00 2001 From: Mariany Ferreira da Silva Date: Thu, 7 Mar 2024 20:13:29 -0300 Subject: [PATCH] fix(courses): apply code review suggestions --- internal/course/database/course_queries.go | 14 +++++++------- internal/course/database/course_repository.go | 6 +++--- internal/course/database/course_repository_test.go | 8 ++++---- internal/course/domain/course.go | 6 +++--- internal/course/domain/course_repository.go | 2 +- internal/course/domain/course_service.go | 2 +- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/internal/course/database/course_queries.go b/internal/course/database/course_queries.go index 1ac4717..fbdfd68 100644 --- a/internal/course/database/course_queries.go +++ b/internal/course/database/course_queries.go @@ -5,14 +5,14 @@ import ( ) const ( - returning_columns = "uuid, code, name, underline, image, image_cover, excerpt, description, created_at, updated_at" + returningColumns = "uuid, code, name, underline, image, image_cover, excerpt, description, created_at, updated_at" // CREATE. createCourse = "create course" // READ. listCourse = "list course" getCourse = "get course by uuid" // UPDATE. - updateCourseByUUID = "update course by uuid" + updateCourse = "update course by uuid" // DELETE. deleteCourse = "delete course by uuid" ) @@ -23,16 +23,16 @@ func queriesCourse() map[string]string { createCourse: fmt.Sprintf(`INSERT INTO courses ( code, name, underline, image, image_cover, excerpt, description ) VALUES ($1, $2, $3, $4, $5, $6, $7) - RETURNING %s`, returning_columns), + RETURNING %s`, returningColumns), // READ. - listCourse: fmt.Sprintf("SELECT %s FROM courses WHERE deleted_at IS NULL", returning_columns), - getCourse: fmt.Sprintf("SELECT %s FROM courses WHERE uuid = $1 AND deleted_at IS NULL", returning_columns), + listCourse: fmt.Sprintf("SELECT %s FROM courses WHERE deleted_at IS NULL", returningColumns), + getCourse: fmt.Sprintf("SELECT %s FROM courses WHERE uuid = $1 AND deleted_at IS NULL", returningColumns), // UPDATE. - updateCourseByUUID: fmt.Sprintf(`UPDATE courses SET + updateCourse: fmt.Sprintf(`UPDATE courses SET code = $1, name = $2, underline = $3, image = $4, image_cover = $5, excerpt = $6, description = $7 WHERE uuid = $8 AND deleted_at IS NULL - RETURNING %s`, returning_columns), + RETURNING %s`, returningColumns), // DELETE. deleteCourse: "UPDATE courses SET deleted_at = NOW() WHERE uuid = $1 AND deleted_at IS NULL", } diff --git a/internal/course/database/course_repository.go b/internal/course/database/course_repository.go index 8449fce..b4558cd 100644 --- a/internal/course/database/course_repository.go +++ b/internal/course/database/course_repository.go @@ -86,9 +86,9 @@ func (r CourseRepository) CreateCourse(c *domain.Course) error { return nil } -// UpdateCourseByUUID update the given course by ID. -func (r CourseRepository) UpdateCourseByUUID(c *domain.Course) error { - stmt, err := r.statement(updateCourseByUUID) +// UpdateCourse update the given course by ID. +func (r CourseRepository) UpdateCourse(c *domain.Course) error { + stmt, err := r.statement(updateCourse) if err != nil { return err } diff --git a/internal/course/database/course_repository_test.go b/internal/course/database/course_repository_test.go index 42017e3..6f95ff2 100644 --- a/internal/course/database/course_repository_test.go +++ b/internal/course/database/course_repository_test.go @@ -205,7 +205,7 @@ func TestRepository_CreateCourse(t *testing.T) { } } -func TestRepository_UpdateCourseByUUID(t *testing.T) { +func TestRepository_UpdateCourse(t *testing.T) { validRows := sqlmock.NewRows([]string{"uuid", "code", "name", "underline", "image", "image_cover", "excerpt", "description", "created_at", "updated_at"}). AddRow(course.UUID, course.Code, course.Name, course.Underline, course.Image, course.ImageCover, @@ -245,14 +245,14 @@ func TestRepository_UpdateCourseByUUID(t *testing.T) { if err != nil { t.Fatalf("an error '%s' was not expected when creating the CourseRepository", err) } - prep, ok := stmts[updateCourseByUUID] + prep, ok := stmts[updateCourse] if !ok { - t.Fatalf("prepared statement %s not found", updateCourseByUUID) + t.Fatalf("prepared statement %s not found", updateCourse) } prep.ExpectQuery().WillReturnRows(tt.rows) - if err := r.UpdateCourseByUUID(tt.args.c); (err != nil) != tt.wantErr { + if err := r.UpdateCourse(tt.args.c); (err != nil) != tt.wantErr { t.Errorf("UpdateCourse() error = %v, wantErr %v", err, tt.wantErr) } }) diff --git a/internal/course/domain/course.go b/internal/course/domain/course.go index 2cb0039..2e02b30 100644 --- a/internal/course/domain/course.go +++ b/internal/course/domain/course.go @@ -11,10 +11,10 @@ type Course struct { Code string `json:"code"` Name string `json:"name"` Underline string `json:"underline"` - Image string `json:"image"` - ImageCover string `db:"image_cover" json:"image_cover"` + Image string `json:"image,omitempty"` + ImageCover string `db:"image_cover" json:"image_cover,omitempty"` Excerpt string `json:"excerpt"` - Description string `json:"description"` + Description string `json:"description,omitempty"` CreatedAt time.Time `db:"created_at" json:"created_at"` UpdatedAt time.Time `db:"updated_at" json:"updated_at"` } diff --git a/internal/course/domain/course_repository.go b/internal/course/domain/course_repository.go index 0c2f90c..1e0f25d 100644 --- a/internal/course/domain/course_repository.go +++ b/internal/course/domain/course_repository.go @@ -6,6 +6,6 @@ type CourseRepository interface { Course(courseUUID uuid.UUID) (Course, error) Courses() ([]Course, error) CreateCourse(c *Course) error - UpdateCourseByUUID(c *Course) error + UpdateCourse(c *Course) error DeleteCourse(courseUUID uuid.UUID) error } diff --git a/internal/course/domain/course_service.go b/internal/course/domain/course_service.go index 655995f..b59b435 100644 --- a/internal/course/domain/course_service.go +++ b/internal/course/domain/course_service.go @@ -34,7 +34,7 @@ func (s *Service) CreateCourse(_ context.Context, c *Course) error { } func (s *Service) UpdateCourse(_ context.Context, c *Course) error { - if err := s.courses.UpdateCourseByUUID(c); err != nil { + if err := s.courses.UpdateCourse(c); err != nil { return fmt.Errorf("service can't update course: %w", err) } return nil