LCOV - code coverage report
Current view: top level - domain/entity - gender.go Coverage Total Hit
Test: coverage.lcov Lines: 0.0 % 3 0
Test Date: 2026-04-14 06:42:22 Functions: - 0 0

            Line data    Source code
       1              : // Package entity は 性別のドメインエンティティを定義します
       2              : package entity
       3              : 
       4              : import "time"
       5              : 
       6              : // Gender は性別マスタのエンティティです。
       7              : // コード値(male/female/other/unspecified)を主体に、
       8              : // アクティブ状態や並び順などを持ちます。
       9              : // 表示ラベルはi18n辞書で解決されるため、この構造体には含めません。
      10              : type Gender struct {
      11              :         ID        uint8     `json:"id" gorm:"primaryKey;column:id"` // TINYINT UNSIGNED に対応
      12              :         Code      string    `json:"code" gorm:"column:code;size:32;not null;unique"`
      13              :         SortOrder uint8     `json:"sort_order" gorm:"column:sort_order;not null;default:0"`
      14              :         IsActive  bool      `json:"is_active" gorm:"column:is_active;not null;default:true"`
      15              :         CreatedAt time.Time `json:"created_at" gorm:"column:created_at;autoCreateTime"`
      16              :         UpdatedAt time.Time `json:"updated_at" gorm:"column:updated_at;autoUpdateTime"`
      17              : }
      18              : 
      19              : // TableName は GORM 用の明示的なテーブル名指定。
      20              : // (GORM のデフォルト規則では複数形にされるが、明示しておくと安全)
      21            0 : func (Gender) TableName() string {
      22            0 :         return "genders"
      23            0 : }
      24              : 
      25              : // GenderMaleID◯◯ は genders テーブルの ID を表す定数です。
      26              : // マジックナンバーを避けるために、性別 ID を参照する箇所ではこれらを利用します。
      27              : const (
      28              :         // GenderMaleID は code=home の Gender のIDです。
      29              :         GenderMaleID uint8 = 1
      30              : 
      31              :         // GenderFemaleID は code=home の Gender のIDです。
      32              :         GenderFemaleID uint8 = 2
      33              : 
      34              :         // GenderOtherID は code=home の Gender のIDです。
      35              :         GenderOtherID uint8 = 3
      36              : )
      37              : 
      38              : // GenderMaleCode◯◯ は genders テーブルの code を表す定数です。
      39              : // バリデーションや分岐で code を扱う場合には、文字列リテラルではなくこれらを利用します。
      40              : const (
      41              :         // GenderMaleCode は code=home 用途を表す code です。
      42              :         GenderMaleCode = "male"
      43              : 
      44              :         // GenderFemaleCode は code=female 用途を表す code です。
      45              :         GenderFemaleCode = "female"
      46              : 
      47              :         // GenderOtherCode は code=other 用途を表す code です。
      48              :         GenderOtherCode = "other"
      49              : )
        

Generated by: LCOV version 2.3.1-1