Line data Source code
1 : // Package entity は 学歴状態を表すドメインエンティティです
2 : package entity
3 :
4 : import "time"
5 :
6 : // EducationStatus は 学歴状態を表すドメインエンティティです
7 : type EducationStatus struct {
8 : ID uint64 `gorm:"primaryKey;autoIncrement;column:id"`
9 : Code string `gorm:"size:32;not null;unique;column:code"`
10 : SortOrder int `gorm:"not null;default:0;column:sort_order"`
11 : IsActive bool `gorm:"not null;default:true;column:is_active"`
12 : CreatedAt time.Time `gorm:"autoCreateTime;column:created_at"`
13 : UpdatedAt time.Time `gorm:"autoUpdateTime;column:updated_at"`
14 : }
15 :
16 : // TableName は GORMのテーブル名を返します
17 0 : func (EducationStatus) TableName() string { return "education_statuses" }
18 :
19 : // EducationStatus◯◯ は education_statuses テーブルの ID を表す定数です。
20 : // マジックナンバーを避けるために、状態ID を参照する箇所ではこれらを利用します。
21 : const (
22 : // EducationStatusEntrance は code=entrance の EducationStatus の IDです。-入学
23 : EducationStatusEntrance uint64 = 1
24 :
25 : // EducationStatusEnrolled は code=enrolled の EducationStatus のIDです。-在学中
26 : EducationStatusEnrolled uint64 = 2
27 :
28 : // EducationStatusLeaveOfAbsence は code=leave_of_absence の EducationStatus のIDです。-休学
29 : EducationStatusLeaveOfAbsence uint64 = 3
30 :
31 : // EducationStatusGraduated は code=graduated の EducationStatus のIDです。-卒業
32 : EducationStatusGraduated uint64 = 4
33 :
34 : // EducationStatusCompleted は code=completed の EducationStatus のIDです。-終了
35 : EducationStatusCompleted uint64 = 5
36 :
37 : // EducationStatusGraduationProspect は code=graduated の EducationStatus のIDです。-卒業見込み
38 : EducationStatusGraduationProspect uint64 = 6
39 :
40 : // EducationStatusWithdrawn は code=withdrawn の EducationStatus のIDです。-退学
41 : EducationStatusWithdrawn uint64 = 7
42 :
43 : // EducationStatusExpelled は code=withdrawn の EducationStatus のIDです。-除籍・放校
44 : EducationStatusExpelled uint64 = 8
45 : )
46 :
47 : // EducationStatus◯◯ は education_statuses テーブルの code を表す定数です。
48 : // バリデーションや分岐で code を扱う場合には、文字列リテラルではなくこれらを利用します。
49 : const (
50 : // EducationStatusCodeEntrance は 入学 を表すcodeです
51 : EducationStatusCodeEntrance = "entrance"
52 :
53 : // EducationStatusCodeEnrolled は 在学中 を表すcodeです
54 : EducationStatusCodeEnrolled = "enrolled"
55 :
56 : // EducationStatusCodeLeaveOfAbsence は 休学 を表すcodeです
57 : EducationStatusCodeLeaveOfAbsence = "leave_of_absence"
58 :
59 : // EducationStatusCodeGraduated は 卒業 を表すcodeです
60 : EducationStatusCodeGraduated = "graduated"
61 :
62 : // EducationStatusCodeCompleted は 修了 を表すcodeです
63 : EducationStatusCodeCompleted = "completed"
64 :
65 : // EducationStatusCodeGraduationProspect は 卒業見込 を表すcodeです
66 : EducationStatusCodeGraduationProspect = "graduation_prospect"
67 :
68 : // EducationStatusCodeWithdrawn は 退学 を表すcodeです
69 : EducationStatusCodeWithdrawn = "withdrawn"
70 :
71 : // EducationStatusCodeExpelled は 除籍・放校 を表すcodeです
72 : EducationStatusCodeExpelled = "expelled"
73 : )
|