Skip to content

Commit

Permalink
feat: move login data to ctx in course service (#162)
Browse files Browse the repository at this point in the history
* feat: move login data to ctx in course service

* fix: add license
  • Loading branch information
penqee authored Jan 20, 2025
1 parent 4232ab1 commit 4a380e9
Show file tree
Hide file tree
Showing 10 changed files with 31 additions and 163 deletions.
15 changes: 1 addition & 14 deletions api/handler/api/course_service.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions idl/course.thrift
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ namespace go course
include "model.thrift"

struct CourseListRequest {
1: required model.LoginData loginData
2: required string term
1: required string term
}

struct CourseListResponse {
Expand Down
14 changes: 12 additions & 2 deletions internal/course/service/get_course_list.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,25 @@ import (
"slices"

"github.com/west2-online/fzuhelper-server/kitex_gen/course"
login_model "github.com/west2-online/fzuhelper-server/kitex_gen/model"
"github.com/west2-online/fzuhelper-server/pkg/base"
"github.com/west2-online/fzuhelper-server/pkg/base/context"
"github.com/west2-online/fzuhelper-server/pkg/db/model"
"github.com/west2-online/fzuhelper-server/pkg/logger"
"github.com/west2-online/fzuhelper-server/pkg/utils"
"github.com/west2-online/jwch"
)

func (s *CourseService) GetCourseList(req *course.CourseListRequest) ([]*jwch.Course, error) {
stu := jwch.NewStudent().WithLoginData(req.LoginData.Id, utils.ParseCookies(req.LoginData.Cookies))
var loginData *login_model.LoginData
var err error

loginData, err = context.GetLoginData(s.ctx)
if err != nil {
return nil, fmt.Errorf("service.GetCourseList: Get login data fail: %w", err)
}

stu := jwch.NewStudent().WithLoginData(loginData.GetId(), utils.ParseCookies(loginData.GetCookies()))

terms, err := stu.GetTerms()
if err = base.HandleJwchError(err); err != nil {
Expand All @@ -49,7 +59,7 @@ func (s *CourseService) GetCourseList(req *course.CourseListRequest) ([]*jwch.Co

// async put course list to db
go func() {
if err := s.putCourseListToDatabase(req.LoginData.Id, req.Term, courses); err != nil {
if err := s.putCourseListToDatabase(loginData.GetId(), req.Term, courses); err != nil {
logger.Errorf("service.GetCourseList: putCourseListToDatabase failed: %v", err)
}
}()
Expand Down
7 changes: 4 additions & 3 deletions internal/course/service/get_course_list_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
"github.com/west2-online/fzuhelper-server/kitex_gen/course"
"github.com/west2-online/fzuhelper-server/kitex_gen/model"
"github.com/west2-online/fzuhelper-server/pkg/base"
customContext "github.com/west2-online/fzuhelper-server/pkg/base/context"
"github.com/west2-online/fzuhelper-server/pkg/cache"
"github.com/west2-online/fzuhelper-server/pkg/db"
"github.com/west2-online/fzuhelper-server/pkg/utils"
Expand Down Expand Up @@ -147,8 +148,7 @@ func TestCourseService_GetCourseList(t *testing.T) {
Cookies: "cookie1=value1; cookie2=value2",
}
req := &course.CourseListRequest{
LoginData: mockLoginData,
Term: "202401",
Term: "202401",
}
defer mockey.UnPatchAll()

Expand All @@ -163,7 +163,8 @@ func TestCourseService_GetCourseList(t *testing.T) {
mockClientSet.DBClient = new(db.Database)
mockClientSet.CacheClient = new(cache.Cache)

courseService := NewCourseService(context.Background(), mockClientSet)
ctx := customContext.WithLoginData(context.Background(), mockLoginData)
courseService := NewCourseService(ctx, mockClientSet)

result, err := courseService.GetCourseList(req)

Expand Down
92 changes: 9 additions & 83 deletions kitex_gen/course/course.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions kitex_gen/course/courseservice/client.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions kitex_gen/course/courseservice/courseservice.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion kitex_gen/course/courseservice/server.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 4a380e9

Please sign in to comment.