From 7f6a6a2ce33e2706647e3ff55d3ed08a25a711b3 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Sat, 18 Jul 2026 21:07:29 +0800 Subject: [PATCH 1/4] fix catalog TUI browse workflow --- internal/cmd/course/course.go | 89 ++++++++++---------- internal/cmd/course/course_test.go | 11 +++ internal/cmd/section/section.go | 111 +++++++++++++------------ internal/cmd/section/section_test.go | 8 ++ internal/cmd/teacher/teacher.go | 81 ++++++++++--------- internal/tui/tui.go | 116 ++++++++++++++++++++------- internal/tui/tui_test.go | 113 ++++++++++++++++++++++++++ 7 files changed, 370 insertions(+), 159 deletions(-) create mode 100644 internal/cmd/course/course_test.go diff --git a/internal/cmd/course/course.go b/internal/cmd/course/course.go index 511fd9d..8701347 100644 --- a/internal/cmd/course/course.go +++ b/internal/cmd/course/course.go @@ -85,6 +85,9 @@ func runCourseList(cmd *cobra.Command, opts courseListOpts) error { } return tui.TableResult{Rows: list.Rows, Total: list.Total, Page: list.Page}, nil }, + OnSelect: func(row map[string]any) error { + return runCourseView(cmd, fmt.Sprint(row["jwId"])) + }, EmptyMessage: "No courses found. Try a broader search.", }) } @@ -126,7 +129,7 @@ func courseListColumns() []output.Column { {Header: "Code", Key: "code"}, {Header: "Name", Key: "namePrimary"}, {Header: "Level", Key: "educationLevel.name"}, - {Header: "ID", Key: "id"}, + {Header: "JW ID", Key: "jwId"}, } } @@ -161,46 +164,50 @@ func newCmdView() *cobra.Command { Short: "View course details", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - c, err := api.NewTypedClient(cmdutil.ServerFromCmd(cmd), false) - if err != nil { - return err - } - jwID, err := cmdutil.Int64PtrIfSet(args[0]) - if err != nil { - return err - } - data, err := api.ParseResponseRaw(c.GetCourse(api.Ctx(), *jwID)) - if err != nil { - return err - } - if output.IsJSON() { - return output.JSON(data) - } - m := cmdutil.AsMap(data) - output.KVWithTitle([]output.KVPair{ - {Key: "ID", Value: output.Resolve(m, "id")}, - {Key: "Code", Value: output.Resolve(m, "code")}, - {Key: "Name", Value: output.Resolve(m, "namePrimary")}, - {Key: "Name (EN)", Value: output.Resolve(m, "nameSecondary")}, - {Key: "Level", Value: output.Resolve(m, "educationLevel.name")}, - {Key: "Category", Value: output.Resolve(m, "category.name")}, - {Key: "Class type", Value: output.Resolve(m, "classType.name")}, - {Key: "Gradation", Value: output.Resolve(m, "gradation.name")}, - {Key: "Course type", Value: output.Resolve(m, "type.name")}, - }, "Course") - - if sections, ok := m["sections"].([]any); ok && len(sections) > 0 { - fmt.Println() - output.Bold(" Sections") - rows := cmdutil.RowsFromAny(sections) - output.Table(rows, []output.Column{ - {Header: "ID", Key: "id"}, - {Header: "Code", Key: "code"}, - {Header: "Semester", Key: "semester.name"}, - {Header: "Campus", Key: "campus.name"}, - }) - } - return nil + return runCourseView(cmd, args[0]) }, } } + +func runCourseView(cmd *cobra.Command, id string) error { + c, err := api.NewTypedClient(cmdutil.ServerFromCmd(cmd), false) + if err != nil { + return err + } + jwID, err := cmdutil.Int64PtrIfSet(id) + if err != nil { + return err + } + data, err := api.ParseResponseRaw(c.GetCourse(api.Ctx(), *jwID)) + if err != nil { + return err + } + if output.IsJSON() { + return output.JSON(data) + } + m := cmdutil.AsMap(data) + output.KVWithTitle([]output.KVPair{ + {Key: "ID", Value: output.Resolve(m, "id")}, + {Key: "Code", Value: output.Resolve(m, "code")}, + {Key: "Name", Value: output.Resolve(m, "namePrimary")}, + {Key: "Name (EN)", Value: output.Resolve(m, "nameSecondary")}, + {Key: "Level", Value: output.Resolve(m, "educationLevel.name")}, + {Key: "Category", Value: output.Resolve(m, "category.name")}, + {Key: "Class type", Value: output.Resolve(m, "classType.name")}, + {Key: "Gradation", Value: output.Resolve(m, "gradation.name")}, + {Key: "Course type", Value: output.Resolve(m, "type.name")}, + }, "Course") + + if sections, ok := m["sections"].([]any); ok && len(sections) > 0 { + fmt.Println() + output.Bold(" Sections") + rows := cmdutil.RowsFromAny(sections) + output.Table(rows, []output.Column{ + {Header: "ID", Key: "id"}, + {Header: "Code", Key: "code"}, + {Header: "Semester", Key: "semester.name"}, + {Header: "Campus", Key: "campus.name"}, + }) + } + return nil +} diff --git a/internal/cmd/course/course_test.go b/internal/cmd/course/course_test.go new file mode 100644 index 0000000..f16b0ef --- /dev/null +++ b/internal/cmd/course/course_test.go @@ -0,0 +1,11 @@ +package course + +import "testing" + +func TestCourseListUsesViewIdentifier(t *testing.T) { + columns := courseListColumns() + last := columns[len(columns)-1] + if last.Header != "JW ID" || last.Key != "jwId" { + t.Fatalf("last column = %#v, want JW ID backed by jwId", last) + } +} diff --git a/internal/cmd/section/section.go b/internal/cmd/section/section.go index 6ae2f8e..5de6809 100644 --- a/internal/cmd/section/section.go +++ b/internal/cmd/section/section.go @@ -107,6 +107,9 @@ func runSectionList(cmd *cobra.Command, opts sectionListOpts) error { } return tui.TableResult{Rows: list.Rows, Total: list.Total, Page: list.Page}, nil }, + OnSelect: func(row map[string]any) error { + return runSectionView(cmd, fmt.Sprint(row["jwId"])) + }, EmptyMessage: "No sections found. Try a broader search.", }) } @@ -156,7 +159,7 @@ func sectionListColumns() []output.Column { {Header: "Course", Key: "course.namePrimary"}, {Header: "Semester", Key: "semester.name"}, {Header: "Campus", Key: "campus.name"}, - {Header: "ID", Key: "id"}, + {Header: "JW ID", Key: "jwId"}, } } @@ -194,60 +197,64 @@ func newCmdView() *cobra.Command { Short: "View section details", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - c, err := api.NewTypedClient(cmdutil.ServerFromCmd(cmd), false) - if err != nil { - return err - } - jwID, err := cmdutil.Int64PtrIfSet(args[0]) - if err != nil { - return err - } - data, err := api.ParseResponseRaw(c.GetSection(api.Ctx(), *jwID)) - if err != nil { - return err - } - if output.IsJSON() { - return output.JSON(data) - } - m := cmdutil.AsMap(data) - output.KVWithTitle([]output.KVPair{ - {Key: "ID", Value: output.Resolve(m, "id")}, - {Key: "Code", Value: output.Resolve(m, "code")}, - {Key: "Course", Value: output.Resolve(m, "course.namePrimary")}, - {Key: "Semester", Value: output.Resolve(m, "semester.name")}, - {Key: "Campus", Value: output.Resolve(m, "campus.name")}, - }, "Section") + return runSectionView(cmd, args[0]) + }, + } +} - if teachers, ok := m["teachers"].([]any); ok && len(teachers) > 0 { - fmt.Println() - output.Bold(" Teachers") - rows := cmdutil.RowsFromAny(teachers) - output.Table(rows, []output.Column{ - {Header: "ID", Key: "id"}, - {Header: "Name", Key: "namePrimary"}, - {Header: "Name (EN)", Key: "nameSecondary"}, - {Header: "Department", Key: "department.name"}, - }) - } +func runSectionView(cmd *cobra.Command, id string) error { + c, err := api.NewTypedClient(cmdutil.ServerFromCmd(cmd), false) + if err != nil { + return err + } + jwID, err := cmdutil.Int64PtrIfSet(id) + if err != nil { + return err + } + data, err := api.ParseResponseRaw(c.GetSection(api.Ctx(), *jwID)) + if err != nil { + return err + } + if output.IsJSON() { + return output.JSON(data) + } + m := cmdutil.AsMap(data) + output.KVWithTitle([]output.KVPair{ + {Key: "ID", Value: output.Resolve(m, "id")}, + {Key: "Code", Value: output.Resolve(m, "code")}, + {Key: "Course", Value: output.Resolve(m, "course.namePrimary")}, + {Key: "Semester", Value: output.Resolve(m, "semester.name")}, + {Key: "Campus", Value: output.Resolve(m, "campus.name")}, + }, "Section") - if schedules, ok := m["schedules"].([]any); ok && len(schedules) > 0 { - fmt.Println() - output.Bold(" Schedules") - rows := cmdutil.RowsFromAny(schedules) - for _, row := range rows { - normalizeScheduleRow(row) - } - output.Table(rows, []output.Column{ - {Header: "ID", Key: "id"}, - {Header: "Day", Key: "weekday"}, - {Header: "Start", Key: "startTime"}, - {Header: "End", Key: "endTime"}, - {Header: "Place", Key: "customPlace"}, - }) - } - return nil - }, + if teachers, ok := m["teachers"].([]any); ok && len(teachers) > 0 { + fmt.Println() + output.Bold(" Teachers") + rows := cmdutil.RowsFromAny(teachers) + output.Table(rows, []output.Column{ + {Header: "ID", Key: "id"}, + {Header: "Name", Key: "namePrimary"}, + {Header: "Name (EN)", Key: "nameSecondary"}, + {Header: "Department", Key: "department.name"}, + }) + } + + if schedules, ok := m["schedules"].([]any); ok && len(schedules) > 0 { + fmt.Println() + output.Bold(" Schedules") + rows := cmdutil.RowsFromAny(schedules) + for _, row := range rows { + normalizeScheduleRow(row) + } + output.Table(rows, []output.Column{ + {Header: "ID", Key: "id"}, + {Header: "Day", Key: "weekday"}, + {Header: "Start", Key: "startTime"}, + {Header: "End", Key: "endTime"}, + {Header: "Place", Key: "customPlace"}, + }) } + return nil } func newCmdSchedules() *cobra.Command { diff --git a/internal/cmd/section/section_test.go b/internal/cmd/section/section_test.go index 0624475..83fd6dc 100644 --- a/internal/cmd/section/section_test.go +++ b/internal/cmd/section/section_test.go @@ -119,3 +119,11 @@ func TestNormalizeScheduleRow_FullRow(t *testing.T) { t.Errorf("endTime: got %v, want 10:40", got) } } + +func TestSectionListUsesViewIdentifier(t *testing.T) { + columns := sectionListColumns() + last := columns[len(columns)-1] + if last.Header != "JW ID" || last.Key != "jwId" { + t.Fatalf("last column = %#v, want JW ID backed by jwId", last) + } +} diff --git a/internal/cmd/teacher/teacher.go b/internal/cmd/teacher/teacher.go index 53b2944..b9ff33d 100644 --- a/internal/cmd/teacher/teacher.go +++ b/internal/cmd/teacher/teacher.go @@ -84,6 +84,9 @@ func runTeacherList(cmd *cobra.Command, opts teacherListOpts) error { } return tui.TableResult{Rows: list.Rows, Total: list.Total, Page: list.Page}, nil }, + OnSelect: func(row map[string]any) error { + return runTeacherView(cmd, fmt.Sprint(row["id"])) + }, EmptyMessage: "No teachers found. Try a broader search.", }) } @@ -152,43 +155,47 @@ func newCmdView() *cobra.Command { Short: "View teacher details", Args: cobra.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - c, err := api.NewTypedClient(cmdutil.ServerFromCmd(cmd), false) - if err != nil { - return err - } - teacherID, err := strconv.ParseInt(args[0], 10, 64) - if err != nil { - return fmt.Errorf("invalid teacher id %q: %w", args[0], err) - } - data, err := api.ParseResponseRaw(c.GetTeacher(api.Ctx(), teacherID)) - if err != nil { - return err - } - if output.IsJSON() { - return output.JSON(data) - } - m := cmdutil.AsMap(data) - output.KVWithTitle([]output.KVPair{ - {Key: "ID", Value: output.Resolve(m, "id")}, - {Key: "Code", Value: output.Resolve(m, "code")}, - {Key: "Name", Value: output.Resolve(m, "namePrimary")}, - {Key: "Name (EN)", Value: output.Resolve(m, "nameSecondary")}, - {Key: "Department", Value: output.Resolve(m, "department.name")}, - {Key: "Title", Value: output.Resolve(m, "title")}, - }, "Teacher") - - if sections, ok := m["sections"].([]any); ok && len(sections) > 0 { - fmt.Println() - output.Bold(" Sections") - rows := cmdutil.RowsFromAny(sections) - output.Table(rows, []output.Column{ - {Header: "ID", Key: "id"}, - {Header: "Code", Key: "code"}, - {Header: "Course", Key: "course.namePrimary"}, - {Header: "Semester", Key: "semester.name"}, - }) - } - return nil + return runTeacherView(cmd, args[0]) }, } } + +func runTeacherView(cmd *cobra.Command, id string) error { + c, err := api.NewTypedClient(cmdutil.ServerFromCmd(cmd), false) + if err != nil { + return err + } + teacherID, err := strconv.ParseInt(id, 10, 64) + if err != nil { + return fmt.Errorf("invalid teacher id %q: %w", id, err) + } + data, err := api.ParseResponseRaw(c.GetTeacher(api.Ctx(), teacherID)) + if err != nil { + return err + } + if output.IsJSON() { + return output.JSON(data) + } + m := cmdutil.AsMap(data) + output.KVWithTitle([]output.KVPair{ + {Key: "ID", Value: output.Resolve(m, "id")}, + {Key: "Code", Value: output.Resolve(m, "code")}, + {Key: "Name", Value: output.Resolve(m, "namePrimary")}, + {Key: "Name (EN)", Value: output.Resolve(m, "nameSecondary")}, + {Key: "Department", Value: output.Resolve(m, "department.name")}, + {Key: "Title", Value: output.Resolve(m, "title")}, + }, "Teacher") + + if sections, ok := m["sections"].([]any); ok && len(sections) > 0 { + fmt.Println() + output.Bold(" Sections") + rows := cmdutil.RowsFromAny(sections) + output.Table(rows, []output.Column{ + {Header: "ID", Key: "id"}, + {Header: "Code", Key: "code"}, + {Header: "Course", Key: "course.namePrimary"}, + {Header: "Semester", Key: "semester.name"}, + }) + } + return nil +} diff --git a/internal/tui/tui.go b/internal/tui/tui.go index 4eaac05..f93fcac 100644 --- a/internal/tui/tui.go +++ b/internal/tui/tui.go @@ -9,7 +9,9 @@ import ( "github.com/charmbracelet/bubbles/textinput" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" + "github.com/fatih/color" "github.com/mattn/go-runewidth" + "github.com/muesli/termenv" ) type SearchForm struct { @@ -36,6 +38,7 @@ type SearchTable struct { Form SearchForm Columns []output.Column Fetch func(SearchResult) (TableResult, error) + OnSelect func(map[string]any) error EmptyMessage string } @@ -48,17 +51,18 @@ const ( ) type tableModel struct { - spec SearchTable - inputs []textinput.Model - focus int - err string - mode tableMode - query SearchResult - result TableResult - selected int - scroll int - width int - height int + spec SearchTable + inputs []textinput.Model + focus int + err string + mode tableMode + query SearchResult + result TableResult + selected int + selection map[string]any + scroll int + width int + height int } type tableFetchMsg struct { @@ -70,9 +74,29 @@ func RunSearchTable(spec SearchTable) error { if spec.Fetch == nil { return fmt.Errorf("missing TUI fetch function") } + restoreColorProfile := configureSearchTableColors() + defer restoreColorProfile() + model := newTableModel(spec) - _, err := tea.NewProgram(model, tea.WithAltScreen()).Run() - return err + finalModel, err := tea.NewProgram(model, tea.WithAltScreen()).Run() + if err != nil { + return err + } + if result, ok := finalModel.(tableModel); ok && result.selection != nil && spec.OnSelect != nil { + return spec.OnSelect(result.selection) + } + return nil +} + +func configureSearchTableColors() func() { + if !output.Current.NoColor && !color.NoColor { + return func() {} + } + previous := lipgloss.ColorProfile() + lipgloss.SetColorProfile(termenv.Ascii) + return func() { + lipgloss.SetColorProfile(previous) + } } func newTableModel(spec SearchTable) tableModel { @@ -191,7 +215,16 @@ func (m tableModel) updateResults(msg tea.KeyMsg) (tea.Model, tea.Cmd) { switch msg.String() { case "ctrl+c", "esc", "q": return m, tea.Quit - case "/", "e", "enter": + case "/", "e": + m.mode = tableModeSearch + m.err = "" + m = m.focusInput(0) + return m, nil + case "enter": + if m.spec.OnSelect != nil && len(m.result.Rows) > 0 { + m.selection = m.result.Rows[m.selected] + return m, tea.Quit + } m.mode = tableModeSearch m.err = "" m = m.focusInput(0) @@ -288,7 +321,7 @@ func (m tableModel) searchView() string { } body := lipgloss.JoinVertical(lipgloss.Left, parts...) - return formBoxStyle.Width(contentWidth).Render(body) + return renderFormBox(body, contentWidth) } func (m tableModel) loadingView() string { @@ -302,7 +335,7 @@ func (m tableModel) loadingView() string { "", mutedStyle.Render("esc quit"), ) - return formBoxStyle.Width(contentWidth).Render(body) + return renderFormBox(body, contentWidth) } func (m tableModel) resultsView() string { @@ -324,10 +357,10 @@ func (m tableModel) resultsView() string { mutedStyle.Width(contentWidth).Render(helpText), ) body := lipgloss.JoinVertical(lipgloss.Left, parts...) - return formBoxStyle.Width(contentWidth).Render(body) + return renderFormBox(body, contentWidth) } - parts = append(parts, mutedStyle.Render(resultSummary(m.result))) + parts = append(parts, mutedStyle.Width(contentWidth).Render(resultSummary(m.result))) if len(m.result.Rows) == 0 { msg := m.spec.EmptyMessage if msg == "" { @@ -350,7 +383,15 @@ func (m tableModel) resultsView() string { parts = append(parts, "", mutedStyle.Width(contentWidth).Render(helpText)) } body := lipgloss.JoinVertical(lipgloss.Left, parts...) - return formBoxStyle.Width(contentWidth).Render(body) + return renderFormBox(body, contentWidth) +} + +func renderFormBox(body string, width int) string { + lines := strings.Split(body, "\n") + for i, line := range lines { + lines[i] = line + strings.Repeat(" ", max(0, width-lipgloss.Width(line))) + } + return formBoxStyle.Render(strings.Join(lines, "\n")) } func (m tableModel) renderTable(width int) string { @@ -366,7 +407,7 @@ func (m tableModel) renderTable(width int) string { absolute := m.scroll + i line := tableLine(cols, row, colWidths, gap, width, false) if absolute == m.selected { - line = selectedRowStyle.Width(width).Render(line) + line = selectedRowStyle.Render(line) } lines = append(lines, line) } @@ -427,20 +468,40 @@ func (m tableModel) canPageNext() bool { func (m tableModel) resultsHelpText(compact bool) string { if compact { + if m.spec.OnSelect != nil && len(m.result.Rows) > 0 { + if m.canPageNext() || m.currentPage() > 1 { + return "enter open • p/n • / edit • esc" + } + return "enter open • ↑/↓ • / edit • esc" + } if m.canPageNext() || m.currentPage() > 1 { return "p/n page • / edit • esc" } return "↑/↓ • r • / edit • esc" } - parts := []string{"↑/↓ move", "r refresh"} - if m.currentPage() > 1 { + if m.spec.OnSelect == nil || len(m.result.Rows) == 0 { + parts := []string{"↑/↓ move", "r refresh"} + if m.currentPage() > 1 { + parts = append(parts, "p prev") + } + if m.canPageNext() { + parts = append(parts, "n next") + } + parts = append(parts, "/ edit search", "esc quit") + return strings.Join(parts, " • ") + } + parts := make([]string, 0, 6) + parts = append(parts, "enter open") + parts = append(parts, "↑/↓ move", "r refresh") + if m.currentPage() > 1 && m.canPageNext() { + parts = append(parts, "p/n page") + } else if m.currentPage() > 1 { parts = append(parts, "p prev") - } - if m.canPageNext() { + } else if m.canPageNext() { parts = append(parts, "n next") } - parts = append(parts, "/ edit search", "esc quit") - return strings.Join(parts, " • ") + parts = append(parts, "/ edit", "esc quit") + return strings.Join(parts, " • ") } func (m tableModel) focusNext() tableModel { @@ -477,8 +538,6 @@ func (m tableModel) resultFromInputs() (SearchResult, error) { }, nil } - - func (m tableModel) searchContentWidth() int { return contentWidth(m.width, maxFormOuterWidth) } @@ -615,7 +674,6 @@ func tableCell(row map[string]any, col output.Column) string { return output.FormatCellPlain(output.Resolve(row, col.Key)) } - func padCell(value string, width int) string { if runewidth.StringWidth(value) > width { value = truncateCell(value, width) diff --git a/internal/tui/tui_test.go b/internal/tui/tui_test.go index 9811f57..8f92c1f 100644 --- a/internal/tui/tui_test.go +++ b/internal/tui/tui_test.go @@ -7,6 +7,8 @@ import ( "github.com/Life-USTC/CLI/internal/output" tea "github.com/charmbracelet/bubbletea" "github.com/charmbracelet/lipgloss" + "github.com/fatih/color" + "github.com/muesli/termenv" ) func TestSearchResultFromInputs(t *testing.T) { @@ -136,6 +138,53 @@ func TestSearchTableEditReturnsToSearchWithoutQuitting(t *testing.T) { } } +func TestSearchTableEnterSelectsHighlightedRow(t *testing.T) { + m := newTableModel(SearchTable{ + OnSelect: func(map[string]any) error { return nil }, + }) + m.mode = tableModeResults + m.selected = 1 + m.result.Rows = []map[string]any{ + {"jwId": float64(101)}, + {"jwId": float64(202)}, + } + + updated, cmd := m.Update(tea.KeyMsg{Type: tea.KeyEnter}) + m = updated.(tableModel) + if cmd == nil { + t.Fatal("enter should quit the TUI before opening the selected result") + } + if _, ok := cmd().(tea.QuitMsg); !ok { + t.Fatalf("enter command = %T, want tea.QuitMsg", cmd()) + } + if got := m.selection["jwId"]; got != float64(202) { + t.Fatalf("selected jwId = %v, want 202", got) + } +} + +func TestSearchTableNoColorUsesAsciiProfile(t *testing.T) { + previousProfile := lipgloss.ColorProfile() + previousNoColor := output.Current.NoColor + previousFatihNoColor := color.NoColor + lipgloss.SetColorProfile(termenv.ANSI256) + output.Current.NoColor = true + color.NoColor = false + t.Cleanup(func() { + lipgloss.SetColorProfile(previousProfile) + output.Current.NoColor = previousNoColor + color.NoColor = previousFatihNoColor + }) + + restore := configureSearchTableColors() + if got := lipgloss.ColorProfile(); got != termenv.Ascii { + t.Fatalf("color profile = %v, want Ascii", got) + } + restore() + if got := lipgloss.ColorProfile(); got != termenv.ANSI256 { + t.Fatalf("restored color profile = %v, want ANSI256", got) + } +} + func TestSearchTableCanPageInsideResults(t *testing.T) { var got SearchResult m := newTableModel(SearchTable{ @@ -183,6 +232,7 @@ func TestSearchTableResultsFitCompactWindow(t *testing.T) { Fetch: func(SearchResult) (TableResult, error) { return TableResult{}, nil }, + OnSelect: func(map[string]any) error { return nil }, }) updated, _ := m.Update(tea.WindowSizeMsg{Width: 40, Height: 12}) m = updated.(tableModel) @@ -208,6 +258,69 @@ func TestSearchTableResultsFitCompactWindow(t *testing.T) { if renderedHeight := lipgloss.Height(rendered); renderedHeight > 12 { t.Fatalf("rendered height = %d, want <= 12\n%s", renderedHeight, rendered) } + if !strings.Contains(rendered, "enter open") { + t.Fatalf("compact results did not show the selection action:\n%s", rendered) + } +} + +func TestSearchTableSelectedCJKRowDoesNotWrapWithColor(t *testing.T) { + previousProfile := lipgloss.ColorProfile() + lipgloss.SetColorProfile(termenv.ANSI256) + t.Cleanup(func() { + lipgloss.SetColorProfile(previousProfile) + }) + + m := newTableModel(SearchTable{ + Columns: []output.Column{ + {Header: "Code", Key: "code"}, + {Header: "Name", Key: "namePrimary"}, + {Header: "Level", Key: "educationLevel.name"}, + {Header: "JW ID", Key: "jwId"}, + }, + OnSelect: func(map[string]any) error { return nil }, + }) + m.mode = tableModeResults + m.result = TableResult{ + Rows: []map[string]any{ + { + "code": "MATH101", + "namePrimary": "数学分析(B1)", + "educationLevel": map[string]any{"name": "Undergraduate"}, + "jwId": "course-jw-id-1", + }, + { + "code": "MATH102", + "namePrimary": "线性代数(A)", + "educationLevel": map[string]any{"name": "Undergraduate"}, + "jwId": "course-jw-id-2", + }, + }, + Total: 2, + Page: 1, + } + + for _, size := range []struct { + width int + height int + }{ + {width: 80, height: 24}, + {width: 40, height: 12}, + } { + updated, _ := m.Update(tea.WindowSizeMsg{Width: size.width, Height: size.height}) + sized := updated.(tableModel) + selected := sized.View() + sized.selected = len(sized.result.Rows) + unselected := sized.View() + if selectedHeight, unselectedHeight := lipgloss.Height(selected), lipgloss.Height(unselected); selectedHeight != unselectedHeight { + t.Fatalf("%dx%d selected view height = %d, unselected view height = %d\nselected:\n%s\nunselected:\n%s", size.width, size.height, selectedHeight, unselectedHeight, selected, unselected) + } + if selectedHeight := lipgloss.Height(selected); selectedHeight > size.height { + t.Fatalf("%dx%d selected view height = %d\n%s", size.width, size.height, selectedHeight, selected) + } + if selectedWidth := lipgloss.Width(selected); selectedWidth > size.width { + t.Fatalf("%dx%d selected view width = %d\n%s", size.width, size.height, selectedWidth, selected) + } + } } func TestSearchTableErrorFitsCompactWindow(t *testing.T) { From 5e9c5ca79403acd99e11b728c424109e3de42552 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Sat, 18 Jul 2026 21:07:29 +0800 Subject: [PATCH 2/4] fix OAuth loopback redirect address --- internal/auth/auth.go | 7 +++++-- internal/auth/auth_test.go | 27 +++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/internal/auth/auth.go b/internal/auth/auth.go index 0e80d6b..b31daa9 100644 --- a/internal/auth/auth.go +++ b/internal/auth/auth.go @@ -250,6 +250,10 @@ func openBrowser(url string) error { return cmd.Start() } +func callbackRedirectURI(addr net.Addr) string { + return fmt.Sprintf("http://%s/callback", addr.String()) +} + // Login runs the full OAuth2 Authorization Code + PKCE flow. // Returns a credential to store. func Login(server string) (*config.Credential, error) { @@ -274,8 +278,7 @@ func Login(server string) (*config.Credential, error) { if err != nil { return nil, err } - port := listener.Addr().(*net.TCPAddr).Port - redirectURI := fmt.Sprintf("http://localhost:%d/callback", port) + redirectURI := callbackRedirectURI(listener.Addr()) // Register client clientInfo, err := registerClient(regEndpoint, redirectURI) diff --git a/internal/auth/auth_test.go b/internal/auth/auth_test.go index 30f16c5..ae0e23f 100644 --- a/internal/auth/auth_test.go +++ b/internal/auth/auth_test.go @@ -3,6 +3,9 @@ package auth import ( "crypto/rand" "crypto/rsa" + "net" + "net/url" + "strconv" "testing" "time" @@ -10,6 +13,30 @@ import ( "github.com/go-jose/go-jose/v4/jwt" ) +func TestCallbackRedirectURIMatchesLoopbackListener(t *testing.T) { + listener, err := net.Listen("tcp", "127.0.0.1:0") + if err != nil { + t.Fatal(err) + } + t.Cleanup(func() { + _ = listener.Close() + }) + + redirect, err := url.Parse(callbackRedirectURI(listener.Addr())) + if err != nil { + t.Fatal(err) + } + if redirect.Hostname() != "127.0.0.1" { + t.Fatalf("redirect hostname = %q, want 127.0.0.1", redirect.Hostname()) + } + if redirect.Port() != strconv.Itoa(listener.Addr().(*net.TCPAddr).Port) { + t.Fatalf("redirect port = %q, listener = %q", redirect.Port(), listener.Addr()) + } + if redirect.Path != "/callback" { + t.Fatalf("redirect path = %q, want /callback", redirect.Path) + } +} + func TestVerifiedTokenToCredentialUsesFallbacks(t *testing.T) { vt := &VerifiedToken{ AccessToken: "access", From c4f6c7fb78e23c4ba11a56b8953fde4663ff29c7 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Sat, 18 Jul 2026 21:07:29 +0800 Subject: [PATCH 3/4] remove stale TUI screenshots --- tui-screenshots/course-80x20.png | Bin 68750 -> 0 bytes tui-screenshots/section-80x20.png | Bin 71240 -> 0 bytes tui-screenshots/teacher-40x12-compact.png | Bin 33337 -> 0 bytes tui-screenshots/teacher-80x20.png | Bin 69758 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tui-screenshots/course-80x20.png delete mode 100644 tui-screenshots/section-80x20.png delete mode 100644 tui-screenshots/teacher-40x12-compact.png delete mode 100644 tui-screenshots/teacher-80x20.png diff --git a/tui-screenshots/course-80x20.png b/tui-screenshots/course-80x20.png deleted file mode 100644 index 81c723d8da92f7c444406fa92a210b61cebf79eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68750 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 diff --git a/tui-screenshots/section-80x20.png b/tui-screenshots/section-80x20.png deleted file mode 100644 index f637cb599133ccec60b96c0fb8621421acede800..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71240 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 HnEC%N%_fO~ diff --git a/tui-screenshots/teacher-80x20.png b/tui-screenshots/teacher-80x20.png deleted file mode 100644 index 2c00f4f1fc1bda25e134c96e24323aad59eb23e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69758 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 From 11e76798d8bc8203cd9ee427bf3d6ffa1992b5f3 Mon Sep 17 00:00:00 2001 From: Tiankai Ma Date: Sat, 18 Jul 2026 23:20:38 +0800 Subject: [PATCH 4/4] chore(openapi): sync current server contract --- api/openapi.json | 288 +++++++++++++++++++++++++++++++++ internal/openapi/client.gen.go | 58 ++++++- 2 files changed, 341 insertions(+), 5 deletions(-) diff --git a/api/openapi.json b/api/openapi.json index 0ddfe14..a11ccd3 100644 --- a/api/openapi.json +++ b/api/openapi.json @@ -8840,6 +8840,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -9545,6 +9557,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -10262,6 +10286,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -12046,6 +12082,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -12881,6 +12929,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -14283,6 +14343,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -17662,6 +17734,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -18349,6 +18433,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -19048,6 +19144,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -19803,6 +19911,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -20460,6 +20580,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -21117,6 +21249,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -21776,6 +21920,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -22562,6 +22718,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -23780,6 +23948,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -24355,6 +24535,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -25579,6 +25771,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -26188,6 +26392,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -26817,6 +27033,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -27155,6 +27383,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -28554,6 +28794,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -29371,6 +29623,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -31380,6 +31644,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, @@ -32433,6 +32709,18 @@ "minimum": -9007199254740991, "maximum": 9007199254740991 }, + "sourceLastSeenAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, + "retiredAt": { + "nullable": true, + "type": "string", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$" + }, "code": { "type": "string" }, diff --git a/internal/openapi/client.gen.go b/internal/openapi/client.gen.go index 3cbc394..b1d8c7b 100644 --- a/internal/openapi/client.gen.go +++ b/internal/openapi/client.gen.go @@ -2361,6 +2361,7 @@ type CalendarSubscriptionAppendResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -2368,6 +2369,7 @@ type CalendarSubscriptionAppendResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -2514,6 +2516,7 @@ type CalendarSubscriptionBatchResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -2521,6 +2524,7 @@ type CalendarSubscriptionBatchResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -2643,6 +2647,7 @@ type CalendarSubscriptionBatchResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -2650,6 +2655,7 @@ type CalendarSubscriptionBatchResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -2786,6 +2792,7 @@ type CalendarSubscriptionCreateResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -2793,6 +2800,7 @@ type CalendarSubscriptionCreateResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -2913,6 +2921,7 @@ type CalendarSubscriptionImportResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -2920,6 +2929,7 @@ type CalendarSubscriptionImportResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -3034,6 +3044,7 @@ type CalendarSubscriptionImportResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -3041,6 +3052,7 @@ type CalendarSubscriptionImportResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -3156,6 +3168,7 @@ type CalendarSubscriptionImportResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -3163,6 +3176,7 @@ type CalendarSubscriptionImportResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -3285,6 +3299,7 @@ type CalendarSubscriptionImportResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -3292,6 +3307,7 @@ type CalendarSubscriptionImportResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -3433,6 +3449,7 @@ type CalendarSubscriptionQueryResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -3440,6 +3457,7 @@ type CalendarSubscriptionQueryResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -3575,6 +3593,7 @@ type CalendarSubscriptionRemoveResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -3582,6 +3601,7 @@ type CalendarSubscriptionRemoveResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -3958,6 +3978,7 @@ type CompactOverviewResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -3965,6 +3986,7 @@ type CompactOverviewResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -4053,6 +4075,7 @@ type CompactOverviewResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -4060,6 +4083,7 @@ type CompactOverviewResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -4187,6 +4211,7 @@ type CompactOverviewResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -4194,6 +4219,7 @@ type CompactOverviewResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -4336,6 +4362,7 @@ type CourseDetailSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -4343,6 +4370,7 @@ type CourseDetailSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -4468,6 +4496,7 @@ type CurrentCalendarSubscriptionResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -4475,6 +4504,7 @@ type CurrentCalendarSubscriptionResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -4952,6 +4982,7 @@ type HomeworkCreateResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -4959,6 +4990,7 @@ type HomeworkCreateResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -5103,6 +5135,7 @@ type HomeworkUpdateResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -5110,6 +5143,7 @@ type HomeworkUpdateResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -5225,6 +5259,7 @@ type HomeworksListResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -5232,6 +5267,7 @@ type HomeworksListResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -5386,6 +5422,7 @@ type MatchSectionCodesResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -5393,6 +5430,7 @@ type MatchSectionCodesResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -5753,6 +5791,7 @@ type PaginatedScheduleResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -5760,6 +5799,7 @@ type PaginatedScheduleResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -6057,11 +6097,12 @@ type SectionDetailSchema struct { NameCn string `json:"nameCn"` NameEn *string `json:"nameEn"` } `json:"openDepartment"` - OpenDepartmentId *int `json:"openDepartmentId"` - Period *int `json:"period"` - PeriodsPerWeek *int `json:"periodsPerWeek"` - PracticePeriods *float32 `json:"practicePeriods"` - Remark *string `json:"remark"` + OpenDepartmentId *int `json:"openDepartmentId"` + Period *int `json:"period"` + PeriodsPerWeek *int `json:"periodsPerWeek"` + PracticePeriods *float32 `json:"practicePeriods"` + Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomType *struct { Code string `json:"code"` Id int `json:"id"` @@ -6104,6 +6145,7 @@ type SectionDetailSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -6289,6 +6331,7 @@ type SubscribedHomeworksResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -6296,6 +6339,7 @@ type SubscribedHomeworksResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -6438,6 +6482,7 @@ type SubscribedSchedulesResponseSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -6445,6 +6490,7 @@ type SubscribedSchedulesResponseSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"` @@ -6584,6 +6630,7 @@ type TeacherDetailSchema struct { PeriodsPerWeek *int `json:"periodsPerWeek"` PracticePeriods *float32 `json:"practicePeriods"` Remark *string `json:"remark"` + RetiredAt *time.Time `json:"retiredAt,omitempty"` RoomTypeId *int `json:"roomTypeId"` ScheduleJsonParams interface{} `json:"scheduleJsonParams"` ScheduleRemark *string `json:"scheduleRemark"` @@ -6591,6 +6638,7 @@ type TeacherDetailSchema struct { SelectedStdCount *int `json:"selectedStdCount"` Semester *SemesterSchema `json:"semester"` SemesterId *int `json:"semesterId"` + SourceLastSeenAt *time.Time `json:"sourceLastSeenAt,omitempty"` StdCount *int `json:"stdCount"` SuggestScheduleWeekInfo *string `json:"suggestScheduleWeekInfo"` SuggestScheduleWeeks interface{} `json:"suggestScheduleWeeks"`