package entity

import (
	"context"
	"gorm.io/gorm"
	"yx-dataset-server/app/schema"
)

// GetLoginHistoryDB 获取LoginHistory存储
func GetLoginHistoryDB(ctx context.Context, defDB *gorm.DB) *gorm.DB {
	return getDBWithModel(ctx, defDB, LoginHistory{})
}

// SchemaLoginHistory LoginHistory对象
type SchemaLoginHistory schema.LoginHistory

// ToLoginHistory 转换为LoginHistory实体
func (a SchemaLoginHistory) ToLoginHistory() *LoginHistory {
	item := &LoginHistory{
		RecordID: a.RecordID,
	}
	return item
}

// ToSchemaLoginHistory 转换为LoginHistory对象
func (a LoginHistory) ToSchemaLoginHistory() *schema.LoginHistory {
	item := &schema.LoginHistory{
		RecordID: a.RecordID,
	}
	return item
}

// LoginHistory LoginHistory实体
type LoginHistory struct {
	gorm.Model
	RecordID string
}

// LoginHistorys LoginHistory列表
type LoginHistorys []*LoginHistory

// ToSchemaLoginHistorys 转换为LoginHistory对象列表
func (a LoginHistorys) ToSchemaLoginHistorys() []*schema.LoginHistory {
	list := make([]*schema.LoginHistory, len(a))
	for i, item := range a {
		list[i] = item.ToSchemaLoginHistory()
	}
	return list
}
