Domain
社員
社員の識別・権限・メンタリング関係を管理し、「誰が何をできるか」「誰が誰を見るか」を定義する。
目的
社員の識別・権限・メンタリング関係を管理し、「誰が何をできるか」「誰が誰を見るか」を定義する。
範囲
扱うもの:
- 社員の基本属性(名前、メール、画像)
- 権限(admin / employee)
- メンター/メンティー関係
- プロフィール情報(強み、弱み、キャリアビジョン)
扱わないもの:
- グレード・スキルの定義 → evaluation
- 活動記録・フィードバック → activity
- 認証フロー(ログイン、セッション) → specs/user-auth
用語定義
Employee(社員)
システムを利用する社員。評価の対象であり、権限の主体。
| 属性 | 型 | 説明 | 制約 |
|---|---|---|---|
| id | string | 一意識別子 | UUID、必須 |
| name | string | 氏名 | 必須 |
| familyName | string | 姓 | 任意 |
| givenName | string | 名 | 任意 |
| string | メールアドレス | 必須、一意、@connect-box.jp のみ | |
| image | string | プロフィール画像URL | 必須(デフォルト: イニシャル画像) |
| emailVerified | boolean | メール確認済みフラグ | 必須(Better Auth 管理) |
| role | Role | 権限 | 必須、デフォルト: employee |
| gradeId | number | 所属グレード | 必須、デフォルト: 1(S1) |
Role(権限)
システムで「何ができるか」を決定する。2種類のみ。
マスターデータ
| 値 | 活動・評価データの閲覧範囲 | 管理機能 |
|---|---|---|
admin | 全社員 | 権限変更、メンター関係の管理 |
employee | 自分のみ | なし |
「誰が誰をレビューするか」は権限ではなく、MentorAssignmentで表現する。
MentorAssignment(メンター関係)
メンターとメンティーの紐付け。多対多。
| 属性 | 型 | 説明 | 制約 |
|---|---|---|---|
| mentorId | string | メンター | Employee.id |
| menteeId | string | メンティー | Employee.id |
制約:
mentorId ≠ menteeId(セルフレビュー禁止)- 循環OK(AがBのメンター、BがAのメンター)
Profile(プロフィール)
社員の自己認識とキャリア目標。Employeeに埋め込む。
| 属性 | 型 | 説明 | 制約 |
|---|---|---|---|
| strengths | string[] | 強み | 初期値: []、保存時: 1〜3個必須 |
| weaknesses | string[] | 弱み | 初期値: []、保存時: 1〜3個必須 |
| currentTheme | string? | 今期テーマ | 任意 |
| careerVision1Year | CareerVision? | 1年後 | 任意 |
| careerVision3Year | CareerVision? | 3年後 | 任意 |
CareerVision(キャリアビジョン)
| 属性 | 型 | 説明 |
|---|---|---|
| targetGradeId | number | 目標グレード |
| description | string? | なりたい姿 |
関係性
Loading diagram...
ビジネスルール
- 最後のadmin保護: adminが1人の場合、そのadminの権限は変更不可
- メンター関係の管理権限: adminのみがMentorAssignmentを作成・削除できる
- 活動・評価データの閲覧範囲: employeeは自分のデータのみ閲覧可能、adminは全員のデータを閲覧可能
- 降格時の関係維持: roleをemployeeに変更してもMentorAssignmentは自動削除しない
- 強みの必須: Profileのstrengthsは最低1つ必要
参照
- evaluation.md — Grade, Position, Skill
- activity.md — Activity, Feedback, SkillAchievement
- specs/user-auth.yaml — 認証フロー
- specs/authorization.yaml — 認可の振る舞い