Skip to content

feat: getAllAffiliations() API の追加 #138

@KinjiKawaguchi

Description

@KinjiKawaguchi

概要

全所属の組み合わせをフラットに列挙する getAllAffiliations() API を追加する。

背景

its-discord の /register コマンドで Discord autocomplete に全所属候補を表示するため、getAffiliationSteps() を再帰的に走査して全組み合わせを列挙するロジックを実装した。このロジックは core の内部構造(ステップの深さ、フィールド名)に密結合しており、大学構造が変わった場合に消費者側も壊れる。

getAffiliationSteps() が「対話的な段階選択」なら、getAllAffiliations() は「全選択肢の一覧取得」で、自然な対になる API。

提案する API

interface AffiliationOption {
  label: string; // "学士課程 / 情報学部 / 昼間コース / 情報科学科"
  courseType: CourseType;
  value: Record<string, string>; // { faculty: "情報学部", enrollmentType: "昼間コース", department: "情報科学科" }
}

function getAllAffiliations(separator?: string): AffiliationOption[]

現在の組み合わせ数

  • 学士課程: 47件
  • 修士課程: 23件
  • 博士課程: 7件
  • 専門職学位課程: 1件
  • 合計: 78件

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions