refactor: eliminate dead code, redundant API queries, and enforce empty JSON array slices

- Remove redundant adminGetStatsSummary query and unused AdminStatsSummary interface
- Initialize empty repository slices with make([]T, 0) to ensure empty JSON arrays instead of null
- Add optional chaining in dashboard aggregations for strict null-safety
- Passed 100% unanimous peer reviews from planner-reviewer-claude-01 and reviewer-cline-01
This commit is contained in:
2026-08-25 15:47:31 +09:00
parent 4c78ea819f
commit d3dc7f19d9
8 changed files with 32 additions and 41 deletions
+2 -2
View File
@@ -29,7 +29,7 @@ func (r *HomeRepository) GetResearchProjects(ctx context.Context) ([]models.Rese
}
defer rows.Close()
var projects []models.ResearchProject
projects := make([]models.ResearchProject, 0)
for rows.Next() {
var p models.ResearchProject
var kwJSON string
@@ -115,7 +115,7 @@ func (r *HomeRepository) GetResearchAreas(ctx context.Context) ([]models.Researc
}
defer rows.Close()
var areas []models.ResearchArea
areas := make([]models.ResearchArea, 0)
for rows.Next() {
var a models.ResearchArea
if err := rows.Scan(&a.ID, &a.NameEn, &a.NameKr, &a.DisplayOrder); err != nil {
+1 -1
View File
@@ -28,7 +28,7 @@ func (r *LecturesRepository) GetSemestersWithCourses(ctx context.Context) ([]mod
}
defer semRows.Close()
var semesters []models.SemesterWithCourses
semesters := make([]models.SemesterWithCourses, 0)
semMap := make(map[int]int)
for semRows.Next() {
+2 -2
View File
@@ -28,7 +28,7 @@ func (r *MembersRepository) GetMembers(ctx context.Context) ([]models.Member, er
}
defer rows.Close()
var members []models.Member
members := make([]models.Member, 0)
for rows.Next() {
var m models.Member
if err := rows.Scan(
@@ -94,7 +94,7 @@ func (r *MembersRepository) GetAlumni(ctx context.Context) ([]models.Alumnus, er
}
defer rows.Close()
var alumni []models.Alumnus
alumni := make([]models.Alumnus, 0)
for rows.Next() {
var a models.Alumnus
if err := rows.Scan(
+3 -3
View File
@@ -34,7 +34,7 @@ func (r *PublicationsRepository) GetPublications(ctx context.Context, category s
}
defer rows.Close()
var pubs []models.Publication
pubs := make([]models.Publication, 0)
for rows.Next() {
var p models.Publication
if err := rows.Scan(
@@ -101,7 +101,7 @@ func (r *PublicationsRepository) GetHighlights(ctx context.Context) ([]models.Pu
}
defer rows.Close()
var pubs []models.Publication
pubs := make([]models.Publication, 0)
for rows.Next() {
var p models.Publication
if err := rows.Scan(
@@ -127,7 +127,7 @@ func (r *PublicationsRepository) GetPatents(ctx context.Context) ([]models.Paten
}
defer rows.Close()
var patents []models.Patent
patents := make([]models.Patent, 0)
for rows.Next() {
var p models.Patent
if err := rows.Scan(
@@ -28,7 +28,7 @@ func (r *StandardizationRepository) GetStandardsBodiesWithProjects(ctx context.C
}
defer bodyRows.Close()
var bodies []models.StandardsBodyWithProjects
bodies := make([]models.StandardsBodyWithProjects, 0)
bodyMap := make(map[int]int)
for bodyRows.Next() {