Line data Source code
1 : // Package entity は 学位種別を表すドメインエンティティです
2 : package entity
3 :
4 : import "time"
5 :
6 : // DegreeType は 学位状態を表すドメインエンティティです
7 : type DegreeType struct {
8 : ID uint64 `gorm:"primaryKey;autoIncrement;column:id"`
9 : Code string `gorm:"size:64;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 (DegreeType) TableName() string {
18 0 : return "degree_types"
19 0 : }
20 :
21 : // DegreeType◯◯ は degree_types テーブルの ID を表す定数です。
22 : // マジックナンバーを避けるために、用途 ID を参照する箇所ではこれらを利用します。
23 : const (
24 : // DegreeTypeHighSchool は code=high_school の DegreeType のIDです。
25 : DegreeTypeHighSchool uint64 = 1
26 :
27 : // DegreeTypeVocational は code=vocational の DegreeType のIDです。
28 : DegreeTypeVocational uint64 = 2
29 :
30 : // DegreeTypeJuniorCollege は code=junior_college の DegreeType のIDです。
31 : DegreeTypeJuniorCollege uint64 = 3
32 :
33 : // DegreeTypeBachelor は code=bachelor の DegreeType のIDです。
34 : DegreeTypeBachelor uint64 = 4
35 :
36 : // DegreeTypeMaster は code=master の DegreeType のIDです。
37 : DegreeTypeMaster uint64 = 5
38 :
39 : // DegreeTypeDoctor は code=doctor の DegreeType のIDです。
40 : DegreeTypeDoctor uint64 = 6
41 :
42 : // DegreeTypeOther は code=other の DegreeType のIDです。
43 : DegreeTypeOther uint64 = 7
44 : )
45 :
46 : // DegreeType◯◯ は degree_types テーブルの code を表す定数です。
47 : // バリデーションや分岐で code を扱う場合には、文字列リテラルではなくこれらを利用します。
48 : const (
49 : // DegreeTypeCodeHighSchool は code=high_school を表す code です
50 : DegreeTypeCodeHighSchool = "highSchool"
51 :
52 : // DegreeTypeCodeVocational は code=vocational を表す code です
53 : DegreeTypeCodeVocational = "vocational"
54 :
55 : // DegreeTypeCodeJuniorCollege は code=junior_college を表す code です
56 : DegreeTypeCodeJuniorCollege = "juniorCollege"
57 :
58 : // DegreeTypeCodeBachelor は code=bachelor を表す code です
59 : DegreeTypeCodeBachelor = "bachelor"
60 :
61 : // DegreeTypeCodeMaster は code=master を表す code です
62 : DegreeTypeCodeMaster = "master"
63 :
64 : // DegreeTypeCodeDoctor は code=doctor を表す code です
65 : DegreeTypeCodeDoctor = "doctor"
66 :
67 : // DegreeTypeCodeOther は code=other を表す code です
68 : DegreeTypeCodeOther = "other"
69 : )
|