Line data Source code
1 : package entity
2 :
3 : import "time"
4 :
5 : // Country は国情報のドメインエンティティです。
6 : type Country struct {
7 : Code string // ISO 3166-1 alpha-2 コード(例: JP, US)
8 : IsSupported bool // システムで利用可能か
9 : SortOrder int // 並び順(小さい順に優先)
10 : PhoneCode *string // 国際電話コード(例: "+81")
11 : CreatedAt time.Time // 作成日時
12 : UpdatedAt time.Time // 更新日時
13 : }
14 :
15 : // TableName は GORM 用の明示的なテーブル名指定。
16 : // (GORM のデフォルト規則では複数形にされるが、明示しておくと安全)
17 0 : func (Country) TableName() string {
18 0 : return "countries"
19 0 : }
20 :
21 : // IsActive は利用可能状態を返します。
22 0 : func (c Country) IsActive() bool {
23 0 : return c.IsSupported
24 0 : }
25 :
26 : // DisplayCode は内部コード(大文字)を返します。
27 0 : func (c Country) DisplayCode() string {
28 0 : return c.Code
29 0 : }
|