Skip to content

SubjectSummaryにrequirementsフィールドを追加 - #67

Open
zakiPoteto wants to merge 3 commits into
mainfrom
feature/subject-summary-requirements
Open

SubjectSummaryにrequirementsフィールドを追加#67
zakiPoteto wants to merge 3 commits into
mainfrom
feature/subject-summary-requirements

Conversation

@zakiPoteto

@zakiPoteto zakiPoteto commented Sep 8, 2026

Copy link
Copy Markdown

Summary

  • 一覧用モデルSubjectSummaryに、詳細用モデルSubjectDetailにのみ存在していたrequirementsフィールドを追加
  • 一覧APIで必修科目を判定できるようにする(科目登録体験改善 施策のサーバ変更単位①)
  • academic-api側のSubject.requirements?は既にoptionalなlist/detail共通モデルのため変更不要(確認済み)

Test plan

  • tsp compile . が成功することを確認
  • 生成されたtsp-output/schema/openapi.AppBFFService.yamlSubjectSummaryrequirements(必須項目)が追加されていることを確認
  • distribute-yaml.ymlを手動workflow_dispatchで実行しスキーマを配布
  • serverhandler/converter_subject.gosubjectToAPIにRequirements追加は別PRで対応

一覧APIで必修科目を判定できるようにするため、詳細用モデルSubjectDetailにのみ存在していたrequirementsをSubjectSummaryにも追加する。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ESKebxSqfazc45RBCJCGVh
@kantacky

kantacky commented Sep 8, 2026

Copy link
Copy Markdown
Member

@zakiPoteto
これは科目登録で使うための変更かな?
なんか前にちょっと話した気がするけど、既存の実装でもアプリで複数のエンドポイントを叩いてaggregateしてて、実装として微妙だから、科目登録用にエンドポイント生やしても良さそうな気がしたけどどうだろう?

zakiPoteto and others added 2 commits September 9, 2026 11:49
科目検索画面(search_subject_reducer.dart)がgetSubjects/getCourseRegistrations/
getTimetableItemsの3エンドポイントをクライアント側でマージしている問題への対応。
新エンドポイントを生やすのではなく、既存のGET /v1/subjectsが返すモデル自体に
必要なフィールドを追加する形にした。

- academic-api: SubjectにisRegistered?/slots?を追加、SubjectsV1.listにuserId?を追加
- app-bff-api: SubjectSummaryにisRegistered/slotsを追加
  (GET /v1/subjectsは未ログインでも呼び出せる仕様を維持。Bearerトークンがある場合のみ
  isRegisteredをユーザー基準で計算し、無い場合は全科目falseを返す)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018TpGeornAqcXew3fPTb6A6
@zakiPoteto

zakiPoteto commented Sep 9, 2026

Copy link
Copy Markdown
Author

@zakiPoteto これは科目登録で使うための変更かな? なんか前にちょっと話した気がするけど、既存の実装でもアプリで複数のエンドポイントを叩いてaggregateしてて、実装として微妙だから、科目登録用にエンドポイント生やしても良さそうな気がしたけどどうだろう?

@kantacky さん
ご指摘ありがとうございます。Claude Codeと実装していたところ
Claudeと指摘の解釈がずれていました。私の解釈ベースで添付PRで実装しましたが、意図とあっていますでしょうか?

解釈 内容
@zakiPoteto 今後は機能ごとに専用エンドポイントを生やす方針にすべき。既存の汎用モデルに機能を継ぎ足すのをやめる
Claude 今回の科目検索画面の「複数エンドポイント叩いてaggregate」という個別の実装上の問題を解決できればよく、手段は問わない

該当PR: #70

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants